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

08.01.19

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
: Обмен номенклатурой с ERP
.epf 8,38Kb
8
8 Скачать (1 SM) Купить за 1 850 руб.

Для использования обработки выбрать пункт меню Файл - Открыть, выбрать скачанную обработку. В открывшемся интерфейсе указать параметры подключения к базе 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 Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

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

35000 руб.

23.07.2020    56806    264    75    

219

SALE! 20%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27660 руб.

12.06.2017    146261    861    299    

442

SALE! 10%

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

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

55778 50200 руб.

15.04.2019    74648    202    156    

140

SALE! 10%

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

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

55778 50200 руб.

04.08.2015    171409    364    283    

394

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

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

35000 руб.

15.12.2021    26519    189    56    

145

SALE! 10%

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

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    38657    108    70    

102
Оставьте свое сообщение