Получить уникальный идентификатор 1с
Есть две базы. В первой запускаю обработку, которая соединяется по ком соединению со второй и выбирает нужные документы. Далее эти документы перебираю, делаю определенные действия (не важно какие), и в процессе перебора мне нужно получить УИД документа, который был получен по ком соединению из второй базы.
Пишу так
ВыборкаДокумент.Ссылка.UUID()
Мне возвращает естественно COMОбъект. Как мне получить значение полученного УИДа по сом соединению?
(1) Petrovichka, как выборку формируешь? через таблицу значений или через методы комОбъекта?
в принципе как вариант в модуле документа второй базы забить экспортную функцию для этих целей и вызывать ее как метод объекта, вобщем что-то вроде этого на вскидку.
(2) Восьмой, Формирую так:
V82 = Новый COMObject ("V82.COMConnector");
Соединение82 = V82.Connect("Srvr="+СокрЛП(Сервер)+";Ref="+СокрЛП(ИмяБазы)+"; Usr="+СокрЛП(ИмяПользователя)+"; Pwd="+Пароль+";");
ЗапросСоединение = Соединение82 .NewObject("ПостроительЗапроса");
ЗапросСоединение.Текст = //запрос по документам
ЗапросСоединение.Выполнить();
ВыборкаДокумент = ЗапросСоединение.Результат.Выбрать(Соединение82 .ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаДокумент.Следующий() Цикл
//тут мне нужно получить значение УИДа
КонецЦикла;
Нужно делать все в первой базе.
И какой смысл создавать экспортную процедуру во второй базе? Если я к ней и достучусь, то все равно на выходе получу COMОбъект. Что вы предлагаете, чтобы эта процедура делала и как она мне поможет в получении УИДа?
(3) Petrovichka, Вобщем смотри тут какая ситуация - из комОбъекта в нормальном виде возвращаются только примитивные типы, метод УникальныйИдентификатор() возвращает прикладной тип УникальныйИдентификатор поэтому в COMе он всегда интерпретируется как комОбъект. Получение объекта типа УникальныйИдентификатор из второй базы, для первой базы не имеет никакого смысла в принципе, поэтому смысл есть только в получении представлении ссылки . Поэтому если тебе нужно получить строковое представление ссылки из Второй базы то нужно в ней расширить контекст методов объекта - в твоем случае это документ в моем справочник - методом который будет тебе возвращать примитивный тип (Строка) со строковым представлением GUID. . У меня во второй базе вот такая тема в модуле объекта справочника:
Функция СообщитьСсылку() Экспорт
Возврат Строка(ЭтотОбъект.Ссылка.УникальныйИдентификатор());
КонецФункции;
и когда я из первой базы стучусь к этому методу то выглядит это так:
V82 = Новый COMObject ("V82.COMConnector");
Соединение82 = V82.Connect("File=""\\meridian.ru\dfs\UserFolders\SSedyshev\Мои документы\InfoBase3""");
ЗапросСоединение = Соединение82.NewObject("Запрос");
ЗапросСоединение.Текст ;
Результат = ЗапросСоединение.Выполнить().Выбрать();
//ЗапросСоединение.Execute
Пока Результат.Следующий() Цикл
Сообщить(Результат.Наименование);
Сообщить(Результат.Ссылка.ПолучитьОбъект().СообщитьСсылку());
КонецЦикла;
Но ИМХО напрямую управлять данными через COM это очень не кашерно, правильней использовать экспортные процедуры общих модулей ВнешнегоСоединения у COMОбъекта которые и манипулируют данными на основании параметров переданных в COM изВне.
Для получения уникального идентификатора объекта, используйте код вида:
Код 1C v 8.х
Как с помощью запроса получить уникальный идентификатор:
Код 1C v 8.х
В 1С 7.7 можно получить так
Через v7plus.dll
Код 1C v 7.x
Через WScript
Код 1C v 7.x
при OLE доступе:
Код 1C v 7.x
Еще посмотрите метод:
ЗначениеВСтрокуВнутр();
Синтаксис:
ЗначениеВСтрокуВнутр()
Назначение:
Преобразование значения объекта агрегатного типа в строковое системное представление.
Возвращает: представление значения объекта в строковом системном виде.
Параметры:
- значение объекта агрегатного типа данных которое нужно преобразовать.
Похожие FAQ
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C: Enterprise Development Tools 50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Блокировка записей, невозможно изменить или удалить из регистра. Конфликт блокировок MS SQL + 1C 3
При попытке удалить запись из регистра сведений - получаю ошибку: она заблокирована, ошибка блокировок и т.д. Отключил всех пользователей, перезапустил сервер, пробую удалить - опять ошибка блокировки :( Путем тестов было вяснено, что проблема Вывод результата запроса на форму УП в таблицу значений (аналог СоздатьКолонки() для УП) 2
при разработке на обычных формах было удобно выводить результат запроса используя метод СоздатьКолоки(): Процедура ПоискНажатие(Элемент) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДокументоОборот.Этап, | ДокументоОборот.Отдел, | Докуме Посмотреть все результаты поиска похожих
Еще в этой же категории
Полнотекстовый поиск в 1С (что это и пример использования) 23
Полнотекстовый поиск - позволит найти текстовую информацию, размещенную практически в любом месте используемой конфигурации. При этом искать нужные данные можно либо по всей конфигурации в целом, либо сузив область поиска до нескольких объектов Дата создания объекта по ссылке (GUID) 7
Код позволяет получить информацию о дате и времени создания объекта ИБ (документ, элемент справочника) по уникальному идентификатору (GUID) Позволяет узнать, когда был создан документ или элемент справочника. Для получения информации используется у Циклы в языке 1С, примеры и тест - какой цикл быстрее? 6
Циклы применяются для выполнения каких либо повторяющихся действий, возможные варианты перебора в цикле: Перебираем строки с помощью цикла Для каждого Для каждого ТекСтрока Из КоллекцияСтрок Цикл // код обработки КонецЦикла; Перебираем строки Полнотекстовый Поиск - пример поиска контрагентов в базе 3
У клиента огромная база клиентов и соответственно огромный штат менеджеров. Дошло до того, что менеджеры в поисках новых клиентов( знакомство, интернет, реклама и т.д.) очень часто звонят одним и тем же клиентам по несколько раз. Стали вести базу зв Отказ от модальности - Где, Что и Как? 2
В общем виде задача отказа от модальности заключается в том, чтобы заменить модальные методы их асинхронными аналогами. Старая процедура, открывавшая модальное окно и обрабатывавшая полученные им данные, могла выглядеть так: В новом варианте Посмотреть все в категории Встроенные Функции
Для получения уникального идентификатора объекта, используйте код вида:
Код 1C v 8.х
Как с помощью запроса получить уникальный идентификатор:
Код 1C v 8.х
В 1С 7.7 можно получить так
Через v7plus.dll
Код 1C v 7.x
Через WScript
Код 1C v 7.x
при OLE доступе:
Код 1C v 7.x
Еще посмотрите метод:
ЗначениеВСтрокуВнутр();
Синтаксис:
ЗначениеВСтрокуВнутр()
Назначение:
Преобразование значения объекта агрегатного типа в строковое системное представление.
Возвращает: представление значения объекта в строковом системном виде.
Параметры:
- значение объекта агрегатного типа данных которое нужно преобразовать.
Похожие FAQ
Еще в этой же категории
Полнотекстовый поиск в 1С (что это и пример использования) 23
Полнотекстовый поиск - позволит найти текстовую информацию, размещенную практически в любом месте используемой конфигурации. При этом искать нужные данные можно либо по всей конфигурации в целом, либо сузив область поиска до нескольких объектов Формат, функция форматирования значений 21
//Функция формирует удобное для чтения представление значений. // Примеры форматирования чисел ЗначФормат = Формат(123456.789, " ЧЦ=10; ЧДЦ=2" ); // ЗначФормат = " 123 456,79" ЗначФормат = Формат(123456.789, " ЧГ=0; ЧДЦ=2" ); // Знач Обработчики событий при записи объектов. Зачем и что за чем? 12
Программисту, имеющего немного опыта на платформе 1С 8.2, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта, а-а-а-а-аааа. Именно такое сложное чувство непонимания УстановитьСсылкуНового 11
Установить ссылку нового это специальный механизм программиста, который позволяет присваивать новому объекту нужную ссылку. В основном это задача обмена, во многих типовых обменах используется синхронизация по UID объекта. Рассмотрим этот метод на к МоментВремени, получение остатков до и после проведения 9
" Момент времени" - виртуальное поле, не хранится в базе данных. Содержит объект МоментВремени (который включает в себя дату и ССЫЛКУ НА ДОКУМЕНТ) В 7.7 было понятие ПозицияДокумента, а в 8.x Момент времени Для получения Остатков, Движений: М Посмотреть все в категории Встроенные Функции
Для получения уникального идентификатора объекта, используйте код вида:
Код 1C v 8.х
Как с помощью запроса получить уникальный идентификатор:
Код 1C v 8.х
В 1С 7.7 можно получить так
Через v7plus.dll
Код 1C v 7.x
Через WScript
Код 1C v 7.x
при OLE доступе:
Код 1C v 7.x
Еще посмотрите метод:
ЗначениеВСтрокуВнутр();
Синтаксис:
ЗначениеВСтрокуВнутр()
Назначение:
Преобразование значения объекта агрегатного типа в строковое системное представление.
Возвращает: представление значения объекта в строковом системном виде.
Параметры:
- значение объекта агрегатного типа данных которое нужно преобразовать.
Похожие FAQ
Еще в этой же категории
Полнотекстовый поиск в 1С (что это и пример использования) 23
Полнотекстовый поиск - позволит найти текстовую информацию, размещенную практически в любом месте используемой конфигурации. При этом искать нужные данные можно либо по всей конфигурации в целом, либо сузив область поиска до нескольких объектов Формат, функция форматирования значений 21
//Функция формирует удобное для чтения представление значений. // Примеры форматирования чисел ЗначФормат = Формат(123456.789, " ЧЦ=10; ЧДЦ=2" ); // ЗначФормат = " 123 456,79" ЗначФормат = Формат(123456.789, " ЧГ=0; ЧДЦ=2" ); // Знач Обработчики событий при записи объектов. Зачем и что за чем? 12
Программисту, имеющего немного опыта на платформе 1С 8.2, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта, а-а-а-а-аааа. Именно такое сложное чувство непонимания УстановитьСсылкуНового 11
Установить ссылку нового это специальный механизм программиста, который позволяет присваивать новому объекту нужную ссылку. В основном это задача обмена, во многих типовых обменах используется синхронизация по UID объекта. Рассмотрим этот метод на к МоментВремени, получение остатков до и после проведения 9
" Момент времени" - виртуальное поле, не хранится в базе данных. Содержит объект МоментВремени (который включает в себя дату и ССЫЛКУ НА ДОКУМЕНТ) В 7.7 было понятие ПозицияДокумента, а в 8.x Момент времени Для получения Остатков, Движений: М Посмотреть все в категории Встроенные Функции
Обработка-отчет позволяет в любой базе 1С 8 узнать уникальный идентификатор объекта или, наоборот, по известному уникальному идентификатору быстро найти объект. Работает и в толстом и в тонком клиенте. Требуется для настроек выгрузки-загрузки и синхронизации данных. Может использоваться как пример при в собственных отчетах и обработках для установки значений параметров когда например у справочника отключен код а наименование могут в любой момент изменить, а нужно однозначно обратиться к нужному элементу.
Отчете работает для следующих типов объектов:
- Справочники
- Документы
- ПланыВидовХарактеристик
- ПланыСчетов
- ПланыОбмена
- БизнесПроцессы
- Задачи
- ПланыВидовРасчета
Собственно, отчет создавался для поиска и последующего редактирования нужных строк в файле таблицы соответствия правил переноса данных из различных рарусовских конфигураций в 1С Бухгалтерию и наоборот. Использовался непосредственно для конфигурации 1С 8.1 Управление автотранспортом и 1С 8.2 Альфа-авто и плюс самописные конфигурации предприятия. Проверено так же на конфигурации 1С Рарус Бэк-Офис, Управление торговлей 11, 1С Рарус Магазин автозапчастей. Кроме того, надеюсь, примененные механизмы за счет своей универсальности и простоты кому-то пригодятся как пример использования возможностей уникального идентификатора для решения собственных подобных задач.
Как пользоваться: В открытой форме в поле "Объект" выбираем нужный тип объекта , затем сам объект. В нижнем окне "УИД" получаем строковое значение уникального идентификатора. И наоборот заполнив в нижнем поле "УИД" строковое значение уникального идентификатора по нажатию клавиши "Enter" в верхнем поле увидим ссылку на объект конфигурации, которому УИД соответствует. Через клавишу Обзор можем соответственно открыть этот объект.
Причины купить
Обработка-отчет позволяет в любой, даже самописной, базе 1С 8 узнать уникальный идентификатор объекта или, наоборот, по известному уникальному идентификатору быстро найти объект. Работает и в толстом и в тонком клиенте. Предназначен для настроек выгрузки-загрузки и синхронизации данных.
Может использоваться как пример при в собственных отчетах и обработках для установки значений параметров когда например у справочника отключен код а наименование могут в любой момент изменить, а нужно однозначно обратиться к нужному элементу.
Достоинства
Отчете работает для следующих типов объектов:
- Справочники
- Документы
- ПланыВидовХарактеристик
- ПланыСчетов
- ПланыОбмена
- БизнесПроцессы
- Задачи
- ПланыВидовРасчета
Сравнение версий
Новая версия работает и толстом и в тонком клиенте. Старая версия работала только в толстом клиенте.
Читайте также: