|
Конвертация данных: Как создать документ "на лету" по ссылке? | ☑ | ||
---|---|---|---|---|
0
breakthrough
14.11.12
✎
11:09
|
Здравствуйте.
Переношу остатки по взаиморасчетам из 7-ки ТИС в 8-ку КА. Конечный документ: "Ввод начальных остатков по взаиморасчетам". В табличной части этого документа пробую заполнить реквизиты "Сделка" и "ДокументРасчетов". Передаю в ПВД Ссылки на эти объекты и проставил для каждого этих реквизитов ПКС правило выгрузки ПКО для соотвествующих документов в 8-ке. Загвоздка в том, что эти поля не заполняются, документы не создаются. Со справочниками таких проблем не было - элементы создавались на лету. Что не так с документами? |
|||
1
leonidkorolev
14.11.12
✎
12:17
|
(0) "Передаю в ПВД..."
Непонятно как это вы делаете. В первую очередь надо создать ПКО для конвертации Сделка и ДокументРасчетов. Есть ли такие доки в ТИС? Если нет, то данные из входящих данных принимать. |
|||
2
breakthrough
14.11.12
✎
12:24
|
(1) Такие ПКО есть. Данные принимаются из ВходящихДанных.
Работает следущюая цепочка: ПВД для остатков вызывает "алгоритм/запрос", затем в результате выполнения запроса заполняются две таблицы значений (для Авансов и для ДебЗадолженности) и выгружаются по "ВыгрузитьПоПравилу" в ПКО , которое формирует документ "ВводНачальныхОстатковПоВзаимроасчетам". У этого документа есть две табличные части, обе заполняются также из входящихДанных объектамиколлекции через ПКГС. Так вот у ПКС ТЧ есть реквизиты: "Сделка" и "ДокументРасчетов" и для них указаны соответствующие ПКО. Ошибок нигде никаких нет. Ни при загрузке, ни при выгрузке. Ссылка передается ОбъектКоллекции. |
|||
3
breakthrough
14.11.12
✎
12:30
|
(1) можеть быть в ПКС нужно явно указать ссылку на объект?
Вот так: Значение = ОбъектКоллекции.Сделка; |
|||
4
breakthrough
14.11.12
✎
12:31
|
Хотя если значения свойств в ПКГС заполняются из ВходящихДанных, то смысла это делать особого нет.
|
|||
5
leonidkorolev
14.11.12
✎
12:44
|
Я бы сообщения вывели из ПКО сделка, посмотреть вызывается ли вообще и что туда передаётся.
|
|||
6
breakthrough
15.11.12
✎
07:28
|
(5) Каким образом это можно сделать?
|
|||
7
Lev292
15.11.12
✎
08:30
|
Если ты создаешь документ ввод остатков, в ПКО (ПередВыгрузкой) задай такой параметр: КлючВыгружаемыхДанных = ""+ВходящиеДанные.Получить("Комментарий")+ВходящиеДанные.Получить("Дата"); 1С не знает, что ты выгружаешь и поэтому такой косяк. Когда выгружаешь справочник или документ КлючВыгружаемыхДанных 1С генерит сама, а в твоем случае ей надо помочь!!!
|
|||
8
breakthrough
15.11.12
✎
14:27
|
(7) Огромное спасибо!!!
|
|||
9
breakthrough
15.11.12
✎
14:41
|
(7) Хм. Ключ прописал - эффект тот же...Странно.
|
|||
10
Lev292
16.11.12
✎
08:24
|
Ключ должен быть уникальным!!! Дата остатков наверняка одна и таже, а комментарий делай унакальным при каждом обращении в ПКО. Например Комментарий = "Док1", Во втором обращении Комментарий = "Док2" и так далее
|
|||
11
breakthrough
16.11.12
✎
08:32
|
(10) Подождите-ка...У меня сам документ "ввод начальных остатков по взаиморасчетам" выгружается. Более того сейчас я добился того, что выгружается Сделка. Были два момента:
1. Нужно было в выборке по документам указать ссылку на документ вида: Авансы.Сделка = Док.ТекущийДокумент(); 2. Нужно для ПКС "Сделка" в ПКО "ВводОстатков" в обработчике "ПередВыгрузкой" явно прописать: Значение = ОбъектКоллекции.Сделка; Сейчас остается проблема с созданием на лету документа "ДокументРАсчетовСКонтрагентами(ручнойучет)". По нему ссылки нет, а данные для ПКО формируются следующим образом: ИсходящиеДанные = СоздатьОбъект("СписокЗначений"); ИсходящиеДанные.Установить("Организация",ПолучитьЗначение(ВходящиеДанные,"Организация")); ИсходящиеДанные.Установить("Контрагент",ОбъектКоллекции.Контрагент); ИсходящиеДанные.Установить("ДоговорКонтрагента",ОбъектКоллекции.ДоговорКонтрагента); //Стр = ""+СокрЛП(ОбъектКоллекции.ДокументОплаты.Вид())+" № "+ОбъектКоллекции.ДокументОплаты.НомерДок+" от "+ОбъектКоллекции.ДокументОплаты.ДатаДок; ВидОперации = ПолучитьЗначение(ВходящиеДанные,"ВидОперации"); Стр = "Ввод начальных остатков по взаиморасчетам " + ?(ВидОперации = "РасчетыСПоставщиками", "с пост. ", "с пок. ") + ОбъектКоллекции.Контрагент.Код+" "+ОбъектКоллекции.ДоговорКонтрагента.ПолныйКод(); ИсходящиеДанные.Установить("Комментарий",Стр); ИсходящиеДанные.Установить("Дата",ОбъектКоллекции.Сделка.ДатаДок); ИсходящиеДанные.Установить("ДокументОснование",""); Что не так понять не могу. |
|||
12
perec1982
16.11.12
✎
08:35
|
Самый простой и быстрый вариант это универсальный подбор и обработка объектов.
|
|||
13
breakthrough
16.11.12
✎
08:35
|
Вопрос, как получить ссылку на объект когда он еще не создан. Или вернуть в ПКС ссылку на него после его создания в другом ПКО.
|
|||
14
breakthrough
16.11.12
✎
08:35
|
(12) Это как?
|
|||
15
perec1982
16.11.12
✎
08:37
|
Ну после того как загрузил документ Ввод начальных остатков по взаиморасчетам илпользуя эту обработку и произвольный алгоритм.
|
|||
16
breakthrough
16.11.12
✎
08:41
|
(15) Не понимаю. Поясните, пожалуйста.
|
|||
17
perec1982
16.11.12
✎
08:57
|
пользовался обработкой универсальный подбор и обработка объектов?
|
|||
18
perec1982
16.11.12
✎
09:04
|
на дисках ИТС есть такая обработка находится она в D:\1CIts\EXE\EXTREPS\UNIREPS82\UniversalSelection
|
|||
19
Lev292
16.11.12
✎
09:12
|
Есть в ПКО замечательный обработчик ПослеЗагрузки. В нем и нужно создвать документы ДокументРАсчетовСКонтрагентами(ручнойучет). ведь нельзя же перенести документы которых впринципе не существует.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |