|
Как программно закрыть заказ покупателя? | ☑ | ||
---|---|---|---|---|
0
MAPATNK2
naïve
20.09.19
✎
14:50
|
УПП 1.3.991
Всем доброго дня, хотела сделать ежедневное регламентное задание, которые будет закрывать параметры по определенным отборам. Но В итоге пришла в тупик, т.к. я просто не понимаю как программно создать документ "ЗАкрытие заказов покупателя". Не работает простейший код: Закрытие = Документы.ЗакрытиеЗаказовПокупателей.СоздатьДокумент(); Закрытие.Дата = ТекущаяДата(); Закрытие.Организация = стр2.Орг; Закрытие.Комментарий = "Автоматическое закрытие заказов!!!"; Закрытие.ВидОперации = Перечисления.ВидыОперацийЗакрытиеЗаказовПокупателей.ЗакрытиеЗаказов; Для каждого стр из Результат цикл ЗаказыЗакрывающиеся = Закрытие.Заказы.Добавить(); ЗаказыЗакрывающиеся.ЗаказПокупателя = стр.ДокументРез; ЗаказыЗакрывающиеся.ПричинаЗакрытияЗаказа = Справочники.ПричиныЗакрытияЗаказов.НайтиПоНаименованию("Автоматическое закрытие и снятие резервов"); КонецЦикла; Попытка Закрытие.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Оперативный); Исключение Закрытие.Записать(); КонецПопытки; Во первых документ создается пустым, т.е. без заказов. Хотя типЗначений ЗаказыЗакрывающиеся.ЗаказПокупателя и стр.ДокументРез абсолютно идентичны. Во вторых я вижу кучу полей в табличной части формы, но если обратиться программно к данной табличной части новго документа то я получаю всего 3 колонки. Заказ, который блин вообще не подставляется, причина закрытия и номер строки. Где все остальное и как это добавлять не понимаю. Может есть ещё какой нибудь способ программно быстро закрывать заказы? |
|||
1
MAPATNK2
naïve
20.09.19
✎
14:54
|
Зачем так усложнять этот документ...Я наверное что то не понимаю в этой жизни.
|
|||
2
Креатив
20.09.19
✎
15:14
|
(0)Отладчик нужен, однако.
И проверять значения после присвоения. Запросто может быть несоответствие типов. А что при записи происходит? |
|||
3
MAPATNK2
naïve
20.09.19
✎
15:16
|
(2)после прохождения
ЗаказыЗакрывающиеся.ЗаказПокупателя = стр.ДокументРез; этого участка значение правой части не присваивается левой части. Т.е. ЗаказыЗакрывающиеся.ЗаказПокупателя остается пустым. ТипЗначений я проверила, это ведь видно в отладчике. |
|||
4
Креатив
20.09.19
✎
15:16
|
А ещё можно отладчиком посмотреть, что происходит при интерактивном создании документа.
|
|||
5
MAPATNK2
naïve
20.09.19
✎
15:16
|
тип везде ДокументСсылка.ЗаказПокупателя
|
|||
6
MAPATNK2
naïve
20.09.19
✎
15:17
|
(4) это где?
|
|||
7
MAPATNK2
naïve
20.09.19
✎
15:17
|
(4) Просто ручками в табличную часть все встает, а программно сразу пустое значение после прохождения строки присвоения.
|
|||
8
ГдеСобака Зарыта
20.09.19
✎
15:19
|
А Документ ЗакрытиеЗаказовПокупателей это типовой или сами придумали?
|
|||
9
MAPATNK2
naïve
20.09.19
✎
15:23
|
(8) Типовой
|
|||
10
Креатив
20.09.19
✎
15:25
|
Я бы попробовал вот эту строчку разбить.
ЗаказыЗакрывающиеся = Закрытие.Заказы.Добавить(); До цикла. Заказы = Закрытие.Заказы. А внутри ЗаказыЗакрывающиеся = Заказы.Добавить(); Вряд ли дело в этом, но так красивей. |
|||
11
Креатив
20.09.19
✎
15:26
|
И что происходит в результате записи документа?
|
|||
12
MAPATNK2
naïve
20.09.19
✎
15:29
|
(10) спасибо помогло. Что то я намудрила, к табличной части в цикле обращалась....Хотя вроде бы всегда так делала или может переработала. Но разделение помогло, спасибо.
|
|||
13
Креатив
20.09.19
✎
15:40
|
(12)Рад за тебя и за свою интуицию. Строчка в глаза как-то бросалась.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |