|
v8: 8.2 Заполнение документов по результату запроса | ☑ | ||
---|---|---|---|---|
0
Анастасия_85
16.05.12
✎
10:06
|
Здравствуйте
Есть 2 запроса: в итоге первого получается поля: лицевой счет и общая сумма по лицевому счету (сгруппировано по лицевому счету). Я эти поля добавляю в массив Для 2-го запроса устанавливаю параметры массив (из 1-го запроса данные). В результате второго запроса получаются поля: лицевой счет, период, сумма (детализировано по лицевому счету) Если в результате первого запроса получается к примеру 15 строк, то в результате второго >15. Мне нужно: создать количество документов = количество строк из первого запроса. (Получилось) И потом заполнить табличную часть данными из второго запроса. На каждый лицевой счет - только 1 документ (не получается заполнить табличную часть существующего документа) |
|||
1
Wobland
16.05.12
✎
10:08
|
отличный заголовок!
|
|||
2
Aleksey
16.05.12
✎
10:08
|
Долго над заголовком думала?
|
|||
3
Wobland
16.05.12
✎
10:09
|
(2) явно дольше, чем надо фото
|
|||
4
Wobland
16.05.12
✎
10:09
|
(3) экая фрейдовская оговорка ;)
|
|||
5
salvator
16.05.12
✎
10:12
|
(4) :)))
|
|||
6
Анастасия_85
16.05.12
✎
10:13
|
тема должна была звучать так: 82 как записать данные в табличную часть существующего документа. Уже к сожалению не изменить название темы
|
|||
7
Wobland
16.05.12
✎
10:15
|
(6) с заголовком разобрались. но только с заголовком
|
|||
8
Азазелло
16.05.12
✎
10:16
|
(0) а в чем именно сложность заполнения ТЧ _существующего_ документа?
|
|||
9
Анастасия_85
16.05.12
✎
10:20
|
делаю таким образом: (результат 2-го запроса)
Пока выборка.следующий() цикл КУ_Претензия.НайтиПоРеквизиту("собственник",Выборка.ЛицевойСчет) тогда ЗаписьДок=документы.КУ_Претензия.НайтиПоРеквизиту("собственник",Выборка.ЛицевойСчет); строкаТч=ЗаписьДок.Задолженность.Добавить(); СтрокаТЧ.ЛицевойСчет= Выборка.ЛицевойСчет; СтрокаТЧ.ВидУслуги = Выборка.ВидУслуги; СтрокаТЧ.ПериодВзаиморасчетов=Выборка.ПериодВзаиморасчетов; СтрокаТЧ.СуммаВсего=Выборка.СуммаВсего; СтрокаТЧ.СуммаДолга=Выборка.СуммаДолга; СтрокаТЧ.СуммаПени=Выборка.СуммаПени; Док.Записать(); КонецЦикла;//выборка.следующий() цикл |
|||
10
Wobland
16.05.12
✎
10:20
|
КУ_Претензия.НайтиПоРеквизиту
а если их несколько? или нет? |
|||
11
Анастасия_85
16.05.12
✎
10:22
|
должно быть 1 лицевой счет=1 претензия
|
|||
12
Анастасия_85
16.05.12
✎
10:24
|
также возможно сделать проверку, если есть уже для данного лицевого счета претензия и реквизит документа период совпадает с новым документом- тогда перезаписать, иначе создать новый
|
|||
13
фросия
16.05.12
✎
10:26
|
(0) в чем проблема? непонятно
(не получается заполнить табличную часть существующего документа)- это? |
|||
14
Азазелло
16.05.12
✎
10:27
|
(10) а может тебе лучше в самом 1м запросе сразу делать джойн документа КУ_Претензия на лиц. счет?
(9) ЗаписьДок=документы.КУ_Претензия.НайтиПоРеквизиту("собственник",Выборка.ЛицевойСчет); - эта штука возвращает тебе Ссылку, а для добавления строк в ТЧ необходимо использовать Объект. |
|||
15
фросия
16.05.12
✎
10:27
|
Записьдок- это ссылка на док, если хочешь в него что то записать, надо сделать .ПолучитьОбъект
|
|||
16
Анастасия_85
16.05.12
✎
10:39
|
Благодарю, сейчас попробую
|
|||
17
Анастасия_85
16.05.12
✎
12:23
|
Все получилось.
Изменила на: собственник=Справочники.Контрагенты.НайтиПоНаименованию(выборка.ЛицевойСчет).Ссылка; ЗаписьДок=документы.КУ_Претензия.НайтиПоРеквизиту("собственник",собственник).ПолучитьОбъект(); до этого вообще не выбирались документы, и при получить объект выскакивала ошибка, что элемент не выбран т.к.был другой тип данных собственника. Еще раз благодарю за помощь :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |