|
Создание документов на основании ТЗ | ☑ | ||
---|---|---|---|---|
0
Валидатор
10.01.14
✎
14:52
|
Есть таблица документов, в ней куча строк с другими документами (списание товаров), нужно сделать, чтобы для всех этих списаний создавалось 1 ПТИУ с количеством товаров из каждого списания из ТЗ. Как сделать такое условие? делал так:
Для каждого строка из ВремТаблица Цикл Если ТипЗНЧ(Строка.ДокументПриемник) = Тип("ДокументСсылка.СписаниеТоваров") Тогда ДокументПоступления = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент(); Иначе Продолжить; КонецЕсли; КонецЦикла; Но ведь в таком случае на каждую строку будет новый документ создаваться |
|||
1
Валидатор
10.01.14
✎
14:53
|
А перед циклом тоже не создать документ, потому что мы сначала должны посмотреть какой тип в Строка.Документприменик
|
|||
2
zladenuw
10.01.14
✎
14:54
|
ДокументПоступления = Неопределено;
Для каждого строка из ВремТаблица Цикл Если ТипЗНЧ(Строка.ДокументПриемник) = Тип("ДокументСсылка.СписаниеТоваров") и ДокументПоступления = Неопределено Тогда ДокументПоступления = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент(); Иначе //заполняем КонецЕсли; КонецЦикла; |
|||
3
МихаилМ
10.01.14
✎
14:55
|
офильтруйте в тз нужные данные и создайте ТЧ на основе отфильтрованной
|
|||
4
Валидатор
10.01.14
✎
14:55
|
(2) на иначе нужно получать же документ будет так?
|
|||
5
Валидатор
10.01.14
✎
14:58
|
а хотя нет, у нас же про неопределено есть условие
|
|||
6
Валидатор
10.01.14
✎
15:00
|
и в ТЗ моей есть документы списания с датами документа, а поступление мне нужно создавать датой на день меньше, чем минимальная дата списания, вот тут как быть?
|
|||
7
Валидатор
10.01.14
✎
15:18
|
и вот еще:
Для каждого строка из ВремТаблица Цикл Если ТипЗНЧ(Строка.ДокументПриемник) = Тип("ДокументСсылка.ТребованиеНакладная") и ДокументПоступления = Неопределено Тогда в таком случае цикл идет по 1 строке ВремТаблицы, создается документ, потом цикл заканчивается, и идет по второй строчке, тем самым пропуская заполнение данных из ТЧ первого документа |
|||
8
Валидатор
10.01.14
✎
15:18
|
ДокументПоступления = Неопределено;
Для каждого строка из ВремТаблица Цикл Если ТипЗНЧ(Строка.ДокументПриемник) = Тип("ДокументСсылка.ТребованиеНакладная") и ДокументПоступления = Неопределено Тогда ДокументПоступления = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент(); ДокументПоступления.Дата = ТекущаяДата(); Иначе Для каждого стр из строка.ДокументПриемник.Материалы Цикл ТЧДокумента = ДокументПоступления.Товары.Добавить(); ТЧДокумента.Номенклатура = стр. Номенклатура; ТЧДокумента.Количество = стр.Количество; КонецЦикла; КонецЕсли; Попытка ДокументПоступления.Записать(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЦикла; |
|||
9
Валидатор
10.01.14
✎
15:40
|
ап
|
|||
10
Zubek
10.01.14
✎
16:39
|
Если Нужен один документ ПТИУ, то создай его до цикла по ВремТаблице. А внутри цикла добавляй только новые строки в ТЧ. После выхода из цикла запиши документ
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |