v7: UUID в 1С 7.7 #581812


#0 by andkr
Подскажите, может кто сталкивался... Есть задача... Выгрузить из 1С 7.7 данные в XML файл. И в нем нужно указывать UUID объектов (документа, контрагента, договора) по шаблону: [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12} В 8-ке можно использовать метод УникальныйИдентификатор А вот как получить эту штуку в 7.7 не могу сообразить... Пробовал метод v77: ПреобразоватьВ_ИД(ЗначениеВСтрокуВнутр(Объект)), но она возвращает строку не в том формате :(
#1 by ДенисЧ
в 77 у элементов нет гуида. Если тебе очень надо, добавь свой реквизит и пропиши им туда уникальные значения.
#2 by andkr
Я думал об этом... Но я себе плохо представляю, как этот UUID формируется. И боюсь, что при считывании идентификация объекта может быть не верной. Т.е. мне нужно выгрузить документы в xml в систему для электронного обмена данных между предприятиями.
#3 by povar
"что при считывании идентификация объекта может быть не верной." что бы это значило ?
#4 by zladenuw
#5 by zladenuw
а вообще тута
#6 by andkr
"что при считывании идентификация объекта может быть не верной." что бы это значило ? Я думаю о том, что если в UUID есть отражение типа объекта, то сформированный новый GUID может быть не распознан при загрузке, как UUID определенного типа. Ведь GUID никак не связан с объектом для которого я его создаю. Раньше с этим дело не имел. Пытаюсь проверить опытным путем. Спасибо за подсказки!
#7 by ProxyInspector
Я сейчас как раз занимаюсь такой же задачей. Если ты будешь переность данные с помощью "Конвертации Данных", тогда там будет небольшая засада. Которая впрочем преодолима.  Если проблема просто получить GUID из ЗначениеВСтрокуВнутр(Объект))  то я планирую использовать следующую конструкцию (для бухгалтерии):  Здесь ОбъектCRC - это компонента, которая умеет считать CRC32.
#8 by andkr
идея интересная, попробую. Спасибо!
#9 by ProxyInspector
Потом расскажи, что получиться. У меня-то я надеюсь получиться минут через 20.  А самый простой способ - дополнительные реквизиты в справочник, общий реквизит в документы, подправить процедуры ВводНового не забыть про Копирование. И далее см
#10 by Aleksey
А зачем компонента? Пока СтрДлина(ИНН)<12 цикл ИНН="0"+ИНН; конецЦикла Пока СтрДлина(КПП)<10 цикл КПП="0"+КПП; конецЦикла ТекИдентификаторИсточника="АААААААА-"+Лев(ИНН,4)+"-"+Сред(ИНН,5,4)+"-"+Прав(ИНН,4)+"-BB"+КПП;
#11 by Aleksey
И странный механизм поиска ИНН/КПП. А если ИП у которого ИНН - 12 символов, КПП нет?
#12 by ProxyInspector
Можно и так. Такой странный механизм поиска ИНН/КПП в типовых правилах переноса из бух 77 в бух 82. Меня он устраивает.
#13 by andkr
Попробовать - попробовал. GUID создается. Только вот когда я в систему обмена доками загружаю свой xml - система выдает ошибку. И никак не говорит, что именно ей не нравиться. Очень надеюсь, что теперь уже не в идентификаторе дело. Завтра буду звонить в местную тех. поддержку, чтобы мне сказали в чем же именно я не прав :) Спасибо всем за помощь!
#14 by Mnemonic1C
Разве GUID это не стандарт? По идее пример в должен правильно отрабатывать. Другое дело что 1С использует "свой" гуид
#15 by Aleksey
Как ГУИД формируешь? Там 16-ная система, т.е. если в гуид будут символы типа "/" то естественно ей это не понравится
#16 by Mikeware
В случае чего, до объекта в семерке достучаться можно будет.
#17 by andkr
Я формирую функцией: Поскольку при загрузке все UUID проверяются на соответствие шаблону: [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12} И если есть несоответствие - сразу ругается.
#18 by ProxyInspector
Прикольно. В этом что-то есть. Самое приятное, что можно обратно достучаться.
#19 by Mikeware
Собственно, для того и делалось. только вместо 1с++овского объекта Метаданные достаточно использовать "типпоштатный метод" через ВСтрокуВнутр
#20 by Aleksey
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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