Конвертация: из реквизитов источника в таблицу приемника

1. user712426 06.10.20 15:34 Сейчас в теме
Здравствуйте!
Помогите разобраться!
Из базы ЗУП пытаюсь написать правила для выгрузки документа Прием на работу в базу УПП.
в ЗУПе из реквизитов данные должны попадать в Табличную часть Работники док. ПриемНаРаботу УПП
Делаю все как в https://qa.erpstat.ru/public/00009.html
В ПКО в ПередВыгрузкой:

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Сотрудник");
ТЗ.Колонки.Добавить("Подразделение");
ТЗ.Колонки.Добавить("Должность");
ТЗ.Колонки.Добавить("ДатаПриема");
ВходящиеДанные = Новый Структура;
ВходящиеДанные.Вставить("Работники", ТЗ);


в ПКГС пусто.

Ругается на "Поле объекта не обнаружено "Работники""!!!
Что делаю не так.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
2. spec8s 830 06.10.20 16:01 Сейчас в теме
Напротив "Работники" поставить галочку "Получать из входящих данных"
user712426; +1 Ответить
4. spec8s 830 06.10.20 17:34 Сейчас в теме
Не нужно писать КоллекцияОбъектов = ВходящиеДанные,
она итак уже равна им
user712426; +1 Ответить
5. spec8s 830 06.10.20 17:37 Сейчас в теме
(3)В обработчике ПКО раскоментировать код
user712426; +1 Ответить
6. AvalonE2008 100 06.10.20 18:16 Сейчас в теме
Здравствуйте! Все намного проще. Вам, как я понял необходимо заполнить табличную часть "Работники" какими то произвольными данными. При этом в источнике у Вас нет соответствующей коллекции для конвертации. Если Вы зайдете в в правила конвертации группы свойств "Работники" и вызовите справку для события "перед обработкой" то увидите что:

КоллекцияОбъектов - Неопределено. Если в теле обработчика определить коллекцию (присвоив данной переменной значение, например, описывающее табличную часть или набор движений, например, типа ТаблицаЗначений), то стандартное получение коллекции выполняться не будет.

Соответственно определив таблицу значений в ПКГС Работники в момент "Перед обработкой" и присвоив данную таблицу переменной КоллекцияОбъектов Вы решите поставленную задачу.
Далее для элементов ТЧ работники необходимо будет принудительно присвоить значения методом
Значение = ОбъектКоллекции.<Имя колонки>;
Как пример:
Прикрепленные файлы:
user712426; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spec8s 830 06.10.20 16:01 Сейчас в теме
Напротив "Работники" поставить галочку "Получать из входящих данных"
user712426; +1 Ответить
3. user712426 06.10.20 16:16 Сейчас в теме
(2)поставила. теперь выдает:
Поле объекта не обнаружено :Подразделение
Прикрепленные файлы:
4. spec8s 830 06.10.20 17:34 Сейчас в теме
Не нужно писать КоллекцияОбъектов = ВходящиеДанные,
она итак уже равна им
user712426; +1 Ответить
5. spec8s 830 06.10.20 17:37 Сейчас в теме
(3)В обработчике ПКО раскоментировать код
user712426; +1 Ответить
6. AvalonE2008 100 06.10.20 18:16 Сейчас в теме
Здравствуйте! Все намного проще. Вам, как я понял необходимо заполнить табличную часть "Работники" какими то произвольными данными. При этом в источнике у Вас нет соответствующей коллекции для конвертации. Если Вы зайдете в в правила конвертации группы свойств "Работники" и вызовите справку для события "перед обработкой" то увидите что:

КоллекцияОбъектов - Неопределено. Если в теле обработчика определить коллекцию (присвоив данной переменной значение, например, описывающее табличную часть или набор движений, например, типа ТаблицаЗначений), то стандартное получение коллекции выполняться не будет.

Соответственно определив таблицу значений в ПКГС Работники в момент "Перед обработкой" и присвоив данную таблицу переменной КоллекцияОбъектов Вы решите поставленную задачу.
Далее для элементов ТЧ работники необходимо будет принудительно присвоить значения методом
Значение = ОбъектКоллекции.<Имя колонки>;
Как пример:
Прикрепленные файлы:
user712426; +1 Ответить
7. user712426 07.10.20 08:40 Сейчас в теме
СПАСИБО БОЛЬШОЕ! ОЧЕНЬ ВЫРУЧИЛИ! Справку по событиям буду читать внимательнее.
8. user712426 07.10.20 09:11 Сейчас в теме
В ПКО ПриемаНаРаботу:

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Сотрудник");
ТЗ.Колонки.Добавить("Подразделение");
ТЗ.Колонки.Добавить("Должность");
ТЗ.Колонки.Добавить("ДатаПриема");

новстр = ТЗ.добавить();
новстр.Сотрудник = Источник.Сотрудник;
новстр.Подразделение = Источник.Подразделение;
новстр.Должность = Источник.ДолжностьПоШтатномуРасписанию;
новстр.ДатаПриема = Источник.ДатаПриема;

ВходящиеДанные = Новый Структура;
ВходящиеДанные.Вставить("Работники", ТЗ);
Показать


у ТЧ Работники галка истина Получить из входящих данных

и у ПКС реквизитов ТЧ:
значение = ОбъектКоллекции.<соотв.имя.колонки>;
и все работает! СПАСИБО!
9. spec8s 830 07.10.20 11:44 Сейчас в теме
(8)и у ПКС реквизитов ТЧ:
значение = ОбъектКоллекции.<соотв.имя.колонки>;

это можно не писать
user712426; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот