Документация Sync1C - содержание


Заказы / НастройкиДляЗаказов.xml

1. Создание и редактирование файла

Файл НастройкиДляЗаказов.xml находится в том же каталоге, что и Конфиг.xml, и содержит настройки для обработки заказов. Его автоматически создаёт сама программа, и пытается сразу заполнить подходящими значениями. Но если этот файл уже существует - программа в нём ничего не меняет, и использует те настройки, которые там заданы. Поэтому работа с файлом происходит так:

  1. Дать программе создать и первоначально заполнить файл.
  2. Редактировать файл, внося нужные изменения.

Обращение к файлу НастройкиДляЗаказов.xml происходит при нажатии кнопки "Сравнить данные с сайтом", и при нажатии кнопки "Обработать отмеченные заказы". Каждый раз программа загружает настройки из файла заново. Это позволяет редактировать файл, и тут же проверять, что получилось. Примерно так:

  • нажали кнопку "Обработать отмеченные заказы"
  • получили ошибку: не хватает какого-то значения
  • задали это значение в НастройкиДляЗаказов.xml, сохранили файл
  • нажали кнопку "Обработать отмеченные заказы"
  • получили следующую ошибку
  • и т.д.

По-моему такой процесс очень удобный, настройка занимает буквально пару минут. Редактировать файл можно в любом текстовом редакторе, даже Блокнот, но лучше использовать что-то более серьёзное. Лично я использую Notepad++, и вам рекомендую.

2. Быстрая настройка

Совсем необязательно детально разбираться в файле НастройкиДляЗаказов.xml, чтобы быстро подготовить его к работе. Рассмотрим, как это происходит, на примере демонстрационной базы "Управление торговлей 11.4".

Включив обработку заказов в Конфиг.xml, после сравнения с сайтом получим вкладку "Заказы" с новыми заказами. Нажмём кнопку "Обработать отмеченные заказы". Получаем ошибку:

Ошибка "не задано значение свойства Организация для НовыйДокументЗаказ"

Смотрим файл НастройкиДляЗаказов.xml, он уже создан. НовыйДокументЗаказ - это раздел в базовых настройках, а Организация - это свойство в прототипе в этом разделе:

Фрагмент файла НастройкиДляЗаказов.xml с незаполненным свойством Организация в разделе Прототип в разделе НовыйДокументЗаказ

Как видите - действительно, значение для организации не задано. Дело в том, что в демонстрационной базе несколько организаций, и Sync1C не знает, какую из них надо использовать для обработки заказов. Если у вас всего одна организация - тогда программа сама её сюда подставит при создании файла НастройкиДляЗаказов.xml, и у вас будет другая ошибка. Впрочем, нам сейчас главное - уловить общий принцип.

В 1С перейдём в раздел "Продажи" / "Оптовые продажи" / "Заказы клиентов", нажмём "Создать", чтобы создать новый заказ, и попросим бухгалтера его заполнить, чтобы получился образец для новых заказов с сайта. Или спросим, какой существующий заказ можно использовать как образец. Или просто откроем последний заказ:

Документ "Заказ клиента", который будет использоваться как образец

Скопируем оттуда организацию:

Фрагмент НастройкиДляЗаказов.xml с заполненной организацией

Не закрывая, сохраним файл НастройкиДляЗаказов.xml, и снова нажмём "Обработать отмеченные заказы". Ошибка стала уже другая:

Ошибка "не задано значение свойства Склад для НовыйДокументЗаказ"

Очевидно, что теперь надо из образца скопировать склад "Центральный склад" в свойство "Склад". Затем опять нажать "Обработать отмеченные заказы", и так далее. Думаю, принцип вы поняли, теперь рассмотрим, какие ещё могут быть ошибки:

в настройках заказов не задано значение свойства Организация для НовыйДоговорПокупателя

С документом "Заказ клиента" программа справилась, теперь она пытается создать в 1С нового покупателя, для него надо создать договор, а в прототипе договора не указана организация. Надо просто опять скопировать организацию, только теперь не в НовыйДокументЗаказ, а в НовыйДоговорПокупателя.

Ошибка: {ВнешняяОбработка.Sync1C.Форма.Форма.Форма(6406)}: {ВнешняяОбработка.Sync1C.Форма.Форма.Форма(6502)}: В прототипе для НовыйДокументЗаказ_УслугаДоставка не задана номенклатура

Доставка: код: "flat.flat", метод: "Доставка с фиксированной стоимостью"

Это уже интереснее. Кстати, это сообщение я скопировал с вкладки "Протокол", а там оно, как видите, начинается с указания места возникновения ошибки. В данном случае - указано даже 2 места, строка 6406, и строка 6502. Не обращайте на эту информацию внимание, просто у меня с 1С немного разные взгляды на обработку исключений. Ничего серьёзного, но вот бывают небольшие накладки.

Так вот. Сообщение говорит о том, что не задана номенклатура в секции НовыйДокументЗаказ_УслугаДоставка:

Фрагмент файла НастройкиДляЗаказов.xml с незаполненным свойством Номенклатура в разделе Прототип в разделе НовыйДокументЗаказ_УслугаДоставка

Но дополнительно в ошибке ещё указано, какой способ доставки выбран в этом заказе: какой у него код, и как выглядит название метода. Дело в том, что для разных способов доставки бывает нужно использовать разные услуги в 1С. Это описывается в следующей главе, а дополнительная информация (код и метод доставки) помогают это настроить.

Сейчас пока можно использовать одну общую услугу для всех методов. Выберите подходящую услугу в справочнике номенклатуры, или создайте новую - допустим, назовите её "Доставка товаров интернет-магазина". Как обычно, скопируйте название услуги в свойство Номенклатура секции НовыйДокументЗаказ_УслугаДоставка.

Вскоре все ошибки будут таким образом исправлены, и в 1С создадутся документы для обработанных заказов:

Документ "Заказ клиента", созданный модулем Sync1C

Это уже вполне рабочий документ. Разумеется, с ним ещё должен поработать менеджер, что-то дозаполнить, возможно - позвонить клиенту, что-то уточнить и т.д. Но неплохую заготовку заказа мы получили.

Однако, тут есть ещё куда совершенствоваться. Обратите внимание: в поле "Оплата" написано: "К оплате, этапы не указаны". Кликните эту ссылку - откроется окно "Правила оплаты":

Окно "Правила оплаты" для заказа клиента

Там в поле "График оплаты" выберите подходящее вам значение. Например, "Предоплата (любая)". Скопируйте его в прототип для НовыйДокументЗаказ, в свойство ГрафикОплаты.

Теперь неплохо бы снова обработать этот заказ, чтобы посмотреть, что получится. Зайдите в админку сайта, и поменяйте у этого заказа статус на предыдущий, чтобы программа снова загрузила его с сайта. Затем выполните сравнение с сайтом, и этот заказ снова появится на вкладке "Заказы", его снова можно будет обработать, и посмотреть, какой теперь документ получился.

Лайфхак: когда вам надоест всё время заходить в админку сайта, и менять статус на предыдущий - добавьте в Конфиг.xml параметр ОбрабатыватьЗаказыСоСтарымСтатусом, он описан здесь: Настройки / Дополнительные / Настройки для заказов. Тогда можно будет обрабатывать заказ снова и снова, устанавливая ему старый статус.

К этому моменту вы уже волей-неволей немного разобрались в работе файла НастройкиДляЗаказов.xml, и в прототипах объектов 1С, которые в нём описаны. Помимо прототипа, у объектов могут быть и другие свойства. Например, у НовыйДокументЗаказ есть свойство ПроводитьДокумент, которое указывает - надо ли сразу пытаться провести документ, или нет. Бывает, что надо отключить проведение, а вместо этого только создавать документы. Название свойства логичное и понятное, так ведь?

Вообще, я старался сделать НастройкиДляЗаказов.xml максимально понятным, чтобы и мне самому не надо было лезть в документацию, если что-то забуду, и вам было легко. Разумеется, названия реквизитов объектов придумывал не я, это делали программисты в фирме 1С, но они обычно вполне понятные. Вы можете смело задавать значения другим реквизитам, менять их, как вам надо, до тех пор, пока не получите такой документ, который вас полностью устроит. То же самое относится и к другим создаваемым программой объектам - контрагентам, договорам, и т.д. Ну, а если что-то не будет получаться - пишите мне, помогу.

3. Обзор файла

Файл НастройкиДляЗаказов.xml состоит из нескольких секций:

  • ОбщиеПараметры - параметры, относящиеся к обработке заказов "в целом", не привязанные к отдельным объектам конфигурации.
  • БазовыеНастройки - основные настройки создаваемых для заказов объектов конфигурации.
  • УточнениеНастроек - дополнительные секции, уточняющие БазовыеНастройки для конкретных методов оплаты и доставки. Подробнее.

3.1 Секция ОбщиеПараметры

  • СтатусыСоздающиеДокументЗаказ - список названий статусов, через запятую. Если при обработке заказа планируемый статус входит в этот список, то будет создан документ-заказ в 1С.
  • КодМетодаДоставкиСамовывоз - код, который на сайте задан самовывозу, в контроллере метода. Насколько я знаю - этот код всегда "pickup.pickup". Вам ничего с ним делать не надо.

3.2 Секция БазовыеНастройки

Здесь задаются свойства для объектов (документов и элементов справочников), которые программа создаёт в базе 1Спри обработке заказа. В основном это прототипы, но бывают и другие свойства.

По названию секции должно быть понятно, к какому объекту она относится: <НовыйДокументЗаказ>, НовыйКонтрагент, НовоеКонтактноеЛицоПартнера, НовыйДоговорПокупателя... Ведь понятно, да?

Если секция относится к табличной части, то название объекта табличной части отделяется подчеркиванием: НовыйДокументЗаказ_Товар, НовыйДокументЗаказ_УслугаДоставка. Понятно, что НовыйДокументЗаказ_Товар относится к строке таблицы товаров в заказе. А НовыйДокументЗаказ_УслугаДоставка может относится к строке в таблице "Услуги" (если такая таблица есть в вашей конфигурации 1С), или же опять-таки к строке в таблице товаров, которая описывает не товар, а услугу доставки.

Свойство Активно в секции НовыйДокументЗаказ_УслугаДоставка позволяет отключить добавление услуги доставки в перечень товаров и услуг.

В секции НовыйКонтрагентНовыйПартнер, если у вас УТ 11) есть интересная подсекция ВидыКонтактнойИнформации. Она описывает, какие виды контактной информации должна использовать программа при создании контактной информации. Дело в том, что справочники видов контактной информации в разных конфигурациях 1С отличаются друг от друга, и не всегда понятно, как лучше состыковать это с информацией сайта. Поэтому здесь можно настроить нужное соответствие.

Настройки <ДляФизлица> относятся к случаю, когда в заказе на сайте не указана организация (компания), а настройки <ДляКомпании> - соответственно, к случаю, когда компания указана. Настройки <ЕслиЗаданоДваАдреса> используются, если в заказе на сайте заданы оба адреса - и платежный, и адрес доставки, а настройки <ЕслиЗаданОдинАдрес> - если задан только один из адресов.

Секция <НовыйТоварССайтаПоНаименованию> предназначена для режима работы "только заказы". Это особый режим работы, подробнее здесь: Настройки / Дополнительные / Режим только заказы. Секция задаёт прототип для элементов справочника номенклатуры, создаваемых в этом режиме.

3.3 Секции УточнениеНастроек

Эти секции позволяют изменять базовые настройки (заданные в секции <БазовыеНастройки>) на другие, в зависимости от выбранных в заказе способов доставки и оплаты. Подробнее - в следующей главе.

 


Далее: Заказы / Уточнение настроек заказов для разных способов оплаты и доставки
Обратно: Заказы / Обработка заказов
Документация Sync1C - содержание