Импорт-экспорт товаров в накладной
Клиенту понадобился обмен товарами между двумя разными конфигурациями, в которых количество и наименования товаров идентичны. Это необходимо было для оптимизации подбора товаров в табличную часть документа реализации товаров и услуг в конфигурации 1С Предприятие. Конфигурация «Управление торговлей для Украины».
Весь код был сделан как отдельный модуль, а в модуль формы были записаны лишь пустые процедуры. которые ссылались на процедуры отдельного модуля.
Ниже приведен листинг кода. который выгружал товары в файл экспорта в формате XML.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
Процедура КоманднаяПанельТоварыВыгрузитьСписокТоваровВXML(Кнопка) Режим = РежимДиалогаВыбораФайла.Сохранение; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогОткрытияФайла.ПолноеИмяФайла = "№"+Номер; Фильтр = "Файл списка товаров (*.xml)|*.xml"; ДиалогОткрытияФайла.Фильтр = Фильтр; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; ДиалогОткрытияФайла.Заголовок = "Сохранение файла экспорта"; Если ДиалогОткрытияФайла.Выбрать() Тогда ИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла; Иначе Возврат; КонецЕсли; // Выгрузить в файл xml Запись = Новый ЗаписьXML; Запись.ОткрытьФайл(ИмяФайла, "UTF-8"); Запись.ЗаписатьОбъявлениеXML(); Запись.ЗаписатьНачалоЭлемента("Корень"); Для каждого ТекТовар Из Товары Цикл Запись.ЗаписатьНачалоЭлемента("Mat"); Запись.ЗаписатьАтрибут("КодНоменклатуры",XMLСтрока(ТекТовар.Номенклатура.Код)); Запись.ЗаписатьАтрибут("Номенклатура",XMLСтрока(ТекТовар.Номенклатура)); Запись.ЗаписатьАтрибут("Количество",XMLСтрока(ТекТовар.Количество)); Запись.ЗаписатьКонецЭлемента();//корень КонецЦикла; Запись.ЗаписатьКонецЭлемента();//корень Запись.Закрыть(); Предупреждение("Выгрузка данных из 1С прошла успешно!"); КонецПроцедуры |
Далее пользователь переносил этот файл с данными о товарах в другую конфигурацию и загружал через пункт меню «Загрузить товары из XML» в табличную часть другого документа. В момент загрузки номенклатуры производится поиск товара по коду или по наименованию, далее записывается его количество, и лишь потом подгружается текущая цена и сумма.
В целом получилось довольно быстро, особенно если учитывать что таких товаров в накладной могло быть более 50 шт. Вроде бы может показаться, что это мелочь, но за целый день такая оптимизация труда работника освобождает его для новых свершений и достижений в его работе!
Вы можете заказать такую небольшую оптимизацию и для своих сотрудников. Для этого оставьте комментарий под этой статьей и я помогу Вам это осуществить! 🙂