Идентификатор реквизита как найти

как можно программно узнать идентификаторы реквизитов документа?

Я
   Девушка-Вамп

22.07.08 – 12:57

как можно программно узнать идентификаторы реквизитов документа и их тип?

в 7-ке это можно было сделать через метаданные, а в 8-ке как?

   Маркетолог

1 – 22.07.08 – 12:58

(0) Тоже через метаданные

   Terv

2 – 22.07.08 – 12:58

так же

   NcSteel

3 – 22.07.08 – 12:59

Что в твоем понимание “индентификаторы”, как я понимаю речь идет о Метаданных, Синтаксис помошник в руки

   Маркетолог

4 – 22.07.08 – 13:00

+(1) ))

Для каждого Реквизит Из ДокументСсылка.Метаданные().Реквизиты Цикл

   Сообщить(Реквизит.Представление());

КонецЕсли;

   Девушка-Вамп

5 – 22.07.08 – 13:03

(3) это Имя реквизита как оно в идентификаторе обозначается

(4) я это нашла – только в этом случае выводится представление реквизита же

   Salvador Limones

6 – 22.07.08 – 13:04

(5) Отладчик спёрли?

Остановись на Реквизит и глянь, какие он свойства предлагает.

   Маркетолог

7 – 22.07.08 – 13:06

(5) Посмотри в дебугере, что есть внутри переменной реквизит, ктроме представления

   Девушка-Вамп

8 – 22.07.08 – 13:07

о! нашла! всё оказалось просто:

Сообщить(Реквизит.Имя);

   hhhh

9 – 22.07.08 – 13:12

Сообщить(Реквизит.Имя);

   Salvador Limones

10 – 22.07.08 – 13:12

(9) Мастер-копипастер? 🙂

   hhhh

11 – 22.07.08 – 13:20

(10) пять минут набирал 10 букв.

   Девушка-Вамп

12 – 22.07.08 – 15:06

(11) там не 10, там 24 🙂

   Девушка-Вамп

13 – 23.07.08 – 11:01

а если надо узнать реквизит табличной части??

   MTM777

14 – 23.07.08 – 11:08

ДокументСсылка.Метаданные().ТабличныеЧасти.МаяТабЧасть.Реквизиты..

   у лю 427

15 – 23.07.08 – 11:12

.

Блондинко?

.

   Девушка-Вамп

16 – 23.07.08 – 11:20

тип того 🙂

   Девушка-Вамп

17 – 23.07.08 – 11:20

в синтаксис помощнике этого почемуто нет 🙁

   Grek224

18 – 23.07.08 – 11:21

Блин никогда еще не пил пиво с Блондинко-программистом! пора исправлять ошибки молодости 🙂

   Salvador Limones

19 – 23.07.08 – 11:23

(17) Да и фиг с ним.

Останавливаешься отладчиком, делаешь вычислить выражение на “ДокументСсылка.Метаданные()”. Увидишь много интересного.

   MTM777

20 – 23.07.08 – 11:28

зато буквы в (9) пральна пасчитала..))

  

Девушка-Вамп

21 – 29.07.08 – 13:35

(20) а то 🙂 профессия такая

(18) расценивать как приглашение?

Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан

diadoc

Ответим на все вопросы и поможем перейти на ЭДО

Подключиться

Число передаваемых через системы ЭДО документов исчисляется сотнями миллионов. Только клиенты Контур.Диадока отправили за 2020 год 237 млн документов. Пандемия увеличила интерес бизнеса к цифровым технологиям, а значит, в ближайшие годы все больше компаний будет переходить на цифру.

В связи с этим особенно важен вопрос идентификации. Ведь если система электронного документооборота не сможет точно определить, кто и кому отправляет документы, может возникнуть путаница. Это приведет как минимум к сбоям и трате времени пользователей, как максимум — к утере конфиденциальных данных, нарушению коммерческой тайны, ухудшению репутации, финансовым расходам.

В современных сервисах ЭДО этот вопрос решается с помощью идентификатора, или ID, участника ЭДО. Он представляет собой уникальный номер, который получает каждый пользователь системы. Присваивает его при регистрации оператор электронного документооборота, который отвечает за бесперебойную работу и безопасность передачи информации. 

Среди особенностей идентификатора:

  • он имеет единообразную структуру у всех пользователей,
  • его нельзя выбирать — он выдается организации по ИНН-КПП,
  • на одну пару ИНН-КПП полагается один код,
  • если у компаний одинаковый ИНН и разный КПП, у каждой будет свой идентификатор участника ЭДО,
  • код представляет собой последовательность цифр и латинских букв разного регистра,
  • первые три символа — это идентификатор (ID) оператора ЭДО, услугами которого пользуется компания, а остальные — непосредственно код пользователя.

Таким образом, идентификационный номер участника электронного документооборота выглядит так: 2BM-9617641160-961701000-201808150446459104749. 2BM — ID поставщика ЭДО, в данном случае — СКБ Контур. Остальные символы (их может быть не более 43)  идентифицируют пользователя.

Пример идентификатора ЭДО

Как уже было сказано выше, уникальные номера участников электронного документооборота позволяют идентифицировать пользователей. С помощью этого цифрового «адреса» операторы и контрагенты всегда могут найти нужную компанию. 

Регистрация у оператора ЭДО и получение идентификационного кода необходимы для обмена счетами-фактурами и другими формализованными документами. Идентификатор отправителя и получателя указывается в соответствующих полях xml-файлов:

  • счета-фактуры,
  • накладной,
  • акта приемки-сдачи работ или услуг и любых документов, чей формат утвержден ФНС.

Это требование указано, например, в приказах ФНС России от 19.12.2018 № ММВ-7-15/820@, 30.11.2015 № ММВ-7-10/551@, 30.11.2015 № ММВ-7-10/552@. Благодаря неповторяющимся кодам пользователей налоговая служба, а также провайдеры электронного документооборота определяют конкретную компанию в своих системах. Это позволяет избежать сбоев и ошибок, неверной адресации документов и других сложностей.

Кроме того, идентификатор нужен при настройке роуминга, который позволяет клиентам разных операторов ЭДО наладить обмен юридически значимой документацией друг с другом. Персональный номер контрагента в процессе подключения роуминга — например между системами Диадок и СБИС — потребуется вашему провайдеру для быстрого и корректного налаживания связи.

После настройки роуминга можно вести электронный документооборот с любой компанией. При этом все ключевые возможности электронного документооборота в Диадоке останутся доступны:

  • создание и отправка юридически значимых документов,
  • согласование документов внутри организации,
  • визирование документов квалифицированной электронной подписью,
  • конфиденциальный обмен без рисков подмены или перехвата файлов,
  • поиск и выгрузка документов для последующей отправки в налоговый орган по требованию,
  • распределение входящих, гибкая маршрутизация,
  • разграничение доступа,
  • автоматическая проверка формата счетов-фактур, актов, накладных,
  • безопасное хранение данных на нескольких серверах,
  • фиксация действий с документами,
  • круглосуточная техподдержка.

Стоимость услуг в роуминге тоже не отличается от обмена документами внутри сети.

Для настройки роуминга убедитесь, что оператор контрагента входит в перечень провайдеров, с которыми у Контура настроен роуминг, и отправьте заявку на странице. Настройка проходит с обеих сторон, когда она завершится, пользователь получит уведомление. Статус заявки можно отслеживать самостоятельно онлайн.

С некоторыми операторами роуминг настраивается автоматически, и список этих провайдеров увеличивается. Узнать о наличии автороуминга можно в разделе поиска контрагентов: у нужной компании с пометкой «Роуминг» будет кнопка «Отправить приглашение». В этом случае заявка не нужна — достаточно отправить обычное приглашение контрагенту. Если его направит контрагент, заявка появится в разделе «Приглашают вас».

diadoc

Ответим на все вопросы об ЭДО и поможем с подключением

Оставить заявку

Перед запуском электронного документооборота каждый пользователь ЭДО должен уведомить ФНС России о начале такого делопроизводства. Для этого заполняется заявление участника ЭДО. После чего формализованные документы, то есть отправляемые и получаемые счета-фактуры, накладные, акты будут иметь юридическую силу и приниматься к учету.

Заявление содержит данные:

  • наименование организации или Ф. И. О. индивидуального предпринимателя,
  • адрес нахождения организации или место жительства ИП,
  • ИНН/КПП,
  • контактные данные,
  • сведения о владельцах и реквизиты сертификатов ключа подписи,
  • данные о налоговом органе, к которому относится компания или ИП.

Пользователи Диадока могут получать код почти незаметно. Заявление в ФНС создается автоматически в тот момент, когда организация впервые отправляет или подписывает формализованный документ. Пользователь проверяет реквизиты и подтверждает подачу заявления, а оператор в течение трех дней формирует специальное информационное сообщение. В нем как раз указываются реквизиты компании и ID участника ЭДО.

О старте работы в сервисе и формировании заявления участника ЭДО рассказали наши эксперты на конференции DiadocDay:

Идентификатор вместе с заявлением и реквизитами компании подается в налоговый орган по месту учета компании. Этот процесс регламентируется приказом ФНС России от 12.09.2012 № ММВ-7-6/619@. Так налоговая узнает о наличии у организации электронных документов, которые можно истребовать в цифровом виде, и через какого оператора осуществляется их передача и получение. После этого пользователь может беспрепятственно начать полноценный обмен документами с контрагентами.

Заполнить и отправить заявление участника ЭДО можно самостоятельно при настройке реквизитов или личного кабинета в Диадоке перед началом работы. Для этого нужно открыть меню рядом с наименованием пользователя — «Настройки» — и перейти в «Реквизиты организации». Если заявление уже отправлялось ранее, оно отобразится по ссылке «История заявлений».

Если отправка происходит впервые, проверьте корректность заполненных полей — ОГРН, ИФНС (МРИ), юридический адрес. Если все верно, нажмите «Отправить». Также заявление можно обновить, если вы вошли в сервис с сертификатом, данные о котором не включались в заявление.

В случае изменений в реквизитах — смене наименования, ИНН или КПП — обратитесь в техническую поддержку Диадока, напишите в чат, закажите звонок или выберите другой удобный способ в «Центре поддержки». Это важно, поскольку на основе корректировок будет составлено и отправлено новое заявление в ФНС. В Диадоке для этого не нужно ничего настраивать — все происходит автоматически.

Отметим, что, согласно приказу Минфина РФ от 05.02.2021 № 14Н, участники электронного документооборота в своих заявлениях также должны выражать согласие либо несогласие на предоставление сведений другому оператору ЭДО для обмена документами с контрагентами из роуминга. В Диадоке все пользователи по умолчанию считаются согласными на передачу сведений. Однако это можно изменить: если вы не согласны на предоставление данных другому провайдеру, обратитесь в техподдержку сервиса.

В ситуации, когда необходимо узнать свой идентификатор участника электронного документооборота в системе ЭДО Контур.Диадок, нужно выполнить всего несколько действий.

  • Сперва войдите в Диадок для авторизации. Для входа потребуется электронная подпись или логин с паролем. 
  • Затем откройте меню «Настройки» в верхнем правом углу экрана. В поле «Идентификатор участника ЭДО (GUID)» будет указан нужный вам ID.

Здесь его можно не только посмотреть, но и скопировать, чтобы передать по назначению. Также найти идентификатор можно по адресу «Настройки» — «Реквизиты организации».

Идентификационный код контрагента потребуется для подключения роуминга. Узнавать его можно несколькими способами. Например, можно спросить у самого партнера или клиента. Он найдет свой ID в настройках используемой системы электронного документооборота или в реквизитах организации.

Самостоятельно узнать идентификатор ЭДО контрагента можно так:

  • Авторизуйтесь на портале Диадока с помощью действующего сертификата электронной подписи.
  • В левом меню выберите раздел «Контрагенты», а затем — «Поиск и приглашение».
  • Укажите в появившейся строке поиска ИНН нужной компании и запустите поиск. 
  • Нажмите на название организации и откройте ее персональную карточку.

Сразу после наименования компании и уточнения, работает ли она в Диадоке, будет расположена строка с указанием ИНН, КПП и ID. Для того чтобы просмотреть и скопировать код, достаточно нажать на активную ссылку. 

Кроме того, по трем первым символам идентификатора легко определить, каким провайдером электронного документооборота пользуется ваш контрагент, например это может быть Такском или Контур.Диадок.

Для того чтобы определить провайдера, следует зайти на сайт Федеральной налоговой службы России. Там размещен список доверенных операторов юридически значимого электронного документооборота, а также сведения о них. Указаны и идентификаторы, которые ФНС присваивает каждому доверенному провайдеру в соответствии с «Положением о Реестре доверенных операторов юридически значимого электронного документооборота», утвержденного приказом ФНС России от 23.10.2020 № ЕД-7-26/775@. Оператор получает идентификатор только после прохождения всех аккредитаций и присвоения официального статуса в ФНС. Если вам известен уникальный код участника ЭДО, по трем первым цифрам вы определите и оператора.

В Диадоке вы легко получите идентификационный код и сможете пользоваться всеми возможностями электронного документооборота. ЭДО в Диадоке — безопасный, быстрый, удобный способ обмениваться электронными документами. Эксперты сервиса помогут с подключением и ответят на все интересующие вопросы.

diadoc

Обеспечим юридически значимый документооборот с контрагентами в режиме онлайн

Подключиться

Чтобы узнать идентификатор в Диадоке нужно: 

  • авторизоваться в Диадоке,
  • перейти в «Настройки», 
  • изучить поле «Идентификатор участника ЭДО (GUID)», это и есть ваш идентификационный номер в ЭДО.

Еще найти идентификатор можно по адресу «Настройки» — «Реквизиты организации». Выше в статье есть скриншоты. 

Идентификатор ЭДО в СБИС можно посмотреть в карточке организации. Откройте вкладку «Настройки/Наша компания», перейдите в раздел «Документооборот». Появится информационное окно с кодом — это и есть идентификатор.

Идентификатор — это уникальный код участника электронного документооборота, который состоит из комбинации цифр и букв, где:

  • первые три символа — ID, который присваивает ФНС России оператору ЭДО;
  • остальные 43 символа — ID самого участника.

Идентификатор участника ЭДО — уникальный номер, который получает каждый пользователь системы. Он состоит из букв и цифр. Идентификатор присваивает оператор электронного документооборота  при регистрации компании. 

Как узнать идентификатор участнику ЭДО?

Дата обновления: 28.06.2022

Номер карточки: SD0022983

Видеоинструкция

Текстовая инструкция

Идентификатор участника ЭДО – это уникальный номер, который выдает оператор при регистрации участника в системе ЭДО. Он состоит из последовательности цифр и букв, например, 2AE11284CDD-D935-4603-881F-92DDB27D6BA0. По своей сути, идентификатор является “адресом” организации в системе обмена электронными документами и его может запросить контрагент или оператор для настройки роуминга. В этом случае идентификатор желательно передавать в редактируемом виде, т.е. скопировать код и вставить в ответ на запрос. Во многих системах идентификатор ЭДО отображается в карточке организации, где приводятся все ее реквизиты.

Как посмотреть идентификатор ЭДО в сервисе 1С-ЭДО

Пользователю 1С-ЭДО необходимо перейти в справочник “Организации”. В представленном списке нужно выбрать свою организацию и нажать «ЭДО – Учетные записи».

 Как посмотреть идентификатор рис.1.png

В открывшемся окне будут показаны все учетные записи ЭДО выбранной организации.

Как посмотреть идентификатор рис.2.png

Затем необходимо открыть интересующую учетную запись. На вкладке «Основное» представлены регистрационные данные организации. Идентификатор можно скопировать по соответствующей кнопке справа. 

Как посмотреть идентификатор рис.3.png

Примечание. При настройке обмена с контрагентом в 1С-ЭДО можно выбрать идентификатор контрагента из представленных в сервисе  или указать его вручную, если необходимый идентификатор отсутствует в списке доступных. Настройка происходит согласно инструкции. 

Следующая информация поможет пользователю и его контрагенту, если контрагент использует другое решение ЭДО и затрудняется с поиском идентификатора ЭДО.

Как найти идентификатор в системе Такском-Файлер

Идентификатор указан в разделе «Настройки – Идентификатор»

Как посмотреть идентификатор рис.4.png

Как найти идентификатор в системе Астрал Онлайн

Идентификатор указывается в верхней части раздела «Личный кабинет – Моя организация»

Как посмотреть идентификатор рис.5.png

Как найти идентификатор в системе СБИС ЭДО

В СБИС идентификатор ЭДО есть в Карточке организации: при наведении курсора на значок в виде галочки отобразится информация о регистрации организации в СБИС ЭДО. Идентификатор организации можно посмотреть в разделе «Конфигурация / Наша компания».

Как посмотреть идентификатор рис.6.png

Как найти идентификатор ЭДО в системе Диадок

Просмотреть идентификатор можно в меню «Реквизиты и настройки – Реквизиты организации».

Как посмотреть идентификатор рис.7.png

На чтение 3 мин. Просмотров 495 Опубликовано 15.12.2019

В любой конфигурации 1С 8 у каждого объекта(документа, элемента справочника, элемента плана видов характеристик и т.п.) есть уникальный идентификатор(УИН). При помощи него можно переносить объекты между базами РИБ не боясь задвоения данных, быстро находить элемент справочника или документ и т.п.

Как получить уникальный идентификатор из ссылки? При помощи свойства ссылки УникальныйИдентификатор(). Пример 1:

Уникальный идентификатор в 1С 8 имеет тип УникальныйИдентификатор, но его можно преобразовать и в строковое значение(получится строка вот такого вида: 9712e912-d0b9-11e1-b37b-0050568458ce).

Как получить ссылку имея уникальный идентификатор? При помощи метода ПолучитьСсылку( ) менеджера справочника, документа и т.п.

Пример 4 (Здесь УИН — значение типа УникальныйИдентификатор):

Пример 5(Здесь СтрокаУИН — переменная со строковым значением уникального идентификатора):

В примере 5 уникальный идентификатор получается из строкового значения при помощи конструктора Новый УникальныйИдентификатор( )

Проконсультироваться
со специалистом 1С

GUID (Globally Unique Identifier) — статистически уникальный 128-битный идентификатор. Его главная особенность — уникальность, которая позволяет создавать расширяемые сервисы и приложения без опасения конфликтов, вызванных совпадением идентификаторов. Хотя уникальность каждого отдельного GUID не гарантируется, общее количество уникальных ключей настолько велико (2128 или 3,402 * 10в38), что вероятность того, что в мире будут независимо сгенерированы два совпадающих ключа, крайне мала.

Для получения уникального идентификатора объекта, используйте код вида:
Код 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
Еще посмотрите метод:
ЗначениеВСтрокуВнутр( );
Синтаксис:
ЗначениеВСтрокуВнутр( )
Назначение:
Преобразование значения объекта агрегатного типа в строковое системное представление.
Возвращает: представление значения объекта в строковом системном виде.
Параметры:
— значение объекта агрегатного типа данных которое нужно преобразовать.

Если Вам встречались в базе записи » «, то значит настала пора познакомитсья с Уникальным идентификатором .

Уникальный идентификатор — это уникальный набор символов который характерезует экземпляр метаданных объектного типа в 1С(Напрмимер, элемент справочника или документ). По сути ссылка и является уникальным идентификатором, причем даже у разных видов объектов он не может быть похож. Выглядит он примерно так:

de80b7c8-aa22-11dc-a0f4-0011d85708ff

Т.е. это набор из 32 шестнадцатеричных цифр разделенных дефисами.

Надпись появляется в базе когда есть ссылка(уникальный идентификатор) на объект, а объекта в базе нет. Такое может возникнуть или при удалении объектов без проврки ссылочной целостности или при обмене между базами.

Разберем для примера надпись: (36:9c4e0022642fda9811e10393c0d776fd)

Для начала узнаем какой тип объекта был удален, для этого используем метод ПолучитьСтруктуруХраненияБазыДанных(), он возвращает таблицу значений(по умолчанию в формате SDBL) где указано соответсвие внутренних идентификаторов и объектов метаданных.

Например можно написать такой код:

В ней мы находим идентификатор который в конце содержит 36 (цифры до двоеточия), но только не в составе числа( Document2836 ), а точное соответсвие. В нашем случае это следующая строка:

Reference36 Справочник.Номенклатура

Значит удаленный элемент был элементом справочника «Номенклатура».

Как Вы заметили внутри скобок находится тип объекта и уникальный идентификатор строкой.

Теперь мы можем на одной из архивных копий найти удаленный элемент, добавив дефисы в имеющуюся у нас строку идентификтора:

Зная все значения полей мы можем вручную или с помощью обработок воссоздать удаленный элемент, но у них будет одно главное отличие — разные Уникальные идентификаторы. А если мы хотим восстановить элемент, то и идентификатор нужно восстановить тот же. Для этого нужно использовать метод «УстановитьСсылкуНового«, например так:

В самом названии «уникальный идентификатор» содержится два главных качества, которыми должен обладать данный объект:

  1. Он должен был уникальным;
  2. С его помощью можно легко определить, какой объект он идентифицирует.

Уникальность

Разговор про уникальность необходимо начинать с того, что такое GUID (Globally Unique Identifier) и как этот GUID формируется.

Событие, состоящее в выпадение двух абсолютно одинаковых чисел из последовательности, максимальный член которой имеет порядок 10 в 38 степени, очевидно, является маловероятным. Именно на этом и основан принцип глобального уникального идентификатора.

Каждый идентификатор содержит 128 бит информации, записанный в виде шестнадцатиричного числа ( в 1С имеет вид a96ca0cd-b164-11e6-80c2-00155d001fe4). Простенький код (Рис.1) позволяет получить УИ любого элемента базы данных.

Как получить уникальный идентификатор объекта в 1СРис.1

Конечно, полностью гарантировать уникальность отдельно взятого значения невозможно. Однако, шансы на то, что при работе приложений и сервис возникнут два разных объекта с одинаковым GUID крайне малы.

Идентификация

Воспользовавшись вышесказанными особенностями, статистически маловероятную величину решили использовать в программировании для определения уникальности того или иного объекта. Базы данных 1С также используют эту возможность.

Каждая ссылка в 1С на тот или иной объект данных состоит из двух частей, которые позволяют максимально полно его описать:

  • Уникальный идентификатор (УИ), можно называть его GUID;
  • Типа ссылки (описание объекта метаданных).

Таким образом, даже если случится маловероятное событие и генератор случайных чисел выдаст для еще одного объекта базы идентификатор уже существующего элемента, внутри одной таблицы (одного типа метаданных) такие два объекта существовать не будут.

Важно понимать, что УИ в базах 1С не позволяет идентифицировать элементы необъектного типа, в частности строки табличных частей документов и справочников. В случае возникновения такой необходимости, её придется прописывать самостоятельно.

Область использования уникального идентификатора

Исходя из свойств этого поля, вырисовываются и направления его применения:

  1. Обмен данными между конфигурациями;
  2. Поиск необходимого объекта;
  3. Восстановление неправильно удаленных объектов.

Один интересный факт: до записи объекта в базу данных 1С он имеет идентификатор, состоящий из нолей (00000000-0000-0000-0000-000000000000).

Обмен данными

Если говорить об обмене данными между разными конфигурациями 1С8, то здесь существует регистр сведений Значения свойств объектов, который позволяет хранить практически любую дополнительную информацию. Задав для справочника «Номенклатура» дополнительное свойство «УИ 82», и присвоив ему тип «Строка» (рис.2), мы тем самым можем сохранить в него уникальный идентификатор из другой базы.

Как получить уникальный идентификатор объекта в 1СРис.2

Синхронизация подобным образом позволяет без проблем производить выгрузку в обоих направлениях, не опасаясь пересортицы и задвоения элементов.

Поиск объекта

Поиск по строковому идентификатору – операция не характерная для объектноориентированной базы данных, однако, в отсутствии других возможностей, можно использовать и его. Следует понимать, что в общем случае осуществить поиск по УИ в базе данных невозможно, необходимо четко знать, в какой таблице необходимо осуществлять поиск.

Восстановление объектов

Зачастую при формировании отчетов пользователи сталкиваются со строкой (рис.3).

Как получить уникальный идентификатор объекта в 1СРис.3

Причин её возникновения может быть несколько, главная – игнорирование ссылочной целостности базы данных при удалении объектов. Рассмотрев строку поближе и зная о GUID и уникальных идентификаторах можно заметить, что она состоит из двух частей:

  1. Несколько цифр до двоеточия;
  2. Шестнадцатеричный код после.

Последовательность действий по восстановлению:

  1. В первую очередь необходимо выяснить, какой тип данных у удаленного объекта. Для этого можно: уточнить тип поля у отчета, посмотреть, какие дополнительные отчеты открываются при щелчке по нему, попробовать сформировать подобный отчет на сохраненной копии. В нашем случае это элемент справочника «Номенклатура», в первичных документах у табличных частей будет вид (Рис.4); Как получить уникальный идентификатор объекта в 1СРис.4
  2. Проверить в выгрузках, в старых копиях наличие удаленного элемента;
  3. Выгрузить его поля и табличные части в любой удобный для последующей загрузки формат (xml, dbf, xls);
  4. Загрузить данные в базу.

Очень важно понимать, что возможности по использованию уникального ID не ограничиваются этими тремя направлениями.

Как получить уникальный идентификатор объекта в 1С

Источник: http://blog.it-terminal.ru/programmirovanie-1s/unikalnyj-identifikator.html

Получение уникального идентификатора объекта в 1С

Если при работе в 1С вам встречалось сообщение «Объект не найден», то пришло время ознакомиться с понятием «Уникальный идентификатор объекта». Рассмотрим это понятие и то, как получить уникальный идентификатор объекта в 1С.

Как получить уникальный идентификатор объекта в 1С

ГУИД предназначен для предотвращения конфликтов при программировании.

Содержание

  • 1 Что это такое
  • 2 ГУИД в 1С
  • 3 Операции с ключами
  • 4 Ошибки

Что это такое

Прежде всего, глобальный уникальный идентификатор (ГУИД) — это набор символов. В тексте он представляется записью из шестнадцатеричных цифр. Эта группа заключена в фигурные скобки, между собой они разделяются дефисами и всего их — тридцать две. Алгоритм, с помощью которого генерируется значение такого кода, был создан фирмой Microsoft (Майкрософт, англ.).

Применяется эта фишка, прежде всего, во избежание конфликтов при программировании (в этой публикации нас интересует именно этот момент). Самим алгоритмом кодирования неповторимость ключа не гарантируется. Однако общее количество возможных ключей слишком велико (3,4028×1038) — соответственно вероятность совпадения ничтожно мала.

Выглядит это примерно так:

{30a69443-e271-4c2f-9087-af8598796674}

Таким образом, применение такой системы призвано различать по GUID (Globally Unique Identifier — Глобальный Уникальный Идентификатор) две (возможно, несовместимые) версии одного компонента (элемента).

ИНТЕРЕСНО: В начале создания алгоритма генерации по одной из частей кода можно было определить компьютер, на котором создавались файлы (по MAC-адресу). Однако позднее это свойство алгоритма было якобы изменено (хотя кто знает…).

Каждый объект (object, англ.) системы в 1С характеризуется ссылкой, которая является типом данных. Как и все элементы общей системы — хранится в справочнике. Логически она состоит из его имени и GUID.

 Уникальность имени контролируется системой — нельзя создать второй справочник с уже имеющимся именем.

 Таким образом, object является неповторимой сущностью в системе за счёт исключительности его обеих составляющих.

Как получить уникальный идентификатор объекта в 1С

Операции с ключами

Уникальный идентификатор в 1С назначается в момент первичной записи элемента. Уже в процессе самой регистрации можно видеть ключ, который будет привязан к нему. Можно в этот процесс вмешаться и вручную до момента регистрации изменить его по своему желанию. Узнать нужный ГУИД можно через созданный запрос в «Конструкторе запроса» (это стандартный метод для любого элемента):

СправочникСсылка=Справочники.ИмяСправочника.НайтиПоНаименованию(«Наименование»);GUID=СправочникСсылка.УникальныйИдентификатор();

  • Полученное значение при использовании такого метода будет иметь специальный тип.
  • Для преобразования к строке нужно употребить: «Строка(Параметр)».
  • Получить новый ГУИД можно с помощью такого запроса:

GUID=НовыйУникальныйИдентификатор();

Преобразование в код ссылки элемента можно методом УникальныйИдентификатор():

GUID = Контрагент.УникальныйИдентификатор();

Ошибки

Чаще всего ошибки, сопряжённые с ключами компонент, возникают когда элемент из базы был удалён, а ключ его в системе остался. При удалении нужно проверять целостность базы.

Теперь вы знаете как в программе 1С происходит присвоение ключей для исключения ошибок в программировании, как узнать или присвоить код элемента, откуда возникают ошибки, связанные с этой темой. Оставляйте свои комментарии.

Источник: https://nastroyvse.ru/programs/review/poluchenie-unikalnogo-identifikatora-obekta-v-1s.html

1С:Вопросы и ответы » Поиск объекта по идентификатору 1С 8.3

Как получить уникальный идентификатор объекта в 1СВозвращает ссылку на найденный справочник или документ или Неопределено, если объекта нет.
Параметры
ИД — строковое представления уникального идентификатора

Тип — наименование вида справочника или документа. Благо их наименования не пересекаются.

Функция ПолучитьСсылкуПоИД(ИД, Тип = Неопределено)
Если ИД = «» и Тип Неопределено Тогда
// Тип известен, элемент явно пустой, значит нужно вернуть пустую ссылку
спр = Метаданные.Справочники.Найти(Тип);
Если спр Неопределено Тогда
Возврат Справочники[Тип].ПустаяСсылка();
КонецЕсли;

док = Метаданные.Документы.

Найти(Тип);
Если док Неопределено Тогда
Возврат Документы[Тип].ПустаяСсылка();
КонецЕсли;
Возврат Неопределено
КонецЕсли;

Попытка
УИД = Новый УникальныйИдентификатор(ИД);
Исключение
Возврат Неопределено
КонецПопытки;

// Если тип известен, то ищем только в одной таблице
Если Тип Неопределено Тогда
спр = Метаданные.

Справочники.Найти(Тип);
Если спр Неопределено Тогда
Ссылка = Справочники[Тип].ПолучитьСсылку(УИД);
Если Не Ссылка.Пустая() и Ссылка.ПолучитьОбъект() Неопределено Тогда
Возврат Ссылка
КонецЕсли;
Возврат Неопределено
КонецЕсли;

док = Метаданные.Документы.Найти(Тип);
Если док Неопределено Тогда
Ссылка = Документы[Тип].

ПолучитьСсылку(УИД);
Если Не Ссылка.Пустая() и Ссылка.ПолучитьОбъект() Неопределено Тогда
Возврат Ссылка
КонецЕсли;
КонецЕсли;
Возврат Неопределено
КонецЕсли;

// Если тип неизвестен, то перебираем все справочники и документы.
// Это долго. Поэтому тип очень хочется получить.
Для Каждого спр из Метаданные.

Справочники Цикл
Ссылка = Справочники[спр.Имя].ПолучитьСсылку(УИД);
Если Ссылка.ПолучитьОбъект() Неопределено Тогда
Возврат Ссылка
КонецЕсли;
КонецЦикла;

Для Каждого док из Метаданные.Документы Цикл
Ссылка = Документы[док.Имя].ПолучитьСсылку(УИД);
Если Ссылка.

ПолучитьОбъект() Неопределено Тогда
Возврат Ссылка
КонецЕсли;
КонецЦикла;

Возврат Неопределено
КонецФункции

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  1. Функция ПолучитьСсылкуПоИД(ИД, Тип = Неопределено)
  2. Если ИД = «» и Тип Неопределено Тогда
  3. // Тип известен, элемент явно пустой, значит нужно вернуть пустую ссылку

спр = Метаданные.Справочники.Найти(Тип);

  • Если спр Неопределено Тогда
  • Возврат Справочники[Тип].ПустаяСсылка();
  • КонецЕсли;

док = Метаданные.Документы.Найти(Тип);

  1. Если док Неопределено Тогда
  2. Возврат Документы[Тип].ПустаяСсылка();
  3. КонецЕсли;
  4. Возврат Неопределено
  5. КонецЕсли;
  6. Попытка
  7. УИД = Новый УникальныйИдентификатор(ИД);
  8. Исключение
  9. Возврат Неопределено
  10. КонецПопытки;
  11. // Если тип известен, то ищем только в одной таблице
  12. Если Тип Неопределено Тогда

спр = Метаданные.Справочники.Найти(Тип);Если спр Неопределено ТогдаСсылка = Справочники[Тип].ПолучитьСсылку(УИД);Если Не Ссылка.Пустая() и Ссылка.ПолучитьОбъект() Неопределено Тогда

  • Возврат Ссылка
  • КонецЕсли;
  • Возврат Неопределено
  • КонецЕсли;

док = Метаданные.Документы.Найти(Тип);Если док Неопределено ТогдаСсылка = Документы[Тип].ПолучитьСсылку(УИД);Если Не Ссылка.Пустая() и Ссылка.ПолучитьОбъект() Неопределено Тогда

  1. Возврат Ссылка
  2. КонецЕсли;
  3. КонецЕсли;
  4. Возврат Неопределено
  5. КонецЕсли;
  6. // Если тип неизвестен, то перебираем все справочники и документы.

// Это долго. Поэтому тип очень хочется получить.Для Каждого спр из Метаданные.Справочники ЦиклСсылка = Справочники[спр.Имя].ПолучитьСсылку(УИД);

  • Если Ссылка.ПолучитьОбъект() Неопределено Тогда
  • Возврат Ссылка
  • КонецЕсли;
  • КонецЦикла;
  • Для Каждого док из Метаданные.Документы Цикл

Ссылка = Документы[док.Имя].ПолучитьСсылку(УИД);

  1. Если Ссылка.ПолучитьОбъект() Неопределено Тогда
  2. Возврат Ссылка
  3. КонецЕсли;
  4. КонецЦикла;
  5. Возврат Неопределено
  6. КонецФункции

Если у Вас появились вопросы по статье или остались нерешенные проблемы обсудить их Вы можете на Форуме 1С Вопросы и ответы 

Источник: http://www.advanter.net/poisk-obekta-po-identifikatoru/

Операции с ГУ�Д (GUID) в 1с

ГУ�Д расшифровывается как Глобальный Уникальный �Дентификатор.

Этот идентификатор имеет каждая запись базы данных каждого элемента конфигурации 1с.

Причем, при естественной генерации, он на столько уникальный, что совершенно уникальный.

ГУ�Д(GUID) в 1с.

Как получить ГУ�Д.
_ГУ�Д = СсылкаНаОбъект.Уникальный�дентификатор();

Пример:

НоменклатураСсылка = Справочники.Номенклатура.НайтиПоКоду(«00013»);
Если НЕ НоменклатураСсылка.Пустая() Тогда
  Сообщить(«GUID = » + НоменклатураСсылка.

Уникальный�дентификатор());
КонецЕсли;

Как по ГУ�Ду получить ссылку.

_ГУР�Р” = «4cd43e12-e877-11e6-80cb-000c29be4d7a»;
_Ссылка = Документы.АктСверкиВзаиморасчетов.

ПолучитьСсылку(Новый Уникальный�дентификатор(_ГУ�Д));

Создать элемент справочника с определенным ГУ�Дом

Процедура КнопкаВыполнитьНажатие(Кнопка)
   

    СтрокаДляGUID = «67e558f3-902f-11e0-8cb5-001e0bdd2031»;

    Попытка

    GUID = Новый УникальныйР�дентификатор(СтрокаДляGUID);
    РЎРїСЂ = Справочники.Контрагенты.ПолучитьСсылку(GUID);
   

    ОбъектСпр = Справочники.Контрагенты.СоздатьЭлемент();

    ОбъектСпр.УстановитьСсылкуНового(РЎРїСЂ);
   

    ОбъектСпр.Наименование = «РљРѕРЅС‚рагент СЃ Гуидом 67e558f3-902f-11e0-8cb5-001e0bdd2031»;

    ОбъектСпр.Записать();
   

    ГУР�Р” = СокрЛП(ОбъектСпр.Ссылка.УникальныйР�дентификатор());

    Сообщить( ОбъектСпр.Наименование + «, созданный ГУР�Р” «+ГУР�Р”+ «, нужен был Р�Р” «+СтрокаДляGUID );
    Р�сключение
    Сообщить(ОписаниеОшибки());
    Возврат;
    КонецПопытки;
   

КонецПроцедуры

Источник: http://www.1c-forever.ru/3_001_00013.html

Уникальный идентификатор

Обмен данными

Подробности Категория: Введение

Уникальный идентификатор — это уникальный набор символов который характерезует экземпляр метаданных объектного типа в 1С(Напрмимер, элемент справочника или документ). По сути ссылка и является уникальным идентификатором, причем даже у разных видов объектов он не может быть похож. Выглядит он примерно так:

de80b7c8-aa22-11dc-a0f4-0011d85708ff

Т.е. это набор из 32 шестнадцатеричных цифр разделенных дефисами.

Надпись появляется в базе когда есть ссылка(уникальный идентификатор) на объект, а объекта в базе нет. Такое может возникнуть или при удалении объектов без проврки ссылочной целостности или при обмене между базами.

  • Разберем для примера надпись: (36:9c4e0022642fda9811e10393c0d776fd)
  • Для начала узнаем какой тип объекта был удален, для этого используем метод ПолучитьСтруктуруХраненияБазыДанных(), он возвращает таблицу значений(по умолчанию в формате SDBL) где указано соответсвие внутренних идентификаторов и объектов метаданных.
  • Например можно написать такой код:
  • ТЗ = ПолучитьСтруктуруХраненияБазыДанных();ТЗ.ВыбратьСтроку();
  • В ней мы находим идентификатор  который в конце содержит 36 (цифры до двоеточия), но только не в составе числа(Document2836), а точное соответсвие. В нашем случае это следующая строка:
Reference36 Справочник.Номенклатура
  1. Значит удаленный элемент был элементом справочника «Номенклатура».
  2. Как Вы заметили внутри скобок находится тип объекта и уникальный идентификатор строкой.
  3. Теперь мы можем на одной из архивных копий найти удаленный элемент, добавив дефисы в имеющуюся у нас строку идентификтора:

ГУИД = Новый УникальныйИдентификатор(«9c4e0022-642f-da98-11e1-0393c0d776fd»);
СсылкаНаУдаленныйЭлемент = Справочники.Номенклатура.ПолучитьСсылку(ГУИД);

Зная все значения полей мы можем вручную или с помощью обработок воссоздать удаленный элемент,  но у них будет одно главное отличие — разные Уникальные идентификаторы. А если мы хотим восстановить элемент, то и идентификатор нужно восстановить тот же. Для этого нужно использовать метод «УстановитьСсылкуНового«, например так:

ВосстанавливаемыйЭлемент =  Справочники.Номенклатура.СоздатьЭлемент();
ГУИД = Новый УникальныйИдентификатор(«9c4e0022-642f-da98-11e1-0393c0d776fd»);
СсылкаНаУдаленныйЭлемент = Справочники.Номенклатура.ПолучитьСсылку(ГУИД);
ВосстанавливаемыйЭлемент.УстановитьСсылкуНового(СсылкаНаУдаленныйЭлемент);

Теперь можно заполнить остальные поля.

Источник: http://1s-portal.ru/index.php/stati/obmendannymi/index.php/component/content/article/64.html

Коннектор к 1С. Обзор полезных обработок 1С для настройки интеграции и миграции

В процессе разработки интеграции с 1С часто возникает необходимость написать вычисления на языке 1С или языке запросов 1С, а также отладить их. Для написания таких вычислений удобно использовать готовые обработки 1С, рассмотрим их в этой статье.

Скачать архив с обработками можно по ссылке: Полезные обработки 1С.zip

Чтобы запустить обработку:

1. Запустите «1С Предприятие» в режиме «Обычное приложение». Для этого используйте дополнительный параметр запуска:

/RunModeOrdinaryApplication

2. В меню Файл выберите пункт Открыть и в открывшемся окне выберите нужный файл.

Обработка «Поиск объекта 1С по GUID»

Обработка позволяет:

  • определить GUID любого объекта 1С (записи справочника, документа и пр.);
  • по заданному GUID найти ссылку на объект 1С (запись справочника документа и пр.).

Чтобы определить GUID объекта 1С:

1. Запустите обработку «Поиск ссылки по GUID».

2. В поле Ссылка нажмите на кнопку T, выберите тип объекта.

3. Нажмите на кнопку  и выберите объект 1С. Если необходимо выбрать другой объект, очистите значение по кнопке .

4. Нажмите на кнопку Показать GUID. В результате в поле GUID отобразится уникальный идентификатор объекта 1С.

Чтобы определить ссылку на объект 1С, введите уникальный идентификатор объекта в поле GUID и нажмите на кнопку Найти ссылку. Таким образом в поле Ссылка отобразится найденный объект из базы данных. Кнопка  позволяет открыть карточку текущего объекта.

Обработка «Консоль запросов»

Обработка позволяет составить и выполнить запрос на языке запросов 1С. Используется для написания вычислений в событии коннектора «При выгрузке из 1С».

Рассмотрим, как выполняется обработка на примере запроса по получению юридического адреса контрагента:

1. Запустите обработку «Консоль запросов».

2. В основное окне обработки добавьте текст запроса:

ВЫБРАТЬ
КИ.Представление КАК Адрес
ИЗ
РегистрСведений.КонтактнаяИнформация КАК КИ
ГДЕ
КИ.Объект = &Объект
И КИ.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
И КИ.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента)

Запрос можно составить самостоятельно или с помощью конструктора запросов (пункт контекстного меню Конструктор запросов):

В тексте запроса, как правило, используются параметры. В нашем примере используется параметр &Объект, через который в запрос передается ссылка на запись справочника Контрагенты. Значения параметров задаются в левом нижнем окне обработки.

3. Чтобы выполнить запрос, нажмите кнопку Выполнить (F7). Результат выполнения запроса отобразится в правом нижнем окне.

Обработка «Выполнение произвольного кода»

Обработка позволяет быстро проверить вычисления на языке 1С, не создавая новую обработку в конфигурации 1С.

Чтобы проверить вычисление:

1. Запустите обработку «Выполнение произвольного кода».

2. В окне редактора напишите код вычислений:

3. Для выполнения кода нажмите на кнопку Выполнить.

Ниже рассмотрим примеры использования обработки «Выполнение произвольного кода».

Пример 1

Необходимо написать вычисления для события коннектора «При выгрузке из 1С» по получению юридического адреса контрагента. Текст события представляет собой xml-текст, в котором задаются вычисляемые реквизиты 1С. Подробнее см. в справке Коннектор к «1С:Предприятие 8» События и фильтры.

Ранее с помощью обработки «Консоль запросов» мы создали и отладили запрос:

ВЫБРАТЬ
КИ.Представление КАК Адрес
ИЗ
РегистрСведений.КонтактнаяИнформация КАК КИ
ГДЕ
КИ.Объект = &Объект
И КИ.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
И КИ.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента)

Теперь нужно написать вычисления на языке 1С, в которых нужно выполнить этот запрос и вернуть результат в виде строки.

Для отладки вычислений добавьте определение переменной Источник:

Источник = Справочники.Контрагенты.НайтиПоКоду(«000000007»);

И вывод результата:

Сообщить(Значение);

В событие «При выгрузке из 1С» эти строки переносить не нужно, т.к. переменная Источник в событии является предопределенной и будет заполняться автоматически.

В итоге событие «При выгрузке из 1С» будет выглядеть следующим образом:

60
Выч_ЮридическийАдрес
60

Запрос = Новый Запрос(«ВЫБРАТЬ
| КИ.Представление КАК Адрес
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КИ
|ГДЕ
| КИ.Объект = &Объект
| И КИ.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
| И КИ.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента)»);
Запрос.УстановитьПараметр(«Объект», Источник);
Выборка = Запрос.Выполнить().Выбрать();
Значение = ?(Выборка.Следующий(), СокрЛП(Выборка.Адрес), «»);

Пример 2

Необходимо на форму 1С добавить кнопку, при нажатии на которую будет запускаться сценарий DIRECTUM. В сценарий требуется передать один параметр. При завершении сценария получить результат его выполнения.

Для этого выполните отладку вычисления, в котором запускается сценарий DIRECTUM по кнопке из 1С:

Обработка «Регистрация изменений для обмена»

Обработка включена в большинство конфигураций 1С. С ее помощью можно просматривать или редактировать записи о регистрации объектов в плане обмена 1С, в том числе:

  • просматривать список метаданных, участвующих в обмене;
  • просматривать список объектов, для которых зарегистрированы изменения;
  • добавлять и снимать регистрацию для объектов, а также использовать запросы для выбора данных;
  • просматривать данные в формате XML.

Рассмотрим возможности обработки наглядно в 1С:

1. Запустите обработку «Регистрация изменений для обмена»

2. В верхнем поле выберите узел обмена, например, DIRECTUM

В результате в нижней области отобразятся все объекты, включенные в План обмена. В колонке Авторегистрация – текущее состояние авторегистрации изменений и количество зарегистрированных в данный момент объектов.

К объектам можно применить действия:

  • Зарегистрировать все – включает все объекты плана обмена в узел. Действие необратимо;
  • Добавить регистрацию (по кнопке из контекстного меню объекта) – позволяет зарегистрировать в 1С конкретные записи;
  • Зарегистрировать по одному – удаляет все существующие регистрации и регистрирует в плане обмена по одному объекту каждого типа. Действие необратимо;
  • Удалить всю регистрацию – очищает сведения о регистрации узла плана обмена. Действие необратимо;
  •  – удаляет регистрацию произвольного объекта информационной базы. При этом можно создать запрос и удалить запись о регистрации всех объектов, полученных в результате его выполнения;
  •  – добавляет регистрацию произвольного объекта информационной базы. При этом можно создать запрос и добавить запись о регистрации всех объектов, полученных в результате его выполнения;
  • Показать изменения, зарегистрированные для данного типа – показывает объекты информационной базы, зарегистрированные в узле обмена. Перед нажатием кнопки нужно выбрать необходимый тип объектов;
  • Результат стандартной выгрузки – показывает, как будет выглядеть объект информационной базы, если его выгрузить в формате XML. Перед нажатием нужно выбрать необходимый объект:

Обработка «Выгрузка и загрузка данных XML»

Универсальная обработка позволяет выполнить полную или частичную выгрузку данных информационной базы в xml-файл. Обработку можно использовать для миграции данных из 1С.

Сценарии использования обработки:

  • Выгрузка записей справочника из одной базы и загрузка в другую. Разработка в базах должна быть идентичной.
  • Выгрузка записей справочника в качестве резервной копии. Если в процессе работы со справочником записи затерлись либо были удалены, то их можно восстановить из xml-файла.
  • Выгрузка данных в xml-файл для последующей миграции этих данных в систему DIRECTUM с помощью заказной разработки.

Обработка может выгружать записи объектов:

  • Константы;
  • Справочники;
  • Документы;
  • Последовательности;
  • ПланыВидовХарактеристик;
  • ПланыСчетов;
  • ПланыВидовРасчета;
  • РегистрыСведений;
  • РегистрыНакопления;
  • РегистрыБухгалтерии;
  • РегистрыРасчета;
  • БизнесПроцессы;
  • Задачи;
  • ПланыОбмена.

Особенности обработки:

  • Фильтр можно накладывать на любой из реквизитов справочника. Например, настроить фильтрацию по справочнику Внутренние документы по полю ВидДокумента = Договор.
  • Вместе с основным справочником можно выгружать связанные записи других справочников. Например, настроить выгрузку, чтобы вместе с внутренними документами выгружались связанные записи справочника Корреспонденты.

Обработка «Массовая регистрация изменений для обмена»

Обработку удобно использовать при тестировании интеграции с 1С.

Обработка позволяет зарегистрировать в плане обмена нужное количество записей для указанного справочника:

1. Запустите обработку «Массовая регистрация изменений для обмена».

2. Выберите необходимый справочник и нажмите на кнопку Выполнить.

Источник: https://club.directum.ru/post/189365

Объекты 1С и ссылки 1С

Язык 1С сильно «завязан» на работу с данными. Действительно, основная задача — обработка данных, полученных из базы данных запросом или другими способами.

В других языках с данными, полученными из базы данных обычно работают «как с таблицей». В 1С такое тоже возможно – выполнить запрос, получить «в ответ» таблицу и работать с ней.

Однако более распространенный способ, одна из «фишек 1С» — это работа с данными как с объектами 1С. Например объект 1С Справочник.ИмяСправочника позволяет работать с конкретным справочником, при этом объект 1С имеет свойства (поля с данными) и стандартные методы.

Работа с объектом 1С ведется тогда, когда требуется создать объект 1С или изменить существующий. В остальных случаях (например поиск объекта 1С, использование его в другом объекте 1С) – используется ссылка 1С на объект 1С.

  • Создание объектов 1С
  • Объект 1С можно создать с помощью оператора Новый, при этом вызывается конструктор данного типа, если у типа несколько конструкторов – он выбирается по указанным параметрам:
    Переменная1 = Новый СписокЗначений();
  • Менеджеры для получения объектов 1С из базы данных
  • Если требуется создать объект 1С, связанный с данными в базе данных (то есть фактически получить его из базы данных), вместо использования оператора Новый, используются менеджеры.

Почти для каждого вида метаданных (отображенного в дереве метаданных в окне конфигурации, см. выше) доступен одноименный менеджер, который позволяет получить значение из базы данных по признаку или создать новое для записи в базу данных.

Например:
Переменная1 = Справочники.ИмяСправочника.СоздатьЭлемент();

Переменная1 = Справочники.ИмяСправочника.НайтиПоНаименованию(«Наименование»);

  1. Ссылки 1С и объекты 1С
  2. Работа с объектами 1С, связанными с данными в базе данных может вестись двумя способами – с помощи «ссылки 1С на данные» и объекта 1С.

Ссылка 1С – это данные, доступные только для чтения. Объект 1С – это данные, доступные для чтения, изменения и записи. Работа со ссылкой 1С производится гораздо быстрее, чем с объектом 1С.

Ссылка 1С на данные получается с помощью функций вида:
СправочникСсылка = Справочники.ИмяСправочника.НайтиПоНаименованию()

Объект 1С можно получить из ссылки 1С или создать с нуля:
СправочникОбъект = СправочникСсылка.ПолучитьОбъект();

СправочникОбъект = Справочники.ИмяСправочника.СоздатьЭлемент();

Пустая ссылка 1С

Ссылка может быть пустой, это значит, что создан «пустой» экземпляр объекта 1С, который не связан с данными.
СправочникСсылкаПустая = Справочники.ИмяСправочника.ПустаяСсылка();

  • Также ссылку 1С можно проверить на заполненность:
    Если СправочникСсылка.Пустая() Тогда //…
  • КонецЕсли
  • Уникальный идентификатор (GUID)

Любой элемент справочника или документ хранится в базе данных. Для идентификации он имеет уникальный «номер» в рамках базы данных — GUID. В понятиях встроенного языка 1С, этот GUID – это ссылка 1С.

Узнать идентификатор можно с помощью универсального метода любого объекта 1С ссылочного типа:
СправочникСсылка = Справочники.ИмяСправочника.НайтиПоНаименованию(«Наименование»);

GUID = СправочникСсылка.УникальныйИдентификатор();

Возвращаемое значение данного метода имеет специальный тип. Если необходимо сравнивать значение со строкой, не забудьте преобразовать его к строке с помощью Строка(Параметр).

  1. GUID назначается в момент первой записи объекта 1С. Уже до записи можно узнать GUID, который будет назначен объекту 1С при записи:
  2. Также перед записью можно назначить свой GUID. Это бывает полезным, например, при обмене данными:
  3. Реквизиты
  4. При работе со значениями, возможно столкнуться со следующими способами хранения и доступа к данным:
  • Переменная – созданная в модуле программистом, нетипизированная
  • Реквизит объекта 1С (справочника, документа), добавленный в конфигураторе – хранится в базе данных, строго типизирован
  • Реквизит формы – поле на форме, строго типизирован.

Поле на форме показывает «какие-то данные». Данные могут быть напрямую связаны с реквизитом объекта 1С (указаны в свойстве поля формы ПутьКДанным).

  • Также форма может иметь свои реквизиты, они не записываются в базу данных, их устанавливает программист в процедурах и функциях модуля формы (обычно в процедуре обработчике ПриОткрытии формы).
  • Доступ к значениям именованных свойств объектов 1С
  • У многих объектов 1С есть свойства, которые имеют наименования.
    Например:
  • элемент справочника имеет реквизиты с наименованиями
  • форма имеет реквизиты с наименованиями
  • у таблицы есть колонки с наименованиями
  • у строки таблицы есть поля с такими же наименованиями, как колонки у таблицы.

Если у объекта 1С есть свойства (реквизиты, колонки и т.п.), у которых есть наименования, то к ним можно обращаться двумя способами.

Если в наличии имеются два объекта 1С с именованными свойствами и нужно скопировать их значения, удобно использовать процедуру
ЗаполнитьЗначенияСвойств(КудаКопировать, ОткудаКопировать)
которая копирует значения всех свойств, имена которых совпадают, пример:

Ограничения

Источник: http://howknow1c.ru/jazyk-1s/obekty-1s-i-ssylki-1s.html

Добавить комментарий