Ссылка из строки "Документ.ПоступлениеТоваровУслуг" и УИД документа. КАК? #419465


#0 by Живой Ископаемый
Я, как программист пока не знаю какое значение у меня содержит строка.. Я хочу выполнить типа ДокументМенеджер.ПоступлениеТоваровУслуг(УИД)... Но с учетом того, что мне неизвестно чему будет равна строка - "Документ.ПоступлениеТоваровУслуг" или "Справочник.Контрагенты"
#1 by H A D G E H O G s
Сделай то и то, и посмотри, для кого в запросе можно получить код, а для кого - номер.
#2 by Serg_1960
Ежели Вас я правильно понял, то Вам надо ПолучитьСсылку(<Уникальный идентификатор>)
#3 by Terv
либо перебором либо пытаться пропарсить УИД, вот только не помню насчет реальности этого.
#4 by Pashkaa
Странно, хочу получить документ по GUID но его не знаю
#5 by Живой Ископаемый
2 в конечном итоге - ага 2 Или "Документ.РеализацияТоваровИУслуг".. или "Справчник.ДоговорыКонтрагентов" или еще с полсотни возможных строк
#6 by H A D G E H O G s
Цикл по ссылочным метаданным.
#7 by Живой Ископаемый
2 Строка пришла в файле.. Там прямо так и написано: Документ.ПоступлениеТоваровУслуг;95f47d8d-e866-42f8-add0-e92a95498961 Хочу получить ссылку на нужный объект
#8 by Живой Ископаемый
но это ведь ужас ужасный, ну!
#9 by H A D G E H O G s
Учитывая пост - совет - бессмысленен. Парсьте строку, и все окей.
#10 by Живой Ископаемый
и что Окей... Парсьте строку - и что дальше? Вот я даже получил строки "Документ" и "ПоступлениеТоваровУслуг", и как мне получить ссылку на документ?
#11 by Terv
юзай XML
#13 by Sammo
Документы.ПоступлениеТоваровУслуг.ПолучитьСсылку
#14 by Живой Ископаемый
2 О, Сенкс... :) 2 Точно, совсем забыл...
#15 by Живой Ископаемый
2 капец.. еще раз - я не знаю что это будет ПоступлениеТоваровУслуг и даже не знаю что это будет Документ
#16 by Sammo
На само деле 12 точнее будет. Но если нет типа (документа или справочника) тогда только перебором метаданных. + с нюансами, когда идентификаторы могут присваиваться ручками
#17 by Pashkaa
Да кстати, кто нить может понять почему нет метода который бы получал Объект по GUID не указывая тип самого объекта. 1С видимо решила что это трудозатратная задача для базы и такой изврат пишите сами типа.
#18 by Sammo
Потому что я могу руками присвоить одинаковый гуид эелементам в двух разных справочниках (или в справочнике и документе). И какой тогда возвращать? В 1с тип + УникальныйИдентификатор
#19 by Pashkaa
НУ а если у тебя есть строка в файле примерно Документ.ПоступлениеТоваровУслуг;95f47d8d-e866-42f8-add0-e92a95498961 Документ.РеализацияТоваровИУслуг;95f47d8d-e866-42f8-add0-e92a95498962 Документ.ПоступлениеТоваровУслуг;95f47d8d-e866-42f8-add0-e92a95498963 Документ.ЧекККМ;95f47d8d-e866-42f8-add0-e92a95498963 Почему бы не пропарсить саму строку и через разложения в массив и дальше ты бы уже знал что это документ и имеет определенный тип
#20 by Terv
радуйся штатному "ПолучитьСсылку", а не как в 77
#21 by Pashkaa
Возвращать именно объект соответствующий GUID. Т.к. во всей базе не может быть объектов разного типа с одинаковым GUID. А то что ты создал объект другого типа с предустановленным GUID дак это уже твоя ответственность.
#22 by Sammo
Создал. И как определить - какой я создал, а какой был создан в системе? Или более того - создам эелемент справочника договора с таким гуидом и элемент справочника контрагенты с таким же гуидом - кого возвращать? массив ссылок?
#23 by Живой Ископаемый
Вот так вродже решается: DocumentRef.ПоступлениеТоваровУслуг;95f47d8d-e866-42f8-add0-e92a95498961 DocumentRef.ПоступлениеТоваровУслуг;45d41626-6251-11de-b945-00241d280d2d Эти строки получены таким кодом при выгрузке: ЗТ.ЗаписатьСтроку(""+XMLТипЗнч(ЭлементДанных.Ссылка).ИмяТипа+";"+XMLСтрока(ЭлементДанных.Ссылка)); Соответственно можно прочитать вот так: Всем огромное спасибо
#24 by Pashkaa
А ты попробуй создать с одинаковым GUID объекты разных типов в одной базе.
#25 by Sammo
Делал. Через УстановитьСсылкуНового
#26 by GedKo
легко и?
#27 by Pashkaa
Ладно ладно забираю слова обратно, действительно можно. Я наивно полагал что он уникален во всей базе.
#28 by Terv
он сам по себе уникален ... заставь дурака богу молиться он и лоб расшибет (с) народная мудрость
#29 by GedKo
не понял, к чему пословица. видел конфу, где так организовывалась связка документов. довольно быстрое и оригинальное решение =)
#30 by H A D G E H O G s
Звиздец, да все реальные пацаны так делают..
#31 by GedKo
смотря для какой задачи =) коровий навоз - это ж обычное гуано, дык а некоторые его применяют успешно =)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С