Имя: Пароль:
1C
 
КД 2 После загрузки в объекте битая ссылка
, , ,
0 Скромный программер
 
01.09.21
12:04
Всем доброго дня.
Есть основной документ, у которого есть реквизит ДокументОснование.
Выгрузка идет через ВыгрузитьПоПравилу и в свойство ДокументОснование передается структура с нужными данными.
Проблема в том, что после загрузки в приемник в поле ДокументОснование битая ссылка, хотя сам документ, который должен стоять в этом поле загрузился, но с другим ГУИД.
1 DrShad
 
01.09.21
12:16
продолжайте наблюдения, держите нас в курсе
2 DrShad
 
01.09.21
12:19
правила некорректны
3 Скромный программер
 
01.09.21
12:38
(2) Да ладно?!
4 RomanYS
 
01.09.21
12:42
(0) начни с файла переноса, посмотри как там выглядит ссылка
5 Скромный программер
 
01.09.21
12:45
Ссылка на документ основание не переносится. Т.е. документ-основание генерируется при загрузке.
6 fisher
 
01.09.21
12:45
(0) Выгружай ДокументОснование как белый человек - через человеческую ссылку, конвертируемую по нормальному ПКО по ссылкам. А не споткнешься о свои же костыли со структурами.
7 Индиго
 
01.09.21
12:46
(0)А нафига туда передавать какую то структуру? Ищи нормально по ссылке.
8 Скромный программер
 
01.09.21
12:50
Еще раз напишу: ссылка для документа-основания не выгружается. Нет в источнике аналога для этого документа-основания и он генерируется автоматически при загрузке на основании набора данных.
9 fisher
 
01.09.21
12:50
(5) Ага. И ты надеялся, что КД сама догадается воткнуть в качестве ссылки сгенеренный в приемнике по структуре документ? Не. Не догадается. Оно там разнесено по разным местам и конкретно такая фича не реализована.
10 Скромный программер
 
01.09.21
12:54
(9) Я не надеюсь, а знаю - раньше ведь так делал и не раз. Структура данных передается свойству выгружаемого объекта.
11 fisher
 
01.09.21
12:55
Хотя погоди. Если для ПКС документа-основания нормальное ПКО нарисовано, то по-идее должно было получится.
12 Индиго
 
01.09.21
12:56
(8)Тогда сам устанавливай ему нужный УИД при создании
13 fisher
 
01.09.21
12:59
Не забыл прописать в ПКО документа основания КлючВыгружаемыхДанных?
14 Скромный программер
 
01.09.21
13:02
Заметил еще одну особенность. Итак, у меня есть основной документ (счет-фактура) и в нем документ-основание типа ПервичныйДокумент. При загрузке данных самый первый счет-фактура (пусть в нем будет контрагент "ИП Пупкин") загружается с заполненным документом-основанием, но он корявый: в нем заполнены только те реквизиты, которые в КД заданы как поля поиска, а остальные с/ф загружаются с пустым документом-основанием (с битой ссылкой). Более того, для этого самого "ИП Пупкин" загрузился еще один ПервичныйДокумент полностью заполоненный, т.е. корректный, но в счет-фактуру подставляется именно корявый.
15 fisher
 
01.09.21
13:05
Проверь чтобы в ПКО документа основания был прописан КлючВыгружаемыхДанных и поиск по внутреннему идентификатору был отключен.
16 Скромный программер
 
01.09.21
13:10
(15) Ключ - это и есть поля поиска. А что касается поиска по идентификатору, то я еще поставил галочку "Продолжить поиск по полям поиска, если по идентификатору объект приемник не найден".
17 fisher
 
01.09.21
13:14
(16) У тебя в принципе не может искать по идентификатору в этом случае. Поиск должен быть настроен ТОЛЬКО по полям поиска.
18 fisher
 
01.09.21
13:19
Ну и чтобы все-таки убедиться что с выгрузкой все норм - глянь в файл выгрузки. Все ли документы основания выгружаются.
19 fisher
 
01.09.21
13:21
Если выгружаются не все - значит все-таки есть проблема с дедупликацией выгрузки. Если выгружаются все - значит проблема с поиском при загрузке.
20 Скромный программер
 
02.09.21
07:08
Разобрался. Это просто какая-то жесть - чуть рак мозгов не заработал. В двух словах еще раз опишу проблему.
В приемнике есть документ счет-фактура на аванс и его основанием является документ ПервичныйДокумент.
Все исходные данные выгружаются в виде структур, т.е. нет никаких ссылок, в т.ч. и на счет-фактуру.
После загрузки в счет-фактуре в основании появляется битая ссылка и это при том, что все документы ПервичныйДокумент загружены, но с другими ГУИДами. При этом самый первый счет-фактура загружается с заполненным основанием, но этот ПервичныйДокумент заполнен коряво (только поля поиска), более того, в базу загружается его дубль и заполненный полностью, но он с другим ГУИД.

Вся проблема была в том, что у документа ПервичныйДокумент есть поле ДатаВходящегоДокумента типа Дата, причем состав даты ТОЛЬКО ДАТА, а в выгружаемых данных дата содержит еще и время больше нуля. Стоило модифицировать выгружаемые данные (привел даты на начало дня) и проблема исчезла. При этом, как я уже написал, в базу ранее загружались документы ПервичныйДокумент с заполненным полем ДатаВходящегоДокумента с отсеченным временем, но документы были с другими ГУИДами - отличными от тех, которые стояли в поле ДокументОснование счета-фактуры. Скорее всего при загрузке на первом проходе (при создании с/ф и попытке создать документ-основание) выясняется несовпадение дат по формату и ПервичныйДокумент не записывается, а на втором проходе этот фактор игнорируется и ПервичныйДокумент создается и записывается - но уже с новым ГУИДом.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс