Организация обмена с базой филиала (розничного магазина) в торговой сети через XML (универсальный обмен)

Публикация № 786319

Учет и отчетность - Розничная торговля

обмен данными

В статье по шагам рассматривается создание обмена между центральной базой и базами филиалов на базе конфигурации УТ 11. Для решения поставленной задачи было решено не использовать РИБ, т.к. требуется односторонний обмен ограниченным набором данных, к тому же по определенным условиям. Обмен реализован на основе типовой синхронизации на основе универсального обмена в формате EnterpriseData. Данная публикация может быть полезна внедренцам, которые работают с торговыми сетями, в том числе по модели франчайзинга.

Исходная задача

Возникла необходимость настроить обмен между базами 1С центрального компании и торговых филиалов. РИБ не подошел, из-за чувствительности к изменениям конфигурации, особенно к динамическим обновлениям. А также из-за того, что требуется обмен по определенным правилам: вся информация должна идти в одну сторону - из центра в филиал. Т.е. если кто-то изменит в базе филиала справочник номенклатуры случайно, это не должно попадать в центральную базу.

Из центральной базы в филиал выгружаются:

  • каталог товаров,
  • цены только по некоторым видам цен,
  • заказы из интернет-магазина.

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

На основе этих требований было решено попробовать обмен через формат EnterpriseData.

Краткая справка по обмену в формате EnterpriseData

  1. Список объектов (справочники, документы и т.д.) к выгрузке ведется с помощью плана обмена. Создание плана обмена
  2. Автоматическая регистрация объектов в плане обмена отключается, регистрация производится в подписках на события записи в соответствии с логикой, заложенной программистом (следующий пункт). За эту функциональность отвечает модуль ОбменДаннымиСобытия.
  3. В план обмена добавляется макет в виде XML-файла с так называемыми правилами регистрации, которые определяют логику выгрузки и фильтрации объектов при выгрузке на узел. К сожалению, для всех узлов плана обмена используются одни и те же правила регистрации, даже их грузить из внешнего файла (такая возможность есть). Поэтому нельзя реализовать разную логику регистрации объектов для обмена с филиалом и Бухгалтерией, именно поэтому мы вынуждены создавать отдельный план обмена. Создание правил регистрации
  4. Выгрузка осуществляется типовым модулем ОбменДаннымиXDTOСервер, который формирует XML-файлик выгрузки. Для формирования файлика нужно иметь:
    1. Правила конвертации в виде программного модуля специальной структуры. Например, типовой модуль МенеджерОбменаЧерезУниверсальныйФормат (лучше туда не смотреть, там больше 50000 строк). Создание правил конвертации
    2. XTDO-пакет. Создание таких пакетов - это вообще что-то очень сложное, и нас сейчас не нужно, мы будем пользоваться типовым пакетом EnterpriseData_1_3_8
  5. Полученный XML-файлик превращается в данные в базе-приемнике с помощью этих же модулей.
  6. Настройки синхронизации хранятся в регистрах. Настройка синхронизации

Полный код описанных доработок можно скачать тут.

Модуль менеджера обмена - это модуль конфигурации 1С, который собственно реализует правила конвертации для обмена. Будет располагаться во внешней обработке, которую мы будем подключать к узлу плана обмена.

ПКС - правила конвертации свойств

Создание плана обмена

Для удобства создадим подсистему "ECom_ОбменСФилиалами". Все новые объекты будем добавлять в эту подсистему. Изменения в типовые модули будем выносить в расширение (при подключении расширения надо будет снять галочки "безопасный режим", т.к. будут затрагиваться серверные модули).

Копируем план обмена "СинхронизацияДанныхЧерезУниверсальныйФормат", называем новый план обмена "ECom_ОбменСФилиалами".

В настройках состава плана обмена делаем Действия - Выключить все, а потом добавляем справочники:

  • ВидыЦен
  • Номенклатура

и документы:

  • ЗаказКлиента
  • УстановкаЦенНоменклатуры

Авторегистрацию отключаем.

Заходим в модуль менеджера. В процедуре ДоступныеВерсииФорматаОбмена необходимо изменить название плана обмена в запросе.

Также удобно добавить возможность отладки модуля менеджера обмена (внешней обработки), как это сделать, описано тут:

https://forum.infostart.ru/forum15/topic165732/

Процедура ПриПолученииОписанияВариантаНастройки определяет, как наш план обмена обмена будет появляться в меню настройки синхронизации.

 
 Процедура ПриПолученииОписанияВариантаНастройки
Процедура ПриПолученииОписанияВариантаНастройки(Настройки, ИдентификаторНастройки = "") Экспорт

Настройки.ПредупреждатьОНесоответствииВерсийПравилОбмена = Истина;
Настройки.ПутьКФайлуКомплектаПравилНаПользовательскомСайте = "https://users.v8.1c.ru/distribution/project/Trade110";
Настройки.ПутьКФайлуКомплектаПравилВКаталогеШаблонов = "\1c\trade";

Настройки.Вставить("ЗаголовокКомандыДляСозданияНовогоОбменаДанными", НСтр("ru = 'Обмен с филиалами'"));
Настройки.Вставить("ЗаголовокПомощникаСозданияОбмена", НСтр("ru = 'Обмен с филиалами'"));
Настройки.Вставить("ЗаголовокУзлаПланаОбмена", НСтр("ru = 'Обмен с филиалами'"));
Настройки.Вставить("ЭтоПланОбменаXDTO", Истина);

КонецПроцедуры

 

А также необходимо в общем модуле ОбменДаннымиУТУП в процедуре СписокПлановОбмена добавить наш план обмена

ПланыОбменаПодсистемы.Добавить(Метаданные.ПланыОбмена.ECom_ОбменСФилиалами);

Перед непосредственной настройкой обмена необходимо создать правила регистрации (см. далее), и загруизть их в макет "ПравилаРегистрации", иначе при создании узла УТ-шка будет ругаться на несоответствие имени плана обмена в правилах регистрации.

В результате появится возможность настраивать обмен по нашему плану обмена:

Чтобы запускать обмен типовыми средствами необходимо еще в общих командах

  • НастройкиПодключения
  • Синхронизировать
  • СоставОтправляемыхДанных

В свойстве "Тип параметра" отметить наш план обмена

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

Копируем типовые подписки на события:

  • СинхронизацияДанныхЧерезУниверсальныйФорматРегистрация
  • СинхронизацияДанныхЧерезУниверсальныйФорматРегистрацияДокумента

Указываем наши объекты, входящие в состав нашего плана обмена.

Копируем типовой модуль ОбменДаннымиСобытияУТ, в полученном модуле  в процедурах меняем имя плана обмена с СинхронизацияДанныхЧерезУниверсальныйФормат на наш ECom_ОбменСФилиалами.

В созданных подписках указываем обработчики - процедуры из нашего нового модуля.

Также добавим в этот модуль функцию ЭтоЦентральнаяБаза(), которая нам потребуется в дальнейшем. Признаком центральной базы будем считать код узла, соответствующего текущей базе ("этот узел"), равным "ЦБ".

 
 Функция ЭтоЦентральнаяБаза() Экспорт

Т.к. эта функция будет вызываться постоянно, необходимо ее закэшировать с помощью модуля повторного использования.

Создание правил регистрации

Для создания правил регистрации нам потребуется конфигурация Конвертация Данных v2.

Я для изучения вопроса использовал вот эту статью:

http://helpme1c.ru/uchebnik-po-1s-konvertacii-dannyx-redakciya-2-pravila-registracii-obektov

С помощью обработки MD83Exp.epf, входящей в состав поставки Конвертации 2, необходимо выгрузить структуру нашей конфигурации в файл.

Затем необходимо загрузить полученную структуру конфигурации в Конвертацию 2.

Создаем правила регистрации.

Выбираем нашу конфигурацию и наш план обмена.

И заходим в настройку правил регистрации.

Создаем правила регистрации для наших объектов:

Т.к. мы хотим, чтобы у нас был односторонний обмен (только из центра в филил), в настройку правил по каждому объекту надо добавить в обработчик "Перед обработкой" наш фильтр:

Отказ = Не ECom_ОбменДаннымиПовтИсп.ЭтоЦентральнаяБаза();

На "Заказ клиента" накладываем дополнительный фильтр по организации и по дате начала выгрузки:

Для документа "Установка цен номенклатуры" так же добавляем отбор по дате. Плюс к этому в обработчик "При обработке" добавляем фильтр по виду цен.

ИспользоватьКэш = Ложь;

ВидыЦен = Объект.ВидыЦен.ВыгрузитьКолонку("ВидЦены");

ПараметрыЗапроса.Вставить("ВидыЦен", ВидыЦен);

ТекстЗапроса =
"ВЫБРАТЬ
|    ECom_ОбменСФилиалами.Ссылка КАК Ссылка
|ИЗ
|    ПланОбмена.ECom_ОбменСФилиалами.ВидыЦенНоменклатуры КАК ECom_ОбменСФилиаламиВидыЦенНоменклатуры
|        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланОбмена.ECom_ОбменСФилиалами КАК ECom_ОбменСФилиалами
|        ПО ECom_ОбменСФилиаламиВидыЦенНоменклатуры.Ссылка = ECom_ОбменСФилиалами.Ссылка
|            И (ECom_ОбменСФилиаламиВидыЦенНоменклатуры.ВидЦенНоменклатуры В (&СвойствоОбъекта_ВидыЦен))
|            И (ECom_ОбменСФилиалами.ЭтотУзел = ЛОЖЬ)"
;

Этот обработчик с помощью запроса позволяет определить список узлов, в которых будет произведена регистрация объекта. Почему-то хотя наш параметр запроса называется "ВидыЦен", в запросе мы должны писать "СвойствоОбъекта_ВидыЦен".

На справочник "Виды цен" также накладываем фильтр:

Сохраняем правила регистрации во внешний файл:

Полученный XML-файл необходимо загрузить в макет "Правила регистрации" нашего плана обмена:

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

Правила конвертации

Для создания правил конвертации нам потребуется конфигурация Конвертация Данных v3. Лучше пользоваться чистой базой. Например, разрабатывая конвертацию для формата данных EnterpriseData 1.3, для некоторых объектов почему-то требовалось задавать реквизиты (ПКС), не являющиеся казалось бы обязательными. Оказалось, что они обязательны в версии 1.2, и простое наличие в базе Конвертации загруженного описания этого формата уже сбивало логику работы программы. Поэтому берем чистую базу, и грузим в нее все "с нуля".

Очень здорово работа с конвертацией 3.0 описана тут:

//infostart.ru/public/695523/

Загружаем структуру конфигурации из файла, выгруженного ранее (в Конвертации 2).

Выгружаем из УТ 11 XDTO-пакет EnterpriseData_1_3_8 в файл

Загружаем полученный файл в Конвертацию 3

Создаем конвертацию

Версия формата менеджера обмена указывается в зависимости от конфигурации. Например для УТ 11.3 это "1", для УТ 11.4 - "2".

Что такое конвертация? Для выгрузки и загрузки объекта нам нужно:

  1. Правило отправки данных - тут мы можем накладывать фильтр на объекты и применять разные правила конвертации (например, для папок номенклатуры и элементов указываются разные правила конвертации из-за разного набора реквизитов)
  2. Правило конвертации "из 1С в XML" - тут данные 1С преобразуются в данные формата EnterpriseData (например, можно документ "Реализация" сконвертировать в документ "Поступление")
  3. Правило конвертации "из XML в 1С"
  4. Правило получения данных

Если объект участвует в плане обмена - для него обязательно необходимо создать правило отправки данных. В нашем случае это:

  • Виды цен
  • Номенклатура
  • Заказ клиента
  • Установка цен номенклатуры

Как себя будут вести реквизиты этих объектов ссылочного типа? Например, реквизит "Организация". У каждого "объектных" типов в формате EnterpriseData (например, Справочник.Контрагенты) есть так называемые ключевые свойства. Так вот, когда мы выгружаем заказ, в правилах конвертации мы указываем реквизит "Организация". При выгрузке этого реквизита выгружаются и его ключевые свойства. Мы не будем создаваться создавать правила отправки для справочника "Организации", потому что эти данные в работающей системе меняются крайне редко, мы просто пропишем алгоритм, который при получении заказа правильно подставит уже существующую в базе филиала организацию.

Итак, правила отправки мы пишем для часто меняющихся объектов, "статичные" же объекты мы лучше однократно (и повторно при необходимости) выгрузим через универсальную выгрузку-загрузку.

Создаем правило конвертации для отправки номенклатуры.

Настраиваем "правила конвертации свойств". Суть в чем. EnterpriseData - это структура данных, по сути та же конфигурация 1С. Только скажем так чуть более упрощенная и универсальная. Она должна подходить для разных конфигураций 1С, поэтому состав и название объектов отличается от УТ 11. Поэтому нам нужно прописать соответствие - как реквизиты называются в УТ11, и как в EnterpriseData. Есть так называемые "ключевые свойства" - это обязательные реквизиты для данной версии формата. Их можно посмотреть в "Дереве объектов формата":

Итак, указываем правила конвертации свойство для номенклатуры:

Как видим, у нас появилось несколько реквизитов "сложного" типа, для них также необходимо создать "Правила конвертации объектов", иначе в при выгрузке будет выходить такое сообщение в ошибках: "Структура объекта '/ЕдиницаИзмерения' не соответствует типу".

Правила конвертации для перечислений, и прочих предопределенных (в конфигураторе) данных создаются на вкладке:

Для этих (и некоторых других) данных удобно, чтобы правило работало сразу и отправку, и на получение.

Указываем созданные правила в ПКС для номенклатуры:

Теперь создадим правило конвертации для "Заказа клиента".

Добавим правила конвертации для табличной части "Товары". Для начала укажем соответствие реквизитов в ПКС. Необходимо проставить галочку "Используется алгоритм", т.к. значения табличной части будут формироваться не "сами", нужно еще написать небольшой алгоритм. При использовании алгоритма нам не обязательно указывать реквизиты объекта из 1С, т.к. значения для выгрузки в файл XML все равно будут формироваться алгоритмом. Необходимо также указывать правило конвертации свойства для "сложных" типов.

Теперь нужно добавить алгоритм заполнения табличной части в обработчик "При отправке".

 
 Текст обработчика "При отправке"

 

В правилах конвертации при получении заказа нужно прописать алгоритм, который выполняет обратную операцию

 

Алгоритм заполняет ПолученныеДанные.ДополнительныеСвойства.Товары, которые потом автоматически записываются в табличную часть "Товары" загружаемого объекта.

 
 Текст обработчика "При конвертации данных XDTO"

 

Теперь реализуем такой механизм обмена контрагентами (покупателями): при загрузке заказа в базу филиала ищем существующего клиента по телефону (например, клиент что-то купил в филиале, зарегистрировался, а потом решил приобрести что-то в интернет-магазине, и заказ попал в центральную базу). Если клиент по телефону найден, то подставляем в заказ его, если же нет - создаем нового. Для этого нам необходимо будет вмести с заказом передавать номер телефона клиента. В типовые поля заказа в формате EnterpriseData телефон не входит, чтобы его передать, можно воспользоваться полем AdditionalInfo, куда можно записывать дополнительную информацию. Мы будем передавать дополнительную информацию в виде структуры с необходимыми полями. Через AdditionalInfo можно передавать и структуры, и таблицы значений. В обработчик "При отправке" в правила конвертации заказа при отправке

 

добавляем код:

 
 Текст обработчика "При отправке"

 

Соответственно, в обработчик "При конвертации данных XDTO" в найстройку конвертации при получении

 

Добавляем код:

 
 Текст обработчика "При конвертации данных XDTO"

 

В выгрузке цен номенклатуры есть несколько интересных моментов:

 

  • документ установки цен может содержать несколько видов цен, а нам нужно выгружать только те, которые подпадают под фильтр.
  • В формате EnterpriseData документ "Установка цен номенклатуры" имеет только один тип цен. Т.е. один документ в 1С должен выгружаться как несколько объектов EnterpriseData.

Для реализации фильтра нам потребуется где-то хранить выгружаемые виды цен, установленные в настройках узла обмена. Для этого нам потребуются "Параметры конвертации":

А также обработка события "Перед конвертацией":

В правилах обработки данных для документа "Установка цен номенклатуры" нам необходимо отключить использование конвертации "в типовом" варианте, а вместо этого генерировать объект XDTO "на ходу":

Для этого мы обратимся напрямую к методу ОбменДаннымиXDTOСервер.ВыгрузкаОбъектаВыборки. Преобразуем документ в массив необходимых нам структур с одним типом цен, и уже каждую эту структуру отдельно выгрузим через правила конвертации. Выглядит, конечно, запутанно.

 
 Текст обработчика "При обработке"

 

В правило конвертации в ПКС необходимо добавить свойство "ТипЦен". При этом надо выбирать способ выбора свойств "Вручную".

 

Настройка синхронизации

Необходимо задать значение константы "Префикс информационной базы" - "ЦБ":

Создаем новую настройку синхронизации

Зададим в настройках фильтр по дате документов, организации, виду цен:

Чтобы подключить нашу внешнюю обработку, содержащую модуль менеджера обмена, необходимо в настройках формы указать отображение вкладки "служебная информация":

Создадим вторую чистую базу (для филиала) из cf-ника центральной базы. Также не забываем подключить наше расширение. При создании базы автоматически создаются справочники "Валюта" и "Единицы измерения". Чтобы при загрузке данных из центральной базы не произошло задвоение этих данных, необходимо в конвертации по этим справочникам идентификацию сделать не по UID, а по коду.

Префикс информационной базы задаем "ФЛ" и настраиваем синхронизацию, аналогично центральной базе.

Дополнительные файлы со сквозным примером.

Состав файлов, приложенных к данной статье:

  • cf-файл "Доп. объекты конфигурации.cf" для объединения с основной конфигурацией УТ 11, содержащий разработанный план обмена
  • cfe-файл с расширением конфигурации, для корректировки модулей конфигурации
  • xml-файл "Правила регистрации.xml"
  • epf-файл "МенеджерДемо.epf"

Порядок установки плана обмена. В конфигураторе запускаем операцию сравнения и объединения с "Доп. объекты конфигурации.cf". Снимаем галочки со всех объектов:

Выбираем "Действия - отметить по подсистемам файла", отмечаем только "ECom_ОбменСФилиалами"

На предупреждение про неразрешимые ссылки отвечаем "Продолжить".

Добавляем расширение из файла "ECom_ОбменДаннымиСФилиалами.cfe", снимаем галочки про безопасность:

Для корректировки правил регистрации вложенный файл "Правила регистрации.xml" можно загрузить в Конвертацию 2. Предварительно необходимо загрузить структуру конфигурации, как описано выше.

 

Для корректировки правил конвертации вложенный файл "МенеджерДемо.epf" можно загрузить в Конвертацию 3. Предварительно необходимо создать описание конвертации, как описано тут.

Дополнение 25.06.2020.

В версии УТ 11.4.11 необходимо добавить запись в регистр сведений "Общие настройки узлов информационных баз".

Скачать файлы

Наименование Файл Версия Размер
Обмен УТ11 с базой филиала (розничного магазина) через XML в формате EnterpriseData

.zip 134,78Kb
13
.zip 134,78Kb 13 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. yarsort 27.02.18 15:03 Сейчас в теме
Хорошая статья! Спасибо.
3. ZOMI 433 27.02.18 18:52 Сейчас в теме
Эта публикация висит рядом со статьей "Ад своими руками" и, собственно, могла бы называться так же....
Жуть какая-то. В корне неверный подход.
paybaseme; Aprobator; Stim213; Shrayky2; LavinVadik; +5 Ответить
5. Kutuzov 662 27.02.18 23:10 Сейчас в теме
(3) Про ад шутка понравилась :) По поводу подхода - вы хоть намекните, какой путь является более верным?
Gang031; kadild; one.sable; maxopik2; leks88; +5 Ответить
4. ksnik 400 27.02.18 20:28 Сейчас в теме
(3), практика создания обмена в EnterpriseData является несомненным прогрессом по сравнению с кассовыми решениями на основе механизма Распределенная БД (УРИБ, УРБД) 8, который не надежен и недопустимо стопорит работу торгового предприятия во время обновления конфигурации, чреват задержками с безальтернативной единовременной перекачкой больших объемов так называемых "сегментов (скидок, цен или номенклатуры)".
6. leks88 23 28.02.18 09:06 Сейчас в теме
Такой подробной инструкции еще нигде не видел! Плюс и в закладки!
maxopik2; +1 Ответить
7. Stim213 395 28.02.18 12:40 Сейчас в теме
Автор проделал огромную работу, но можно было все же проще.
Не нужно РИБ - ну так и не используйте его, используйте план обмена Полный.
Не нужна загрузка данных от подчиненного - отключите выгрузку в расписании у подчиненного или загрузите правила регистрации/обмена в подчиненный.
В конфигурациях на УФ есть правила обмена и правила корреспондента. т.е. правила, которыми в ЦБ будут обрабатываться полученные от узла данные - можно загружать непосредственно в ЦБ. Именно - загружать(типовой регистр сведений), а не добавлять как макет в конфигураторе.
Вашу задачу можно было решить полностью типовыми средствами
8. Kutuzov 662 28.02.18 15:16 Сейчас в теме
(7) План обмена "Полный" как раз относится к РИБ. И я пробовал через него реализовать эту задачу, но простыми методами "обрубить" не нужную информацию, и оставить только нужную не получилось. Например, передачу контрагентов как описано в задаче реализовать не вышло.
19. Vagner_Hate 61 12.09.18 19:24 Сейчас в теме
(8)А почему не воспользовать стандартным вариантом "Синхронизация данных через универсальный формат"? Там есть возможность отключить ненужное путем редактирования Правил регистрации объектов.
20. Kutuzov 662 12.09.18 22:39 Сейчас в теме
(19) Например потому, что для всех узлов этого плана обмена правила регистрации будут использоваться одинаковые, из регистра "Правила для синхронизации данных". А значит уже не получится наладить обмен с Бухгалтерией, например.
Прикрепленные файлы:
21. Vagner_Hate 61 13.09.18 02:26 Сейчас в теме
(20)Так, а что мешает на стороне Бух поставить свои правила? У вас прямой обмен или через какой-то промежуточный этап(каталог, ftp и тп)?
22. Kutuzov 662 13.09.18 07:29 Сейчас в теме
9. fieryfist 15 10.03.18 16:44 Сейчас в теме
Если в одной базе пометили на удаление элемент и сразу удалили (пометка удаления в другие базы не успела уйти), как в таком случае будет обработано удаление в других ИБ?
10. Kutuzov 662 12.03.18 01:13 Сейчас в теме
(9) В этом случае передается передается <УдалениеОбъекта>, но в рассматриваемом примере этот момент не отражен, и не проверялся.
11. Andreeei 12.04.18 09:07 Сейчас в теме
Полезная статья, спасибо.
16. manserg 104 20.07.18 12:07 Сейчас в теме
Автору большое спасибо за подробное описание проделанной работы.
Может кто сможет подсказать, как в КД 3 принудительно в получателе указать конкретный элемент справочника например "Склад"?
Но не в каждом документе а в правилах конвертации самих складов, чтобы при любом раскладе в любом документе получателя был всегда один конкретный склад.
Это необходимо для реализации подхода "Несколько складов источника" в "Один склад приемника".
Ранее в КД 2 это все решалось довольно просто через установку СсылкаНаОбъект в обработчике поиска а вот в КД 3 непонятно где и как это сделать.
Заранее благодарю за помощь.
17. Kutuzov 662 20.07.18 15:44 Сейчас в теме
(16) По этому вопросу написал небольшую статью. Она про свертку товаров, но аналогичный подход можно применить и к складам.
Свертка номенклатуры при выгрузке
18. manserg 104 20.07.18 23:56 Сейчас в теме
(17) Интересный подход, хотя мне нужно при получении подменять на конкретную ссылку, но Ваш вариант тоже пригодится, спасибо!
23. rozer 277 12.01.19 14:12 Сейчас в теме
Круто но с кд3 все дольше и сложнее, обычно поднимаю такие обмены синхро по правилам обмена кд2, вот видео https://youtu.be/pKcI2nMjWoU. В демо конфе БСП все также можно скопировать типовой план обмена. Обмен по кд2 гораздо гибче ED и не надо крячить XDTO если нет подходящего объекта и это особенного актыельно для самописок на базе БСП.
Оставьте свое сообщение

См. также

Проблема сопоставления товара при приемке маркированной продукции на примере обуви в конфигурации 1С:Розница

Оптовая торговля Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия УУ Абонемент ($m)

В статье описывается проблема сопоставления товара при приемке товаров маркированной продукции применительно к типовым конфигурациям на примере 1С:Розница.

1 стартмани

16.11.2020    1475    gzharkoj    3    

Работа с табачной продукцией в УТ 11.4

Оптовая торговля Розничная торговля v8::ОУ УТ11 Розничная и сетевая торговля (FMCG) Россия УУ Абонемент ($m)

Практическая работа с маркированным товаром - табачной продукцией (с изюминкой).

1 стартмани

28.09.2020    1620    zemskov    22    

Обход ошибки "Нет статуса" у акцизных марок при переходе в розницу с крепким алкоголем на остатках

Розничная торговля v8 Розница Россия УУ Абонемент ($m)

В связи с маркировкой табака и обуви приходится многих людей переводить на новую Розницу 2.3.3 и выше, но если человек имеет на остатках крепкий алкоголь, то при продаже такого товара вы увидите ошибку "Невозможно добавить алкогольную продукцию по причине: Статус: Нет статуса". В данной статье мы рассмотрим способ обхода данной проблемы, и импортируем марки из старой конфигурации.

1 стартмани

10.07.2020    2267    virusas    8    

Ошибка преобразования данных XDTO: Текст XML содержит недопустимый символ Промо

Практика программирования Обмен через XML v8 1cv8.cf Абонемент ($m)

Преобразование строкового значения к допустимому для XML. Типовое, нетиповое, RegExp.

1 стартмани

26.03.2013    84167    StepByStep    26    

Конвертация данных 2. Использование исходящих и входящих данных. Свойство "Получить из входящих данных"

Обмен данными 1С Перенос данных из 1C8 в 1C8 v8 КД Абонемент ($m)

Разработка правил обмена с использованием исходящих и входящих данных. В качестве примера рассмотрена реальная задача конвертации номенклатуры через регистр сопоставления номенклатур. Статья предназначена в первую очередь для тех, кто только начинает осваивать Конвертацию данных.

17.02.2020    17621    Drivingblind    31    

1С:Розница и алкоголь: ускоряем РМК при переходе к оплате

Розничная торговля Рабочее место v8 Розница Розничная и сетевая торговля (FMCG) Россия УУ Абонемент ($m)

При наличии в чеке акцизных марок алкогольной продукции наблюдаются некоторые зависания при переходе к оплате чека в 1С:Розница.

1 стартмани

29.01.2020    4072    RocKeR_13    34    

Перенос НМА и ОС при реорганизации с помощью документа "Ввод остатков" в Бухгалтерии 3

Учет ОС и НМА Бухгалтерский учет Перенос данных из 1C8 в 1C8 v8 v8::БУ БП3.0 БУ Абонемент ($m)

Цель материала – предложить методику автоматизации переноса остатков в конфигурации «Бухгалтерия предприятия, редакция 3.0» с помощью программного создания документа «Ввод остатков».

1 стартмани

17.10.2019    5866    muzipov    0    

Сохранение реквизитов и табличных частей объектов в XML Промо

Обмен через XML Универсальные функции v8 1cv8.cf Абонемент ($m)

Пример того, как можно сохранять и загружать объекты 1С методами встроенных объектов ЗаписьXML и ЧтениеXML.

1 стартмани

25.11.2011    22068    saiten    21    

Простая выгрузка данных в универсальном формате Enterprise Data

Обмен через XML v8::УФ Розница УНФ ERP2 ЗКГУ3.0 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

Пошагово разобран текст процедуры, позволяющей выгрузить произвольный набор объектов в формате Enterprise Data (конечно, если это позволяет конфигурация). Приложена обработка, позволяющая выгружать произвольные объекты, в том числе запросом или по данным журнала регистрации.

2 стартмани

26.08.2019    12780    Iyar    3    

Получение XML файла с SQL Server средствами ADODB

Обмен через XML v8 1cv8.cf Россия Абонемент ($m)

В статье описано, как получать XML файл, сгенерированный SQL Server, средствами ADODB. Обработка написана на обычных формах, тестировалась на платформе 8.12.1685.

1 стартмани

08.07.2019    2767    saver77    0    

Обмен с интернет-магазином на платформе DOCPART

WEB Оптовая торговля Розничная торговля Оптовая торговля Розничная торговля v8 1cv8.cf Абонемент ($m)

В настоящее время существует множество платформ для создания интернет-магазинов. Удобные и не очень, платные или бесплатные. У каждого решения найдутся свои сторонники, но наличие оперативного обмена с учётной системой важно для любой платформы. В этой публикации мы рассмотрим одну из популярных платформ для создания интернет-магазина по продаже автозапчастей Docpart и организацию обмена данными с ней.

10 стартмани

04.07.2019    5308    Johny_v    20    

Печать чеков на Меркурии 119Ф USB по сети

Фискальный регистратор Кассовые операции Оптовая торговля Розничная торговля Кассовые операции Оптовая торговля Розничная торговля v8 1cv8.cf Россия НУ Абонемент ($m)

Стандартный драйвер Меркурия 119Ф usb не позволяет осуществлять печать на фискальный регистратор с другого компьютера, поэтому был сделан простейший http сервер, который транслирует post запросы в вызовы методов com-объекта.

1 стартмани

06.06.2019    5527    philya    6    

XDTO для чайников

Обмен через XML v8 1cv8.cf Абонемент ($m)

Пример использования XDTO пакетов для выгрузки документа с табличной частью.

1 стартмани

29.05.2019    32090    HAMMER_59    39    

Отладка правил обмена КД2 для подсистемы БСП Обмен данными

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Абонемент ($m)

Уже давно нельзя отлаживать правила обмена при помощи внешних файлов. Попробуем исправить это.

1 стартмани

27.05.2019    12540    fenixnow    8    

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Практика программирования Внешние источники данных Обмен через XML WEB Разработка v8 1cv8.cf Абонемент ($m)

В этой статье мы рассмотрим путь и основные моменты создания небольшого вэб-сервиса, который мы называем "Онлайн Прайс-лист". Выгрузка из 1С, бэкенд, фронтенд, получение заказов в 1С.

1 стартмани

22.04.2019    34981    riposte    66    

Перенос данных с использованием XDTO

Обмен через XML v8 Россия Абонемент ($m)

Использование объекта типа "ОбъектXDTO" для переноса данных из одной конфигурации в другую

1 стартмани

21.04.2019    11533    axae    11    

EGAIS Scan - приложение для ТСД

Терминал сбора данных Мобильная разработка Оптовая торговля Розничная торговля Учет ТМЦ Оптовая торговля Розничная торговля Учет ТМЦ v8 УТ10 УПП1 УТ11 КА2 Россия УУ Абонемент ($m)

Каждый, кто занимается торговлей алкогольной продукцией, сталкивался с проблемами сканирования акцизных марок и трудностями при взаимодействии с учетной системой 1С. Приложение EGAIS Scan - простое и оптимальное решение для выполнения быстрой приемки и отгрузки алкогольной продукции.

1 стартмани

17.04.2019    5487    MrChe    3    

[EnterpriseData] Антисвертка характеристик номенклатуры при выгрузке в Бухгалтерию

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 v8::ПВХ КД УНФ БП3.0 Россия БУ Абонемент ($m)

Рассмотрена выгрузка каждой пары значений Номенклатура - Характерстика из УНФ 1.6 в отдельную номенклатуру в Бухгалтерию 3.0 путём доработки правил обмена в формате EnterpriseData.

1 стартмани

27.03.2019    4951    nforce    6    

Подключение ТСД через MobileLogistics 8.Х на примере Opticon SMART и создание простого расширения для выгрузки остатков

Розничная торговля Терминал сбора данных Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) Россия УУ Абонемент ($m)

В статье рассмотрен процесс подключения терминала сбора данных в конфигурацию 1С:Розница редакции 2.2 при помощи драйвера "АТОЛ:Терминалы сбора данных MobileLogistics 8.Х" на примере ТСД Opticon SMART (CLK-3000) и написание расширения для корректной выгрузки остатков. Типовая обработка от 1С остатки не выгружает. Материал ориентирован на новичков в сфере подключения торгового оборудования / написании расширений.

1 стартмани

07.03.2019    18725    1c.pro.fun    22    

Обмен без правил. От простого к сложному

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Абонемент ($m)

Пишем обмен с нуля, разбираемя с разными способами сериализации, учимся редактировать XML документы, создаем XDTO и Web service, осваиваем Script variant - English.

1 стартмани

16.01.2019    25421    nbeliaev    26    

Подключение онлайн касс (ФЗ-54) к старой 1С конфигурации УТ 10.2. Описание и реализация проекта

ККМ Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Статья предназначена в первую очередь начинающим 1С программистам, а также будет полезна знакомым с ИТ-спецификой управленцам, пред которыми встанет вопрос об интеграции новой онлайн кассы, работающей по ФЗ-54 со старой информационной системой. В статье изложен ряд возможных подходов к решению задачи и показана реализация оптимального в данном случае варианта. Здесь нет готового тиражного решения, с одной стороны это пример реализации как иллюстрация к тексту, а с другой это рабочая программа для случая описанного ниже и если ваш случай похож, то решение с минимальными затратами может быть адаптировано. Также я слегка приоткрыл «фрилансерскую кухню».

1 стартмани

28.11.2018    10883    Petr54-ru    20    

Способы оптимизации переносов данных

Перенос данных из 1C8 в 1C8 Интеграция v8 КД Абонемент ($m)

Хочу рассказать вам про способы оптимизации разработки правил обмена в программе «Конвертация данных» второй редакции. Казалось бы, про эту программу и разработку в ней правил конвертации уже сказано все, что можно. Появились уже более современные и быстрые технологии. Почему же все еще она? Дело в том, что «Конвертация данных» второй редакции все еще актуальна для огромного круга задач. Она имеет очень широкую функциональность и позволяет реализовывать сложные алгоритмы. Годы идут, а люди продолжают ей пользоваться и у них возникает много вопросов по этой программе. Возможно, в будущем вы тоже будете заниматься такими проектами и столкнетесь с задачами, похожими на те, про которые я собираюсь рассказать. Мне хочется вам в этом помочь.

1 стартмани

02.08.2018    17792    primat    7    

Свертка номенклатуры при выгрузке из Управления Торговлей 11 в Бухгалтерию 3.0

Обмен через XML v8 БП3.0 УТ11 БУ УУ Бесплатно (free)

Свертка номенклатуры при выгрузке из УТ 11 в Бухгалтерию 3. Используется типовой обмен на базе EnterpriseData

20.07.2018    10478    Kutuzov    3    

Весы МАССА-К ВПМ 15.2 - Т1. Путеводитель по настройке и подключению. Интеграция в 1С:Розница

Весы Розничная торговля Розничная торговля v8 Розница Абонемент ($m)

Самая подробная инструкция по подключению, настройке и интеграции весов МАССА - К ВПМ 15.2 - Т1 в 1С:Розница.

2 стартмани

12.07.2018    36864    user594264_e.sitnik    36    

Конвертация данных 2.1. Как реквизит справочника конвертировать в регистр сведений?

Перенос данных из 1C8 в 1C8 v8 КД Россия Абонемент ($m)

В публикации рассмотрен пример конвертации реквизита справочника в регистр сведений.

2 стартмани

28.06.2018    14475    wowik    0    

Работа с курьерами при продаже через интернет-магазин

Бухгалтерский учет Розничная торговля Розничная торговля v8 v8::ОУ УТ11 Розничная и сетевая торговля (FMCG) УУ Абонемент ($m)

Хочу рассказать о нашем опыте автоматизации работы с курьерами с помощью 1С Управление Торговлей 11. Как учитывать товар, выданный курьерским компаниям для доставки, и как видеть состояние взаиморасчетов с курьерками? Как учитывать продажи при доставке силами собственных курьеров, принимать оплату, и пробивать чеки ККМ.

1 стартмани

13.06.2018    17382    Kutuzov    7    

Вывод товаров в СКД как на весах в Ашане

Практика программирования Розничная торговля Розничная торговля v8::СКД 1cv8.cf Абонемент ($m)

Небольшая хитрость, которая позволяет выводить информацию на СКД плиткой.

2 стартмани

23.05.2018    14119    Kutuzov    14    

Как переходили с 7-ки на 8-ку. Пример небольшого розничного магазина

Перенос данных из 1С7.7 в 1C8.X Бухгалтерский учет Розничная торговля Ценообразование, анализ цен Розничная торговля Ценообразование, анализ цен v8 v77::ОУ 1С7:ТиС УТ11 Розничная и сетевая торговля (FMCG) УУ Абонемент ($m)

Пример проекта из нашей практики - перевод учета в небольшом розничном магазине с 1С v7 Торговля и Склад на 1С v8 Управление Торговлей. Какими инструментами пользовались, какие вопросы возникали на проекте.

1 стартмани

15.05.2018    16330    Kutuzov    15    

Ошибка в бонусной системе в типовой УТ11

Адаптация типовых решений Розничная торговля Розничная торговля v8 v8::ОУ УТ11 УУ Абонемент ($m)

При проведении нескольких розничных возвратов по одному клиенту по одному отчету о розничных продажах расчет бонусных баллов в типовой конфигурации выполняется некорректно. В данной статье рассмотрено исправление этой ошибки.

1 стартмани

10.05.2018    11639    Kutuzov    0    

Yep Cart. Пишем интернет-магазин на http-сервисах OneScript

Оптовая торговля Розничная торговля OneScript v8 УУ Абонемент ($m)

В статье описана демонстрационная конфигурация, реализующая простейший интернет магазин на http-сервисах OneScript, интегрированный с 1С:Предприятие.

1 стартмани

16.04.2018    16813    blackhole321    33    

Настройка и подключение кассы АТОЛ в 1С 8.3 ффд 1.05

ККМ Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 Розница БП3.0 УТ11 Россия Абонемент ($m)

Инструкция для подключения кассы по новому протоколу ффд 1.05.

1 стартмани

14.04.2018    137907    ZIGER666    156    

Заполнение справочника с изображениями элементами по умолчанию

Практика программирования Обмен через XML Универсальные функции v8 Абонемент ($m)

Пример одного из решений, как можно заполнить справочник с изображениями значениями по умолчанию включая сами изображения. Сами изображения взяты из программы MapSource 6.16.3. Данные для загрузки хранятся в макете в формате XML.

1 стартмани

26.03.2018    8782    Kim1C    0    

Пример заполнения/создания файла XML из XSD схемы, используя XDTO

Обмен через XML WEB v8 1cv8.cf Абонемент ($m)

Добрый день, коллеги! Наконец-то дошли руки написать сию статью. Хочу поделиться своим опытом по разбору xsd схемы используя Фабрику XDTO, а также связанным с этим XML файлом. Думаю, наверняка кому-то понадобится.

1 стартмани

21.12.2017    49046    sandybaev    25    

1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена)

Перенос данных из 1C8 в 1C8 Практика программирования Обмен через XML v8 КД Бесплатно (free)

Что такое КД3? Как начать использовать? Полезные дополнения к документации. Что нужно исправить в типовых обработках и конфигурации. Как изменить правила обмена не снимая конфигурацию с поддержки. Как отлаживать правила обмена?

19.11.2017    205530    MaxS    300    

Пример создания в КД 2.1 правил выгрузки данных регистра «Лицевые счета работников» из ЗУП 2.5 в справочник «Банковские счета» БП 3.0. Подробно, ясно и просто.

Перенос данных из 1C8 в 1C8 v8 КД Абонемент ($m)

Эту статью я написал для тех, кто хочет максимально быстро и эффективно научиться создавать правила выгрузки данных в конфигурации 1С Конвертация данных редакции 2.1. Разберем практическую несложную задачу создания правил выгрузки данных регистра «Лицевые счета работников организаций» ЗУП 2.5 в справочник «Банковские счета» БП КОРП 3.0. Поделюсь некоторыми эффективными приемами: ВыгрузкаПоПравилу(…), работа с глобальными параметрами конвертации и передача их с Источника в Приемник методом ПередатьОдинПараметрВПриемник(…), приемы ускорения и оптимизации конвертации данных. Кому эта статья покажется простой и/или захочется продолжения: рекомендую другую мою публикацию, в которой разобран более сложный пример : https://infostart.ru/public/695916/

1 стартмани

17.11.2017    37843    RailMen    1    

Механизмы и транспорт обмена данными. Пример создания в КД 2.1 правил обмена данными ЗУП 2.5 -> БП 3.0. Выгрузка ведомостей и банковских счетов. Передача параметров обмена из Источника в Приемник. ВыгрузитьПоПравилу(). ПередатьОдинПараметрВПриемник().

Обмен через XML Перенос данных из 1C8 в 1C8 v8 ЗУП2.5 КД БП3.0 Абонемент ($m)

В статье рассказываю: 1) о механизмах и транспорте обмена данными, где одной из сторон обмена выступает конфигурация на базе 1С, и о том, какой транспорт и в каких случаях лучше использовать 2) о решении задачи выгрузки данных документа «Зарплата к выплате организаций» (с выгрузкой банковский счетов физ лиц документа) из ЗУП 2.5.123.1 (далее Источник) в БП КОРП 3.0.52.39 (далее Приемник) путем создания правил обмена данными с использованием конфигурации «Конвертация данных» (далее просто КД) ред. 2.1.8.2. для (далее ЗкВО) 3) о тестирование полученных правил обмена данными.

1 стартмани

03.11.2017    33158    RailMen    5    

Исправление среднего заработка для отпусков после переноса данных в конфигурацию ЗКГУ 3.0

Перенос данных из 1С7.7 в 1C8.X Перенос данных из 1C8 в 1C8 Зарплата Учет рабочего времени Зарплата Учет рабочего времени v8 1С7:ЗиК ЗКГУ3.0 БУ Абонемент ($m)

Речь пойдет о том, как после перехода на конфигурацию 1С: Зарплата и кадры государственного учреждения, редакции 3.1 изменить данные о среднем заработке и коэффициенте отработанных дней для расчета отпусков без привлечения помощи программиста.

6 стартмани

08.08.2017    33193    RadistkaAn    4    

Инвентаризация и корректировка остатков ЕГАИС в 1С: Управление небольшой фирмой (инструкция)

Бухгалтерский учет Розничная торговля Учет ТМЦ Розничная торговля Учет ТМЦ v8::ОУ УНФ Розничная и сетевая торговля (FMCG) Россия УУ Абонемент ($m)

1С выпустило обновление конфигурации Управление небольшой фирмой(1.6.7.63), добавили удобный Помошник корректировки остатков ЕГАИС

1 стартмани

01.12.2016    16081    user635667    0    

Использование SoapUi для работы с веб-сервисами. Часть1

Практика программирования Обмен через XML v8 Абонемент ($m)

Как работать с SoapUi для тестирования веб-сервисов .

1 стартмани

30.09.2016    125392    kiv1c    29    

Руководство пользователя. УТ 10.3 Рабочее место кассира.

Пользователю системы Оптовая торговля Розничная торговля Оптовая торговля Розничная торговля v8 КА1 УТ10 Россия УУ Абонемент ($m)

Развернутая инструкция для работы пользователя в типовом интерфейсе кассира конфигурации 1С: Управление торговлей 10.3. Подробно с иллюстрациями описаны основные действия кассира.

1 стартмани

22.06.2016    37031    zhuravlev_as    5