Имя: Пароль:
1C
1С v8
КД создать номенклатуру в разных группах(по условию) из Документа
0 Popkorm
 
28.07.14
15:15
Подскажите как лучше реализовать:
Из Документа будем получать счет,каждый счет будет имеет свою группу номенклатуры.То есть из ТЧ документа ПКС-номенклатура пойдет по правилу,в этом правиле как получить счет документа,структурой по ВходящиеДанные?
1 Popkorm
 
28.07.14
16:34
ап
2 Йохохо
 
28.07.14
16:39
Источник доступен, Источник.Счет
3 Franchiser
 
гуру
28.07.14
16:44
А если 1 номенклатура в разных документах и счет в документах разный, группа номенклатуры будет все время менятся? Варианты: 1. ИсходящиеДанные, 2. ВыгрузитьПоПравилу() + ВходящиеДанные, 3. Параметр.
4 Franchiser
 
гуру
28.07.14
16:47
+ номенклатура будет кэширована, поэтому нужно или не запоминать выгруженные либо переопределять Ключ
5 Franchiser
 
гуру
28.07.14
16:56
лучший вариант после выгрузки выполнять обработку или алгоритм по проставлению группы номенклатуры постфактум по данным запросов по документам
6 Popkorm
 
28.07.14
17:16
(3) ИсходящиеДанные не получится,т.к. в ПКО поиск провожу в ПоляПоиска,если не найден то на основании счета подставляю нужную группу,помоему через ПараметрыОбъекта как то можно
7 Franchiser
 
гуру
28.07.14
17:26
Не вижу проблемы, даже если через поля поиска объект найдется, реквизит группа номенклатуры (не входящий в поля поиска) трансформируется по правилу. Переданные ИсходящиеДанные будут доступны в правиле-приемнике как входящие данные. Можешь через параметр (на этапе выгрузки), просто его создай и пиши-читай, почти то же самое.
8 Popkorm
 
28.07.14
17:35
(7) то есть в ПоляПоиска можно работать с оператором ВходящиеДанные просто в Информации обработчики нет оператора ВходящиеДанные?!
9 Franchiser
 
гуру
28.07.14
18:13
не совсем, к входящим данным ты можешь обращаться на этапе выгрузки, а в полях поиска например так СвойстваПоиска["Комментарий"]
10 Franchiser
 
гуру
28.07.14
18:19
зачем в полях поиска тебе обращаться ко входящим данным?
11 Franchiser
 
гуру
28.07.14
18:22
для свойства группаноменлатуры нужно написать код в ПередВыгрузкой, очистив источник:
значение = ВходящиеДанные.НужнаяГруппа;
12 Franchiser
 
гуру
28.07.14
18:35
+ если менять группу не хочешь каждый раз то в Полях поиска если объект найден, старое значение рекизита номенклатурная группа можно получить из СсылкаНаОбъект.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший