Имя: Пароль:
1C
1С v8
Табличная часть в параметр объекта
,
0 vasiliy0
 
08.12.11
14:22
Народ, растолкуйте такую вещь: как в ПКС в параметр объекта передать табличную часть. С синтаксисом разобраться не могу. В освоении написано "Передавать данные в параметр - флаг определяет куда будут помещены данные при загрузке. В отдельное соответствие для данного объекта, но не в сам объект. Этот подход удобен когда нужно передать какое либо значение в приемник, но нет реквизита куда нужно его поместить. Впоследствии анализируя дополнительные параметры можно изменить логику заполнения объекта приемника. В правилах необходимо указать имя параметра куда нужно поместить данные. Для табличных частей и наборов движений для каждой строки формируется отдельная структура в которой хранится информация." Как только не пробовал, а правильно не получается. Чувствую что не сложно, да не выходит. У меня так:

НС = Новый Структура;
Для каждого ФЛ из Источник.РаботникиОрганизации Цикл
Нс.Вставить("ФизЛицо", ФЛ.ФизЛицо);
КонецЦикла;
Значение = Нс;

Где не так?
1 GrayT
 
08.12.11
14:24
Структура <> Соответствие
2 vasiliy0
 
08.12.11
14:26
GrayT Подскажи как правильно надо.
3 GrayT
 
08.12.11
14:59
Я не работал с КД, но твой код бессмыслен. Если передавать инфу о сотрудниках то имеет смысл конструкция типа
НС = Новый Соответствие;
Для каждого ФЛ из Источник.РаботникиОрганизации Цикл
Нс.Вставить(ФЛ.ФизЛицо.Наименование, ФЛ.ФизЛицо);
КонецЦикла;
Значение = Нс;
4 vasiliy0
 
08.12.11
15:09
К сожалению тоже не верно, но благодарю за ответ. Если кто знает где собака порылась - подскажите. Третий день мозг мучаю.
5 GrayT
 
08.12.11
15:27
Ради интереса глянул что там в хелпе написано. Там пример
// если нужен доступ к параметрам табличной части

Если ПараметрыОбъекта <> Неопределено тогда

ТаблицаПараметровТовары = ПараметрыОбъекта["ТоварыТабличнаяЧасть"];

Для Каждого СтрокаПараметров Из ТаблицаПараметровТовары Цикл

ИмяНоменклатуры = СтрокаПараметров.ИмяНоменклатуры;

КонецЦикла;

КонецЕсли;

Вроде все понятно. Вся хитрость в том как заполнить соответствие: в соответствие с ключом "ТоварыТабличнаяЧасть" добавляем коллекцию чего либо (тз или массив со структурой). Все - потом получаем данные как в коде выше.
6 vasiliy0
 
08.12.11
15:46
То-то и оно что вроде не сложно. Уже и через массив пытался - не получалось(кода уже нет, перетер). ОГРОМНАЯ просьба если кто делал дайте код для примера. У меня такая задача: из БП для кз в ЗУП для кз перекинуть данные, а поскольку ЗУП работает со справочником "Сотрудники", которого в БП нет то я данные беру из документа "Прием на работу в организацию" и пытаюсь физлиц из табличной части затолкать в параметр объекта.
7 Defender aka LINN
 
08.12.11
15:48
Параметры могут передаваться ТОЛЬКО примитивных типов.
Нахрена вообще это надо? Надо справочник передать - сделай ПКО и выгружай сколько влезет.
8 vasiliy0
 
08.12.11
15:57
Defender aka LINN Так мне наименований физ лиц(типом строка) хватит, куда примитивней. Надо не справочник передать, а справочник заполнить. Нету такого справочник в источнике. Тупа перекинуть из справочника ФизическиеЛица из БП в справочник Сотрудники ЗУПа не получится: 1) не все являются работниками, 2) данных из ФизическиеЛица мало (№ документа о приеме, должность, кол-во ставок и прочее).
9 Defender aka LINN
 
08.12.11
16:17
(8) Наименование - Строка - Примитивный тип
НаименованиЯ - Массив/СписокЗначений/ТЗ - объектный тип

"Нету такого справочник в источнике." - И что? Не задумывался, почему конфигурация называется КОНВЕРТАЦИЯ данных?
10 GreyK
 
08.12.11
16:32
(0) Прочитал твои посты, но так и не понял, что и куда ты хочешь передать? Что такое ПКС? ПравилО Конвертации Строк?
11 Defender aka LINN
 
08.12.11
16:33
(10) Традиционно ПКС - то Правило Конвертации Свойств в КД.
12 GreyK
 
08.12.11
16:38
(11) Это я знаю :)
Мне интересно про то, что должно получиться из ТЧ.
Закон Брукера: Даже маленькая практика стоит большой теории.