1с обмен дополнительный реквизит из erp
Добрый день.
Выгружаю данные из дописанной ТиС 7.7 в 1сРозница.Магазин одежды.
Использую: Конвертация данных 2.1.8.2
Необходимо выгрузить некоторые реквизиты номенклатуры в дополнительные реквизиты номенклатуры.
Вопрос в том, как это сделать? доп реквизиты хранятся в таб части объекта. Соответственно, перед выгрузкой формируйте таблицу значений с нужным реквизитом. далее передаете ее во входящие данные, а уже в ПКО берете тч из входящих данных.
Вот для примера:
Также нужно для плана видов характеристик ДополнительныеРеквизитыИСведения сделать ПКО, поиск по удобному для вас полю, я например делаю по наименованию, беру его из источника. При необходимости могу скрин скинуть для примера.
Не так давно начал конвертацию изучать. Возможно некоторые вопросы покажутся странными.
1. Создал ПКО "ДополнительныеРеквизитыИСведения"
Объект-приемник: ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения
Объект-источник: пусто
2. В созданном ПКО создал ПКС
Приемник: Наименование
Источник: пусто
галка Поиск объекта при загрузке по свойтсву
Перед выгрузкой: Значение = Источник;
Далее необходимо перейти в ПКО номенклатура, провалиться в ПКГС Дополнительные реквизиты и в одином из ПКС (Значение, Свойство, Текстовая строка) в правиле указать созданное ПКО ?
(5) ПКО "ДополнительныеРеквизитыИСведения" указываете в ПКС для Свойство в таб части ДополнительныеРеквизиты, для значения у вас будет свое ПКО, либо не будет правила вообще, если это простые типы данных будут. ну и соответственно нужно корректно сформировать структуру входящих данных (пример писал выше)
структуру формируем в ПКГС ДополнительныеРеквиситы Перед обработкой или в ПКС Свойство Перед выгрузкой?
Добавил как на скрине - не грузится.
Так получилось, что по запросу в поисковиках "реквизит в дополнительный реквизит конвертация данных" гуглится только эта тема но метод описанный maks_20 у меня, как и у многих других, не работает. Спустя 2 рабочих дня безуспешных попыток и много потерянных волос спустя рабочий способ переноса был найден. Описываю.
Задача:
Из ЗУП 3.1 перенести реквизит "НомерРеестра" (число) документа "Ведомость в банк" в допреквизит "Номер реестра" (так же число) созданный для документа "Ведомость на выплату зарплаты" в конфигурации БИТ строительство 3.0 КОРП (там же БИТ финанс). Перенос должен осуществляться на основе стандартного настроенного обмена, поэтому я редактирую правила обмена данными, выгруженными из ЗУП 3.1.
Решение:
В ПКО документа "ВедомостьНаВыплатуЗарплатыВБанк" создаю ПКС для переносимого реквизита-источника "НомерРеестра" (прикрепленный файл 1).
Реквизит этот передаю не приемнику а в параметр который обзываю так же "НомерРеестра" (прикрепленный файл 2)
На закладке "Алгоритмы\Запросы" правил обмена создаю алгоритм "ЗаполнитьДопРеквизитНомерРеестра" в котором обрабатываю заполнение допреквизита и запись объекта после загрузки. Обязательно указываю что в нем доступны ПараметрыОбъекта, сам Объект и ставлю галочку "Используется при загрузке". (прикрепленный файл 3)
В ПКО документа "ВедомостьНаВыплатуЗарплатыВБанк" в обработчике "После загрузки" выполняю созданный алгоритм. (прикрепленный файл 4)
Профит. Реквизит документа-источника перенесен в дополнительный реквизит документа-приемника через параметры объекта. Думаю, со справочниками и более сложными типами данных нежели число проблем возникнуть так же не должно.
Столкнулась с простой на вид задачей, однако решение пришлось собирать по кусочкам на форумах. Выкладываю мой готовый работающий вариант, может кому-то пригодится.
Задача: с помощью правил обмена перенести Дополнительные реквизиты номенклатуры из "старой торговой программы" в УНФ. В обеих конфигурациях дополнительные реквизиты хранятся в табличной части справочника "Номенклатура" и используется план видов характеристик "ДополнительныеРеквизитыИСведения" и справочник "НаборыДополнительныхРеквизитовИСведений". В принципе это все, что для нас важно.
Шаг 1. Создаем правило обмена для справочника "НаборыДополнительныхРеквизитовИСведений". Он нам понадобится, чтобы потом создать правило обмена для ПВХ.
Шаг 2. Создаем правило обмена для ПВХ "ДополнительныеРеквизитыИСведения". Для каждого элемента пвх нужно указать тип значения. ТипЗначения - это стандартный реквизит ПВХ, но в конвертации он не отображается как реквизит и его нельзя выбрать в качестве приемника. Так что для передачи типа значения будем использовать параметры объекта. Создаем для плана видов характеристик новый ПКС: указываем "Передать данные в параметр", источник - пустой, приемник - "Типы".
Дальше есть два способа - для обмена между идентичными конфигурациями (попроще) и для всех остальных.
Шаг 2 способ №1. Если у вас обмен между двумя одинаковыми конфигурациями, то вы можете использовать функцию ЗначениеВСтрокуВнутр /ЗначениеИзСтрокиВнутр. В созданном ПКС добавляем следующий код "перед загрузкой":
В ПКО плана видов характеристик добавляем процедуру "После выгрузки":
Шаг 2 способ №2. Если конфигурации не одинаковые, то предыдущий способ работать не будет. При вызове функции ЗначениеИзСтрокиВнутр тип значения не будет определен (будет Неопределено). Мой вариант - записать типы значений в строку, а затем расшифровать ее на стороне приемника.
ПКС "Типы" "перед загрузкой":
ПКО плана видов характеристик "после выгрузки":
Шаг 3. В ПКО справочника "Номенклатура" создаем стандартным способом ПКС для табличной части "Дополнительные реквизиты" и ее реквизитов (скрин 7)
В конфигурации 1С:ERP существует возможность создавать и редактировать в режиме 1С:Предприятие дополнительные реквизиты различных документов и справочников конфигурации.
Дополнительные реквизиты и сведения объектов делятся на две категории:
- Дополнительные реквизиты – хранятся в самом объекте (в специальной табличной части).
- Дополнительные сведения – предназначены для хранения сведений об объекте, которые не являются неотъемлемой частью объекта.
Добавление дополнительных реквизитов осуществляется опцией НСИ и администрирование – Администрирование – Общие настройки – Дополнительные реквизиты и сведения – Дополнительные реквизиты и сведения.
Рисунок 1 - Добавление дополнительных реквизитов
Назначение новых дополнительных реквизитов и сведений
Для ввода и назначения объектам конфигурации новых дополнительных реквизитов и сведений у пользователей должна быть установлена роль Полные права.
Работа с дополнительными реквизитами и сведениями осуществляется в соответствующих списках: НСИ и администрирование – Администрирование – Общие настройки – Дополнительные реквизиты и сведения – Дополнительные реквизиты и Дополнительные сведения.
Рисунок 2 - Дополнительные реквизиты, дополнительные сведения
Рисунок 3 - Пример дополнительных реквизитов
Для дополнительного реквизита или сведения можно задать список возможных значений на закладке Значения в форме дополнительного реквизита или дополнительного сведения.
Рисунок 4 - Список значений
Процедура добавления дополнительных реквизитов и сведений
Создание дополнительных реквизитов и сведений предусмотрено для видов номенклатуры, характеристик и серий по команде Добавить – Из другого набора.
Рисунок 5 - Добавление реквизита из другого набора
Поддерживаются различные варианты добавления дополнительных реквизитов и сведений (выбор варианта осуществляется в форме Добавление дополнительного реквизита/сведения):
- Копирование общего реквизита, входящего в состав нескольких наборов (видов номенклатуры), и всех его значений – вариант Сделать копию реквизита.
Рисунок 6 - Создание копии реквизита
- Копирование реквизита по образцу (с общим списком значений) – вариант Сделать копию реквизита по образцу (с общим списком значений).
Рисунок 7 - Создание копии реквизита по образцу
- Добавление общего реквизита в набор – вариант Сделать реквизит общим и добавить в набор. Этот вариант подходит для тех случаев, когда реквизит должен быть одинаков для обоих наборов. В этом случае будет возможно отбирать по нему данные разных типов в списках и отчетах.
Создание и добавление дополнительных сведений для видов номенклатуры, характеристик и серий аналогично созданию/добавлению дополнительных реквизитов.
Ведение дополнительных реквизитов и сведений
Ведение дополнительных реквизитов объектов выполняется пользователем конфигурации, имеющим права на изменение самого объекта.
Установка дополнительных сведений, как правило, осуществляется в отдельной форме, которая вызывается из формы объекта командой Дополнительные сведения.
Рисунок - Дополнительные сведения
Настройки 1C:ERP мы осуществляем в рамках услуги Аренда 1С:ERP или осуществляем отдельно поддержку 1С:ERP с привлечением квалифицированных консультантов 1С:ERP.
Все больше организаций выбирают «1С:ERP Управление предприятием 2» (далее - 1С:ERP) в качестве основной программы для ведения учета. В случае ведения бухгалтерского учета в «1С:Бухгалтерия предприятия» (далее - 1С:БП), при переходе на «1С:ERP» следует определиться, в какой программе продолжить вести бухгалтерский учет в дальнейшем.
Для удобства предусмотрена возможность работы в 1С:БП с дальнейшей синхронизаций с 1С:ERP. Следует отметить, что 1С:ERP в основном акцентируется на управленческих задачах, бухгалтерский блок не является первостепенным.
Сам же перенос данных из 1С:БП 3.0 в 1С:ERP представляет собой перенос нормативно-справочной информации (НСИ) и остатков.
Подготовка 1С:БП 3.0 к выгрузке информации
Необходимо выполнить следующие процедуры:
-
Обновить 1С:БП 3.0 до последнего релиза. Узнать релиз можно в «Меню - О программе».
Рисунок 1 - Путь к информации о программе
Рисунок 2 - Проверка номера релиза
Рисунок 3 - Выгрузка информационной базы
Рисунок 4 - Путь к запуску тестирования и исправления
Рисунок 5 - Тестирование и исправление информационной базы
Внешняя обработка выгрузки данных в 1С:БП 3.0
Выполняются следующие действия:
-
Определить папку, в которой размещена обработка выгрузки данных из 1С:БП 3.0.
Расположение обработки - это папка установки конфигурации 1С:ERP (также можно скачать обработку с сайта ИТС).
Рисунок 6 - Путь к обработке выгрузки данных из 1С:БП 3.0
Рисунок 7 - Расположение обработки выгрузки данных на сайте ИТС
После скачивания с сайта ИТС следует запомнить папку расположения.
Рисунок 8 - Путь к открытию внешней обработки выгрузки данных
После выбора обработки появится предупреждение безопасности, следует нажать кнопку Да.
Рисунок 9 - Окно предупреждения безопасности после выбора обработки
Откроется Помощник перехода.
Блок I. Перенос параметров учета
Выгрузка данных из 1С:БП 3.0
Этап и шаг на котором находится перенос обозначаются зеленой рамкой.
Первый этап в 1С:БП 3.0 состоит из трех шагов:
- выбор рабочего каталога;
- настройка параметров учета;
- перенос настроек учета.
-
Указать папку, в которую будут выгружаться данные. Нажать кнопку Далее внизу окна.
Рисунок 10 - Шаг 1. Выбор рабочего каталога в 1С:БП
Рисунок 11 - Шаг 2. Настройка параметров
Рисунок 12 - Шаг 3. Перенос настроек учета
Рисунок 13 - Окно-оповещение об успешной выгрузке
Рисунок 14 - Протокол выгрузки первого этапа
Если попробовать миновать этап загрузки в 1С:ERP и сразу перейти к этапу 2 в 1С:БП, появится предупреждение.
Рисунок 15 - Предупреждение
Загрузка данных в 1С:ERP
- Открыть программу 1С:ERP в режиме предприятия.
- Открыть Помощник перехода с «1С:Бухгалтерия предприятия», ред. 3.0 - «Раздел НСИ и администрирование - Начальное заполнение».
Рисунок 16 - Путь к Помощнику перехода с «1С:Бухгалтерия предприятия»
Рисунок 17 - Помощник перехода с «1С:Бухгалтерия предприятия»
Рисунок 18 - Шаг 1. Выбор данных для загрузки
Рисунок 19 - Шаг 2. Загрузка настроек параметров учета
Произошел переход на третий шаг в 1С:ERP.
Рисунок 20 - Шаг 3. Процесс загрузки данных
Рисунок 21 - Оповещение об успешной загрузке данных
Рисунок 22 - Протокол в 1С:ERP о загрузке настроек параметров учета
Рисунок 23 - Шаг 4. Загрузка НСИ
Блок II. Перенос нормативно–справочной информации
Выгрузка данных из 1С:БП 3.0
Выполняются следующие действия:
-
Вернуться в 1С:БП и нажать кнопку Далее.
Рисунок 24 - Переход на следующий этап в Помощнике перехода в 1С:БП
После загрузки информации в базу 1С:ERP у выполненного этапа появится справа зеленая галочка.
Рисунок 25 - Отметка о завершении этапа №1 в 1С:БП
- выгрузить все справочники;
- выборочная выгрузка справочников.
Рисунок 26 - Этап 2. Перенос нормативно-справочной информации
Рисунок 27 - Оповещение об окончании выгрузки данных
Рисунок 28 - Протокол выполнения выгрузки НСИ
Загрузка данных в 1С:ERP
- Вернуться в 1С:ERP к шагу 4 «Загрузка нормативно-справочной информации».
- Обновить данные о загружаемом файле. Нажать кнопку Обновить.
- Загрузить данные. Внизу окна нажать кнопку Загрузить данные.
Рисунок 29 - Шаг 4. Загрузка НСИ, обновленная информация о файле
Происходит переход к шагу 5 в 1С:ERP: Загрузка данных из 1С:БП.
Рисунок 30 - Шаг 5. Загрузка данных из информационной базы
Рисунок 31 - Оповещение об успешной загрузке данных в 1С:ERP
Рисунок 32 - Учетная политика организации
Это необходимо для корректного переноса остатков.
Блок III. Выгрузка остатков
Выгрузка данных из 1С:БП 3.0
- Вернуться в 1С:БП.
- Сделать выбор между полным переносом остатков и выборочным.
- Выгрузить остатки. После выбора варианта переноса и указания выгружаемых остатков (в случае частичного переноса) внизу окна нажать кнопку Выгрузить остатки.
Рисунок 33 - Этап 3. Перенос текущей информации
Рисунок 34 - Протокол выполнения выгрузки остатков
Загрузка данных в 1С:ERP
- Вернуться в 1С:ERP к шагу 6 «Загрузка остатков из 1С:БП».
- Обновить данные. Нажать кнопку Обновить.
- Загрузить данные. Нажать кнопку Загрузить данные.
Рисунок 35 - Шаг 6. Загрузка остатков
Происходит переход на шаг 7 «Загрузка данных из информационной базы».
Рисунок 36 - Шаг 7. Загрузка данных из информационной базы
Рисунок 37 - Протокол загрузки остатков в 1С:ERP
Блок IV. Настройка обмена между базами
Рисунок 38 - Этап 4. Настройка обмена
Рисунок 39 - Настройки обмена
Перенос можно прервать, а потом вернуться к тому моменту, на котором остановились, при условии, что файлы из папки, указанной в качестве рабочего каталога, не удалены.
В качестве примера, будем использовать конфигурацию 1С:ERP Управление предприятием 2, аналогичным смособом можно будет загрузить в Управление торговлей 11 или любую другую, подобную конфигурацию.
Дополнительные реквизиты хранятся в табличной части «ДополнительныеРеквизиты» справочника «Номенклатура». Из обработки «Загрузка данных из табличного документа» можно добраться только к табличной части одной, выбранной номенклатуре, через тип данных «Позиция номенклатуры».
Но такой способ нам не подходит, т.к. мы будем загружать дополнительные реквизиты для списка номенклатуры. Для примера загрузим одну номенклатуру и два ее дополнительных реквизита: «Формат» и «Толщина».
Настроим поиск номенклатуры по наименованию из колонки с номером один.
Теперь немного займемся программированием. Откроем событие «При записи объекта» и добавим туда следующий программный код:
Объект . ДополнительныеРеквизиты . Очистить (); // Предварительно удаляем все доп. реквизиты. Если не нужно - закомментировать.
ДопСвойства = Новый Соответствие ;
ДопСвойства . Вставить ( "11" , 91 ); // Наименование свойства, номер ячейки
ДопСвойства . Вставить ( "АКЦИЯ" , 92 );
ДопСвойства . Вставить ( "Размер,мм" , 93 );
ДопСвойства . Вставить ( "Формат" , 94 );
ДопСвойства . Вставить ( "Номер цвета" , 95 );
ДопСвойства . Вставить ( "Цвет" , 96 );
ДопСвойства . Вставить ( "шт./м2" , 97 );
ДопСвойства . Вставить ( "шт. / палетта" , 98 );
ДопСвойства . Вставить ( "вес, кг/шт." , 99 );
Для Каждого ЭлементДопСвойства Из ДопСвойства Цикл
ТекСвойство = ПланыВидовХарактеристик . ДополнительныеРеквизитыИСведения . НайтиПоНаименованию ( ЭлементДопСвойства . Ключ + " (" + Объект . ВидНоменклатуры + ")" , Ложь);
ТекЗначение = Справочники . ЗначенияСвойствОбъектов . НайтиПоНаименованию ( ТекстыЯчеек [ ЭлементДопСвойства . Значение ], Ложь);
Если Не ЗначениеЗаполнено ( ТекСвойство ) Тогда
Сообщить ( "Не удалось найти свойство: """ + ЭлементДопСвойства . Ключ + " (" + Объект . ВидНоменклатуры + ")""" );
Продолжить;
КонецЕсли;
Если Не ЗначениеЗаполнено ( ТекЗначение ) Тогда
Сообщить ( "Создаем новое значение """ + ТекстыЯчеек [ ЭлементДопСвойства . Значение ] + """ для свойства """ + ТекСвойство + """" );
НовоеЗначение = Справочники . ЗначенияСвойствОбъектов . СоздатьЭлемент ();
НовоеЗначение . Владелец = ТекСвойство ;
НовоеЗначение . Наименование = ТекстыЯчеек [ ЭлементДопСвойства . Значение ];
НовоеЗначение . Записать ();
ТекЗначение = НовоеЗначение . Ссылка ;
КонецЕсли;
МассивСтрок = Объект . ДополнительныеРеквизиты . НайтиСтроки (Новый Структура ( "Свойство" , ТекСвойство ));
Если МассивСтрок . Количество () = 0 Тогда
ДопРеквизит = Объект . ДополнительныеРеквизиты . Добавить ();
Иначе
ДопРеквизит = МассивСтрок [ 0 ];
КонецЕсли;
ДопРеквизит . Свойство = ТекСвойство ;
ДопРеквизит . Значение = ТекЗначение ;
В соответствие «ДопСвойста» нужно вставить столько записей, сколько требуется загрузить дополнительных реквизитов. В качестве ключа указываем текстовое наименование дополнительного реквизита, а в качестве значения - номе строки табличного документа, где это значение храниться.
Читайте также: