Имя: Пароль:
1C
1С v8
КД: GUID загружаемого объекта?
0 Mikhail Volkov
 
20.07.14
20:31
Есть подозрение, что не все загружается... пишу в ПКО после загрузки:
Если Параметры.Комментировать И Не ОбъектНайден Тогда
    Сообщить("Загружен: " + СокрЛП(Объект) + " по заказ-наряду, GUID: " + СокрЛП(Объект.Ссылка.УникальныйИдентификатор()), СтатусСообщения.Информация);
КонецЕсли;

пишет нулевой GUID, а Объект.УникальныйИдентификатор() - дает ошибку: Метод объекта не обнаружен (УникальныйИдентификатор)
Как правильно определять GUID загружаемого объекта?
1 Naumov
 
20.07.14
20:54
Если объект еще не записан, то откуда этот метод вернет ГУИ?
Может ПолучитьСсылкуНового()?
2 Mikhail Volkov
 
20.07.14
21:34
Но у меня в ПКО только "Искать объект приемника по внутреннему идентификатору объкта источника", GUID должен быть известен!
3 echo77
 
20.07.14
21:45
(2) видимо, в другом месте ГУиД проставляется
4 Фокусник
 
20.07.14
21:48
(0) ИМХО, Объект = Неопределено
5 Mikhail Volkov
 
20.07.14
21:55
Мне надо вывести сообщение, когда в базе приемнике ОбъектНайден!? Чтобы после поверить по GUID, действительно ли он загрузился...
6 Immortal
 
20.07.14
21:56
(2) он известен
только ищешь ты его не там, где надо.
с чего это должен быть GUID нового объекта?
ищи его в свойствах, зачитанных из файла.
7 Immortal
 
20.07.14
21:56
(5) объект в общем случае всегда будет загружен
8 Mikhail Volkov
 
20.07.14
21:57
+(5) НЕ ОбъектНайден
9 Immortal
 
20.07.14
21:58
(8) не объектнайден <> объект не будет загружен
10 Mikhail Volkov
 
20.07.14
21:58
(7) В это как раз сомнения!
11 Mikhail Volkov
 
20.07.14
22:00
(9) И?
12 Immortal
 
20.07.14
22:00
(10)тогда смотри настройки ПКО в конвертации данных и алгоритм "После загрузки" и "Перед загрузкой" в ПКО и возможные контроли заполнения(перед записью, например)
13 Immortal
 
20.07.14
22:01
(11) И с тебя 100 баксов за консультацию
14 Mikhail Volkov
 
20.07.14
22:22
У КД есть свой оператор, определяющий GUID загружаемого объекта?
15 Immortal
 
20.07.14
22:28
(14)конечно, GUID передается из источника
16 Immortal
 
20.07.14
22:39
Скорее всего можно взять из значения УникальныйИдентификаторСтрокой.
Это зачитанный из файла GUID
17 thezos
 
20.07.14
23:17
(0) Так должно быть, продолжайте наблюдения
18 Mikhail Volkov
 
21.07.14
04:13
(16) Да, как вывести в сообщение зачитанный из файла GUID?
Перед выгрузкой просто:
Сообщить("GUID: " + Источник.Ссылка.УникальныйИдентификатор());
А после загрузки? Объект.Ссылка.УникальныйИдентификатор() - это GUID объекта в базе (там его еще может не быть), а не объекта в файле!?
19 Naumov
 
21.07.14
13:09
(18) Ты намеков вообще не понимаешь?
Запиши объект потом читай при помощи Объект.Ссылка.УникальныйИдентификатор()
20 Immortal
 
21.07.14
14:18
(18) Сообщить(УникальныйИдентификаторСтрокой);
после загрузки -
ЗаписатьОбъектВИБ(Объект,ТипОбъекта);
Сообщить("GUID: " + Объект.Ссылка.УникальныйИдентификатор());
21 Mikhail Volkov
 
21.07.14
14:42
(19) В том то и дело, что нельзя записывать! В принципе уже разобрался куда "пропадают" некоторые документы.
То, что "бесплатные" заказ-наряды (гарантийные, предпродажная подготовка) конвертируются в требования-накладные, а не реализации обнаружил сразу в обработчике "Перед выгрузкой". А то, что могут конвертироваться в другую реализацию ЕНВД в "После загрузки" с новым GUID - не сразу :(
(20) Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(114,79)}: Переменная не определена (УникальныйИдентификаторСтрокой)
И так УникальныйИдентификаторСтрокой() - тоже не катит: Процедура или функция с указанным именем не определена
22 Immortal
 
21.07.14
19:24
(21) а что за обмен?
23 Immortal
 
21.07.14
19:24
а то может там и нет такой переменной в обормотке
24 Mikhail Volkov
 
22.07.14
12:41
(22) Перепаханная Альфа-Авто с КА. Ситуация такая, филиалы торгуют с НДС, но имеют подчиненные СТО (Автосервис), которые на ЕНВД. Клиент пригоняет тачку в ремонт, сначала якобы покупает з/части, и передает их СТО как давальческое сырье. А те оказывают услуги по ремонту без НДС. В Альфа-Авто это один документ - заказ-наряд. А в КА идут два (если он не бесплатный): Реализация товара (с НДС) и Реализация услуг ЕНВД. Но бывает, что без з/частей (мойка, ТО), тогда 1-й не нужен, вот и "пропадают"...
(23) В файле GUID документа есть, как его прочитать?
25 Naumov
 
22.07.14
13:41
(24) если он тебе так нужен, то выгружай в параметр объекта.
26 Naumov
 
22.07.14
13:43
+ И проверь наконец ПолучитьСсылкуНового()
Если ГУИД передается и создан новый объект, то в событии ПослеЗагрузки уже определенно метод УстановитьСсылкуНового применен.
27 Mikhail Volkov
 
22.07.14
14:58
(26) ОК! Сообщить("GUID: " + XMLСтрока(Объект.ПолучитьСсылкуНового());
28 Naumov
 
22.07.14
18:01
(27) А не учили читать СП?
29 Mikhail Volkov
 
22.07.14
18:21
(28) Думал, что у КД свой оператор на это есть...
30 Immortal
 
22.07.14
19:49
(25) ерунда
(24) значит обработка УниверсальныйОбменДаннымиXML
тогда лежит в
А = СвойстваПоиска["{УникальныйИдентификатор}"]
31 Naumov
 
22.07.14
23:19
(30) А эта структура везде ли доступна? или только в событии "поля поиска"?
32 Immortal
 
23.07.14
13:00
(31) в "После загрузки" тоже должна быть
ТС в (0) про обработчик писал
А так - после загрузки объекта обнуляется - следующий объект - новые свойства поиска
33 Naumov
 
23.07.14
13:13
Я бы не заморачивался с доступностью этой структуры, а использовал ПолучитьСсылкуНового и читал ГУИ от туда.
Метод УстановитьСсылкуНового при наличие поиска по ГУИ определенно применяется.
34 Immortal
 
23.07.14
20:09
только если объект не найден, ну а дальше уже религия
35 Naumov
 
23.07.14
20:38
(34) А товарищу и нужно только для случая, когда создается новый объект.
36 Immortal
 
24.07.14
12:53
(35) для этого надо минимум определить, что он новый
что то я там выше увидело только про "ПолучитьСсылкуНового"
37 Naumov
 
24.07.14
18:37
(36) Кто ж выкладывает готовые рецепты? Умный намек поймет, тупому полный текст бесполезен будет.