Имя: Пароль:
1C
1С v8
КД ВыгрузитьПоПравилу
0 Midzgun
 
06.09.11
13:30
Уже изгуглил все просторы интернета. В ПКО "ПереВыгрузкой" ПоступлениеТоваровУслуг следующий код:

Если Источник.Товары.Количество() > 0 Тогда
   ПКО = НайтиПравило(Источник.Товары[0].Номенклатура, "Номенклатура");
   ВыгруженныеНом = ПКО.Выгруженные;
   Для Каждого СтрокаТовары Из Источник.Товары Цикл
       КлючЗнч = ЗначениеВСтрокуВнутр(СтрокаТовары.Номенклатура);
       Если ВыгруженныеНом.Найти(КлючЗнч, "Ключ") = Неопределено Тогда
           ВыгрузитьПоПравилу(СтрокаТовары.Номенклатура, , ВходящиеДанные, ИсходящиеДанные, "Номенклатура");
       КонецЕсли;
   КонецЦикла;
КонецЕсли;

В результате получаю выгрузку только одной номенклатуры из документов. Помогите пожалуйста, как мне сделать так, чтобы выгружалась сначала номенклатура из документа, а потом и сам документ???
1 MaxS
 
06.09.11
13:35
Какая разница в очередности выгрузки?
Или при загрузке документа нужна номенклатура? Если нет, то всё выгрузится без проблем.
2 Midzgun
 
06.09.11
13:38
Дело в том, что в обработчике "ПослеВыгрузки" дока ПоступлениеТоваровИУслуг заполняются счета учета номенклатуры в ТЧ. Если номенклатура новая и выгружается по ссылке, тогда она еще не записана в базу на момент выполнения этого события. Ссылка на нее битая и счета не заполняются. Вот если бы сначала выгрузить ее (не по ссылке) то она бы уже была записана.
3 Midzgun
 
06.09.11
13:39
Вы мне скажите почему у меня документ не выгружается???
4 Midzgun
 
06.09.11
13:56
Ребята помогите, кто знает! ПОЖАЛУЙСТА
5 Man4kin
 
06.09.11
13:59
а что мешает ПВД сделать, там выгружай вначале номенклатуру документа, а потом сам документ
6 Поручик
 
06.09.11
14:02
А что мешает заполнять счета учета номенклатуры в ТЧ после загрузки?
7 Defender aka LINN
 
06.09.11
14:03
(2) Записывай номенклатуру принудительно. Но еще более правильно будет счета по умолчанию задать.
8 Midzgun
 
06.09.11
14:06
(6) Так заполняю, но у номенклатуры ссылка на несуществующий объект.
(7) Как записать, когда СтрокаТовары.Номенклатура.ПолучитьОбъект = Неопределено?
9 Midzgun
 
06.09.11
14:07
Сейчас вроде выгрузилось, ошибся нужно было вместо
ПКО = НайтиПравило(Источник.Товары[0].Номенклатура, "Номенклатура");

написать

ПКОНом = НайтиПравило(Источник.Товары[0].Номенклатура, "Номенклатура");

а то у меня ПКО подменилось :))
сейчас полезу проверять
10 Defender aka LINN
 
06.09.11
14:10
(8) Записывать при загрузке Номенклатуры. ВНЕЗАПНО, да?
11 Midzgun
 
06.09.11
14:12
(10) Там запись незаписанных объектов идет после загрузки данных, если ты об этом
12 MaxS
 
06.09.11
14:19
(9) а зачем в каждом документе искать одно и то же. Можно это в параметр вынести и где-нибудь глобально один раз перед выгрузкой заполнить.
13 Midzgun
 
06.09.11
14:30
(12) - я забыл поменять на
ПКОНом = Правила["Номенклатура"];
14 Defender aka LINN
 
06.09.11
15:28
(11) Если помолиться и очистить дух, то откроется третий глаз и 7-я чакра. Которая даст тебе подзатыльник и покажет события ПКО.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn