Обмен номенклатурой между ERP и Документооборотом

08.01.19

Учетные задачи - Логистика, склад и ТМЦ

Обработка запускается в Документообороте и по заданной группе доступа номенклатуры рекурсивно копирует элементы и папки номенклатуры в базу. Для подключения используются параметры авторизации в ERP. Работает как в файловом, так и в серверном режимах.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
: Обмен номенклатурой с ERP
.epf 8,38Kb
8 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

Тестирование проводилось на ERP 2.4.6 и ДО 2.1.7

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

&НаКлиенте
Процедура ВыполнитьОбмен(Команда)
    ВыполнитьОбменНаСервере();
КонецПроцедуры

&НаСервере
Функция ИнициализироватьСоединение()
    
    ПараметрыПодключения = Новый Структура;
    ПараметрыПодключения.Вставить("ВариантРаботыИнформационнойБазы", ВариантРаботыИнформационнойБазы);
    ПараметрыПодключения.Вставить("КаталогИнформационнойБазы", КаталогИнформационнойБазы);
    ПараметрыПодключения.Вставить("ИмяСервера1СПредприятия", ИмяСервера1СПредприятия);
    ПараметрыПодключения.Вставить("ИмяИнформационнойБазыНаСервере1СПредприятия", ИмяИнформационнойБазыНаСервере1СПредприятия);
    ПараметрыПодключения.Вставить("АутентификацияОперационнойСистемы", Ложь);
    ПараметрыПодключения.Вставить("ИмяПользователя", ИмяПользователя);
    ПараметрыПодключения.Вставить("ПарольПользователя", ПарольПользователя);

    Возврат ОбщегоНазначенияКлиентСервер.УстановитьВнешнееСоединение(ПараметрыПодключения);
    
КонецФункции

&НаСервере
Процедура ВыполнитьОбменНаСервере()
        
    Соединение = ИнициализироватьСоединение();
    
    Запрос = Соединение.NewObject("Запрос");
    Запрос.УстановитьПараметр("ГруппаДоступа", Соединение.Справочники.ГруппыДоступаНоменклатуры.НайтиПоНаименованию(ГруппаДоступаНоменклатуры));
    Запрос.Текст = "ВЫБРАТЬ
                   |    Номенклатура.Ссылка
                   |ИЗ
                   |    Справочник.Номенклатура КАК Номенклатура
                   |ГДЕ
                   |    Номенклатура.ГруппаДоступа = &ГруппаДоступа";
                   
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();
    
    Пока Выборка.Следующий() Цикл
        Если Не ЗначениеЗаполнено(Выборка.Ссылка.ВидНоменклатуры.Description) Тогда
            Продолжить;
        КонецЕсли;
        
        Если Не ЗначениеЗаполнено(Выборка.Ref.Description) Тогда
            Продолжить;
        КонецЕсли;
        
        Если Не ЗначениеЗаполнено(Выборка.Ref.ЕдиницаИзмерения.Description) Тогда
            Продолжить;
        КонецЕсли;
        
        ПолучитьРодителя(Выборка.Ref, Соединение);
    КонецЦикла;
    
    Соединение = Неопределено;
    
КонецПроцедуры


&НаСервере
Функция ПолучитьРодителя(ОбъектНом, соединение);
    
    Если ОбъектНом.Ref.Parent.Description ="" Тогда
        
        НовыйОбъект = НайтиОбъектПоГУИДилиСоздать(Соединение, ОбъектНом);
        НовыйОбъект.Записать();

        Возврат ОбъектНом.Ref.Description;
    КонецЕсли;
    
        
    ПолучитьРодителя(ОбъектНом.Ref.Parent, соединение);  //рекурсия
    
    
    НовыйОбъект = НайтиОбъектПоГУИДилиСоздать(Соединение, ОбъектНом);
    НовыйОбъект.Родитель = НайтиОбъектПоГУИДилиСоздать(Соединение, ОбъектНом.Ref.Parent).Ссылка;
    
    НовыйОбъект.Записать();
    
    ЗаписьЖурналаРегистрации("Обработка загрузки номенклатуры из ERP", 
                                УровеньЖурналаРегистрации.Информация,
                                Метаданные.Справочники.Номенклатура,
                                НовыйОбъект.Ссылка);
КонецФункции

&НаСервере
Функция НайтиОбъектПоГУИДилиСоздать(Соединение, ОбъектНом)
    
    УИД = Новый УникальныйИдентификатор(Соединение.xmlстрока(ОбъектНом.Uuid()));
    Ссылка = Справочники.Номенклатура.ПолучитьСсылку(УИД);
    
    Если ОбщегоНазначения.СсылкаСуществует(Ссылка) Тогда
        НовыйОбъект = Ссылка.ПолучитьОбъект(); //папка существует
    Иначе
        Если ОбъектНом.IsFolder = Истина Тогда
            НовыйОбъект = Справочники.Номенклатура.СоздатьГруппу();
        Иначе
            НовыйОбъект = Справочники.Номенклатура.СоздатьЭлемент();
        КонецЕсли;
        
        НовыйОбъект.УстановитьСсылкуНового(Ссылка);   //создаем папку с гуидом
    КонецЕсли;
    
    НовыйОбъект.Код             = ОбъектНом.Ref.Code;
    НовыйОбъект.Наименование     = ОбъектНом.Ref.Description;
    НовыйОбъект.ПометкаУдаления    = ОбъектНом.Ref.DeletionMark;
    Если ОбъектНом.IsFolder = Ложь Тогда
        НовыйОбъект.Артикул            = ОбъектНом.Ref.Артикул;
    КонецЕсли;

    Возврат НовыйОбъект;
    
КонецФункции

&НаКлиенте
Процедура ВариантРаботыИнформационнойБазыПриИзменении(Элемент)
    
    НастройкаВидимости();

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

&НаКлиенте
Процедура НастройкаВидимости()
    
    Если ВариантРаботыИнформационнойБазы = 0 Тогда
        //Файловый
        Элементы.ГруппаКаталогИнформационнойБазы.Видимость = Истина;
        Элементы.ГруппаКлиентСервернаяБаза.Видимость = Ложь;
    Иначе
        //Серверный
        Элементы.ГруппаКаталогИнформационнойБазы.Видимость = Ложь;
        Элементы.ГруппаКлиентСервернаяБаза.Видимость = Истина;
    КонецЕсли;

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    НастройкаВидимости();

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

&НаКлиенте
Процедура ГруппаДоступаНоменклатурыНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
    ГруппаДоступаНоменклатурыНачалоВыбораНаСервере();
КонецПроцедуры

&НаСервере
Процедура ГруппаДоступаНоменклатурыНачалоВыбораНаСервере()
    
    Элементы.ГруппаДоступаНоменклатуры.СписокВыбора.Очистить();
    
    Соединение = ИнициализироватьСоединение();
    
    Запрос = Соединение.NewObject("Запрос");
    Запрос.Текст = "ВЫБРАТЬ
                    |    ГруппыДоступаНоменклатуры.Ссылка КАК Ссылка
                    |ИЗ
                    |    Справочник.ГруппыДоступаНоменклатуры КАК ГруппыДоступаНоменклатуры
                    |ГДЕ
                    |    НЕ ГруппыДоступаНоменклатуры.ПометкаУдаления";
    
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();
    
    Пока Выборка.Следующий() Цикл
        Строка = Элементы.ГруппаДоступаНоменклатуры.СписокВыбора.Добавить();    
        Строка.Значение = Выборка.Ссылка.Description;
    КонецЦикла;
    
    Соединение = Неопределено;

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

&НаКлиенте
Процедура ГруппаДоступаНоменклатурыНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    ГруппаДоступаНоменклатурыНачалоВыбораНаСервере();
    
КонецПроцедуры

Вступайте в нашу телеграмм-группу Инфостарт

Обмен ДО ERP GUID

См. также

Перенос данных 1C Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

58000 руб.

04.08.2015    186739    440    301    

449

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    187772    358    288    

417

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    160094    963    317    

481

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.267.x) и БП 3.0 (3.0.194.x). Правила подходят для версии ПРОФ и КОРП.

42000 37800 руб.

15.12.2021    33826    254    64    

193

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.25.x).

42000 37800 руб.

23.07.2020    67795    314    95    

252

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

58000 руб.

15.04.2019    83713    224    174    

161
Для отправки сообщения требуется регистрация/авторизация