Имя: Пароль:
1C
1С v8
КД. Заполнить табличную часть документа
0 Stim213
 
18.07.11
21:39
Имеется запрос, возвращающий ТЗ с нужными колонками. Как заполнить ею табличную часть документа?
Делал ПВД с выборкой запроса, указывал в ней мою ПКО, у документа-приемника указывал - "получить из входящих данных". Загрузить не получилось - несоответствие таблиц. Я так понимаю, это из-за того, что приемник - документ, а не его ТЧ. Как бы сделать так, чтобы нормально загружалось?
1 Stim213
 
18.07.11
21:53
типа ап
2 ДенисЧ
 
18.07.11
21:55
позорище.
В правила создай правило для группы, в нём перед выгрузкой создай КоллекциюОбъектов, которую заполни нужными колонками и данными. Галку про входящие - убери.
3 Stim213
 
18.07.11
21:57
(2) коллекцию объектов прямо в ПКО? Она "перейдет" из выгрузки в загрузку?
4 GenV
 
18.07.11
22:18
(3) ТЧ обычно формируют в ПВД, если в качестве источника тоже выступает выборка. Иначе достаточно (как уже посоветовали) заполнить предопределенную переменную КД КоллекцияОбъектов В ПередВыгрузкой ПКГС (нажми "Информация по обработчикам" для ПКГС, хотя там пример для входящих данных).
5 Stim213
 
20.07.11
15:08
Создал ПКГС БухСправка, в передобработкой заполнил КолекциюОбъектов результатом моего запроса(ТЗ). Выгружается: 0 объектов. В ПВД нужно что-то писать?
6 Aprobator
 
20.07.11
15:19
(0) показывай как в Исходящие данные таблицу пихал (запрос не надо показывать.)
7 Stim213
 
20.07.11
15:20
(6) ПВД, произвольный алгоритм.
ВыборкаДанных = Новый Запрос;
8 Stim213
 
20.07.11
15:28
апп
9 ДенисЧ
 
20.07.11
15:28
(7) и?
10 Aprobator
 
20.07.11
15:34
(7) это выше моего понимания. Соррь.
11 fisher
 
20.07.11
15:36
(0) Не понял. Тебе один документ создать нужно, что ли?
12 acsent
 
20.07.11
15:40
В ПКС, группы
КоллекцияОбъектов = Запрос.Выполнить().Выгрузить()
13 Stim213
 
20.07.11
15:40
(11) один. заполнить ТЧ произвольным результатом запроса
14 Stim213
 
20.07.11
15:41
(12) так и делал. А в ПВД что писать? Иначе ничего не выгружает
15 acsent
 
20.07.11
15:41
В пвд выгружаешь документ обычным образм, ничего лишнего
16 acsent
 
20.07.11
15:42
Запрос, то возвратщает что-нибудь? Как параметры устанавливал?
17 fisher
 
20.07.11
15:45
(14) В ПВД достаточно чего-нить типа
ВыборкаДанных = Новый Массив(1);
Ежели с массивом не проканает, скорми ему ТЗ с одной строкой - это гарантированно сработает.
18 Aprobator
 
20.07.11
15:47
нефига се как на людей перегрев влияет.
19 Aprobator
 
20.07.11
15:50
имена полей запроса соответствуют именам реквизитов приемника? Если идти по методу @ascent, то выборка (в ПВД) - стандартная. Но надо определиться, а что писать в реквизиты шапки документа.
20 fisher
 
20.07.11
15:52
(19) Ему ОДИН документ надо, все данные которого определяются в самом ПКО. ПВД ему надо только чтобы одноразово пнуть это ПКО.
21 GenV
 
20.07.11
15:53
(20) Не забыл напомнить про поля поиска, что бы дублей документов не было?
22 acsent
 
20.07.11
15:54
(20) откуда знаешь?
23 fisher
 
20.07.11
15:54
Ах да! ТС, не забудь про поля поиска, чтобы дублей документа не было при повторных выгрузках!
:)
24 acsent
 
20.07.11
15:55
(20) Тогда
Объект = Новый Структура;
Объект.Вставить(...)
Объект.Вставить("ИмяТЧ", ТЗ);

ВыгрузитьПоПравилу(Объект,,,,,,,,"Гдето тут имяпко")
25 fisher
 
20.07.11
15:56
(24) Зачем??? Всё так, как ты в (12) написал.
А для реквизитов шапки просто
Значение = ...
В "Перед выгрузкой" для ПКС
26 fisher
 
20.07.11
15:57
Хотя, если этот документ может выгружаться альтернативным способом, тогда лучше ПКО таки универсальным сделать, а всё шаманство вынести в ПВД...
27 Aprobator
 
20.07.11
15:58
(24) это все в ПВД - произвольный алгоритм. Если одним документом, то самый оптивальный вариант.
(25) а до ПКС как добраться?
28 GenV
 
20.07.11
16:00
(24) Массив (только поля придется в реквизитах прописывать) и ТЗ тоже подойдут для одного документа.
ЗЫ Мне например через ВыгрузитьПоПравилу не нравиться, т.к. имя правила нужно указывать, а не выбирать из справочника.
29 Stim213
 
20.07.11
16:01
ВыборкаДанных = Новый Массив(1); - Спс. Это именно то, чего не хватало. Странно, что в книге Бояркина это не было указано
30 Aprobator
 
20.07.11
16:03
(28) чере Объект.Вставить("ИмяРеквизита", Значение) - все и прописывается.
31 Stim213
 
20.07.11
16:04
Кста, дабы не плодить новых тем - кто-нить знает, как в типовом переносе 16-20 сделана привязка выгрузки остатков к документам ввода нач остатков? Так, что можно перегружать постоянно? Там по виду раздела привязывается?
32 GenV
 
20.07.11
16:22
(30) Я не про это. Я про то что если поменять потом интерактивно имя правила ПКО, то и в коде ПВД везде его надо менять. А так (по ссылке) делать ничего не надо, а выборка данных обработается нормально.
33 Aprobator
 
20.07.11
16:23
(32) ну енто то да.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс