Как найти справочник по guid

Как по ГУИД найти элемент справочника?

Я
   Interest

25.03.09 – 12:58

Господа, подскажите, как зная гуид найти элемент справочника?

   Interest

1 – 25.03.09 – 12:58

ГУИД 1С

   Salvador Limones

2 – 25.03.09 – 12:59

Справочники.ТвойСпр.ПолучитьСсылку(

   Defender aka LINN

3 – 25.03.09 – 13:00

А зачем его искать, когда его можно сразу получить?

   Живой Ископаемый

4 – 25.03.09 – 13:05

щас скажет что он запросом хочет найти справочник по гуиду

   Interest

5 – 25.03.09 – 13:09

у меня есть гуид, мне надо знать кому он принадлежит?

   ptiz

6 – 25.03.09 – 13:10

(5) Вид справочника/документа и т.п. в гуид не зашит.

   Живой Ископаемый

7 – 25.03.09 – 13:11

(5) делаем так, ты гуляешь где-то полчаса, потом приходишь и перечитываешь (2) и (3) как если бы это было (28) и (34) и восклицаешь:

— Ну вот! наконец-то! Что, сразу трудно было ответить?

   Defender aka LINN

8 – 25.03.09 – 13:11

(5) Это ты у нас спрашиваешь? Тогда не надо. Вдруг ты не выдержишь такого знания.

   Rie

9 – 25.03.09 – 13:11

(5) Пройдись по всем справочникам и для каждого как в (2)

   Defender aka LINN

10 – 25.03.09 – 13:13

(9) Думаешь, автор нашел где-то мумажку, где был написан GUID? Или все же допускаешь мысль, что он не от сырости завелся?

   Rie

11 – 25.03.09 – 13:19

(10) Думаю именно насчёт “бумажки” – например, загружает GUIDы загружает из ранее криво выгруженного файла. Иначе – откуда вопрос-то возник?

   Interest

12 – 25.03.09 – 13:25

Контр = Справочники.Контрагенты.ПолучитьСсылку(“efe16b82-efd0-0c344-9f60-d6a32f0c4687”);

Подскажите в чем проблема, программа ругается на несоответствие типов?

   Живой Ископаемый

13 – 25.03.09 – 13:28

дефисы поубирать

   zbv

14 – 25.03.09 – 13:28

(12) СП – украли?

   hhhh

15 – 25.03.09 – 13:32

(12) ты же строку передаешь, а надо ГУИД.

   Defender aka LINN

16 – 25.03.09 – 13:53

(11) Оттуда же, откуда берутся 80% вопросов – от нежелания подумать.

   H A D G E H O G s

17 – 25.03.09 – 13:54

Контр = Справочники.Контрагенты.ПолучитьСсылку(Новый УникальныйИдентификатор(“efe16b82-efd0-0c344-9f60-d6a32f0c4687”));

   Широкий

18 – 25.03.09 – 13:55

XMLЗначение(Тип(“СправочникСсылка.Контрагенты”),”efe16b82-efd0-0c344-9f60-d6a32f0c4687″)

   Interest

19 – 25.03.09 – 13:59

У нас РИБ УТ. При загрузке из переферийного узла вылетает ошибка:

Запись с такими ключевыми полями существует! <Объект не найден>(54:efe16b82

efd00c3449f60d6a32f0c4687)

(Регистр сведений:контактная информация).

В регистре все записи целые, ссылочность не нарушена.

   H A D G E H O G s

20 – 25.03.09 – 14:01

Дикость какая-то.

Уверен, что 54-ая таблица – Контрагенты, а не Организации, Физ.лица, или Пункты разгрузки?

   H A D G E H O G s

21 – 25.03.09 – 14:02

<<В регистре все записи целые, ссылочность не нарушена.>>

Точно – точно??

Проверь в периферийке, что с регистром.

   Interest

22 – 25.03.09 – 14:10

(17) не работает, ругается на недопустимое значение парметра.

   Interest

23 – 25.03.09 – 14:11

(21)  в переферийке все нормально с регистром, также как и в центре

   Rie

24 – 25.03.09 – 14:12

(22) Что у тебя за GUID с группой из 5 цифр?

   Interest

25 – 25.03.09 – 14:14

Это я исправила efe16b82-efd0-c344-9f60-d6a32f0c4687

   H A D G E H O G s

26 – 25.03.09 – 14:15

(16) Помог бы девушке. С одного же города.

   AntonioS

27 – 25.03.09 – 14:16

(19) такое ощущение, что и в центре и на периферии одновременно

заполнили конт. инфу по одному и тому же контрагенту.

Отсюда ругань при обмене, что запись уже есть.

Надо исключать такие коллизии для регистра контактная информация.

   mikecool

28 – 25.03.09 – 14:16

(19) файл выгрузки как формируется? имхо – дважды выгружена одна и таже запись регистра

при использовании типовой выгрузки-загрузки ни разу не встречал такого

а “Объект не найден” – объекты могут записываться позже, нежели движения…

   mikecool

29 – 25.03.09 – 14:17

(27) приоритет у центральной базы, при одновременном заполнении – будут разные гуиды и просто задвоенные значения

   Rie

30 – 25.03.09 – 14:19

(25) Значит, неправильно исправила.
Что-то не так у тебя с цифрами. И в (19) – нечётное число цифр, чего быть не может.

   H A D G E H O G s

31 – 25.03.09 – 14:20

(27), (29) мда..

Нету никаких приоритетов.

<<одновременном заполнении – будут разные гуиды и просто задвоенные значения>>

Если только ссылочного объекта.

   Defender aka LINN

32 – 25.03.09 – 14:20

(29) Какие гуиды в РС?

   mikecool

33 – 25.03.09 – 14:21

(32) имел ввиду гуиды ведущих измерений

   Defender aka LINN

34 – 25.03.09 – 14:23

(33) Дык это разные записи будут. Разных элементов.

Вообще, запись должна была просто затереться, ИМХО…

   mikecool

35 – 25.03.09 – 14:23

(31) насчет приоритетов – сам  не думал о таком, однако несколько раз сталкивался – при одновременном изменении в центре и филиале одного объекта – после обмена оставались изменения в центре, хз как это происходило…

   H A D G E H O G s

36 – 25.03.09 – 14:23

Как вариант:

1) В периферийке удалили элемент справочника.

2) Изменили по ОсновномуОтбору РС

3) Измерение, по которому выскакивает ошибка – не ведущее и не в ОсновномОтборе.

   H A D G E H O G s

37 – 25.03.09 – 14:23

(36) УТ – типовая?

   mikecool

38 – 25.03.09 – 14:24

(36) ничего могли не удалять – “Объект не найден” – объекты могут записываться позже, нежели движения…

   mikecool

39 – 25.03.09 – 14:25

имхо – в выгрузке дважды одна и та же запись, при инсерте индексы матерят…

   H A D G E H O G s

40 – 25.03.09 – 14:25

(39) Ну и как такое может быть? Сбой?

   H A D G E H O G s

41 – 25.03.09 – 14:26

В ТаблицеРегистрации – задвоение?

   H A D G E H O G s

42 – 25.03.09 – 14:26

Счаст запрос накропаю

   mikecool

43 – 25.03.09 – 14:26

(40) хз, надо взять файло обмена и поискать в нем этот гуид – возможно, что и обнаружится

   mikecool

44 – 25.03.09 – 14:27

неизвестно, как автор выгрузку получает

   H A D G E H O G s

45 – 25.03.09 – 14:32

ВЫБРАТЬ

   ВложенныйЗапрос.Объект,

   ВложенныйЗапрос.Тип,

   ВложенныйЗапрос.Вид

ИЗ

   (ВЫБРАТЬ

       КонтактнаяИнформацияИзменения.Объект КАК Объект,

       КонтактнаяИнформацияИзменения.Тип КАК Тип,

       КонтактнаяИнформацияИзменения.Вид КАК Вид,

       1 КАК Поле1

   ИЗ

       РегистрСведений.КонтактнаяИнформация.Изменения КАК КонтактнаяИнформацияИзменения

   ГДЕ

       КонтактнаяИнформацияИзменения.Узел = &Узел) КАК ВложенныйЗапрос

ГДЕ

   ВложенныйЗапрос.Поле1 > 1

Автор, выполни это в консоле запросов, в периферийке, узел – это узел центральной базы.

   H A D G E H O G s

46 – 25.03.09 – 14:33

Млин пардон, вот это:

ВЫБРАТЬ

   ВложенныйЗапрос.Объект,

   ВложенныйЗапрос.Тип,

   ВложенныйЗапрос.Вид

ИЗ

   (ВЫБРАТЬ

       КонтактнаяИнформацияИзменения.Объект КАК Объект,

       КонтактнаяИнформацияИзменения.Тип КАК Тип,

       КонтактнаяИнформацияИзменения.Вид КАК Вид,

       СУММА(1) КАК Поле1

   ИЗ

       РегистрСведений.КонтактнаяИнформация.Изменения КАК КонтактнаяИнформацияИзменения

   ГДЕ

       КонтактнаяИнформацияИзменения.Узел = &Узел

   
   СГРУППИРОВАТЬ ПО

       КонтактнаяИнформацияИзменения.Объект,

       КонтактнаяИнформацияИзменения.Тип,

       КонтактнаяИнформацияИзменения.Вид) КАК ВложенныйЗапрос

ГДЕ

   ВложенныйЗапрос.Поле1 > 1

   Interest

47 – 25.03.09 – 15:01

(46) Консоль отчетов ничего не выводит

   H A D G E H O G s

48 – 25.03.09 – 15:04

(47) Значит нет задвоения. ХЗ тогда что.

   H A D G E H O G s

49 – 25.03.09 – 15:04

(47) Значит нет задвоения. ХЗ тогда что.

   hhhh

50 – 25.03.09 – 15:23

при записи в регистр сделать проверку и игнорировать ошибку, чтобы загрузка прошла до конца

  

H A D G E H O G s

51 – 25.03.09 – 15:28

(50) Это – системное. При Обмене – и так пропуск проверок.

Битая ссылка, <Объект не найден>, Уникальный Идентификатор, GUID 74
Когда кто-то удаляет данные из базы без проверки ссылок на эти объекты, то везде где этот объект использовался появляется сообщение вида: Объект не найден (84:bf5600145e3710ab11dda4c605dbe824) .
https://helpf.pro/uploads/img/_1-46z7I4U7Ww.png
В


Битая ссылка, , Уникальный Идентификатор, GUID – Управляемые формы 4
Переделал обработки из статей Битая ссылка, Объект не найден, Уникальный Идентификатор, GUID и Поиск в базе битых ссылок – объект не найден под Управляемые формы. Скачать


Блокировка записей, невозможно изменить или удалить из регистра. Конфликт блокировок MS SQL + 1C 4
При попытке удалить запись из регистра сведений – получаю ошибку: она заблокирована, ошибка блокировок и т.д. Отключил всех пользователей, перезапустил сервер, пробую удалить – опять ошибка блокировки 🙁 Путем тестов было вяснено, что проблема


В учетной политике не указан вид тарифа страховых взносов. Как указать? 0
Создайте новую запись учетной политики с начала года – Например 01.01.2013
В учетной смотрите дату начала учетной политики. Поставьте дату начала года (например 01.01.13) закладка появиться должна.
Проверьте Тариф страховых взносов: Меню Зарпла


Выгрузка результата запроса в текстовый файл с разделителями 1
Запрос = Новый Запрос();
Запрос.УстановитьПараметр(” ДатаНач” ,НачалоДня(ДатаНач));
Запрос.УстановитьПараметр(” ДатаКон” ,КонецДня(ДатаКон));
Запрос.УстановитьПараметр(” Организация” ,Организация);
Запрос.Текст = ” ВЫБРАТЬ
| ПоступлениеТоваровУ


Посмотреть все результаты поиска похожих

Пример поиска:

ГУИД = "4b9c2fa7-3824-11ea-ab9e-38d547def818";
ОбъектСсылка = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИД));
сообщить(ОбъектСсылка);

если объект не найден:

<Объект не найден> (206:ab9e38d547def81811ea38244b9c2fa7)

если объект найден (наименование объекта):

Желтый НМ 0,05кг

Рубрики

  • Все
  • CRM
    • Битрикс24
  • Frameworks
    • Laravel
    • Bootstrap 4
    • React Native
  • CMS
    • OpenCart 3
    • WordPress
      • Функции
      • Авторские функции
    • 1С-Битрикс
    • MODX
  • АТС
    • Asterisk
  • OS
    • Linux
      • Fedora
      • Linux Mint
      • Manjaro
      • Rocky Linux
      • CentOS
      • Debian
      • Ubuntu
    • Windows
    • macOS
  • Контейнеризация
    • Docker
  • Программирование
    • 1C
    • Javascript
    • Node JS
    • PHP
    • Python
    • Android Studio
    • Web
      • Библиотеки
  • Базы данных
    • MySQL
  • Плагины DW
    • WordPress
  • Редакторы и IDE
    • PHPStorm
    • VS Code
    • Sublime Text 3
    • Notepad++
  • Софт
  • Blockchain

Свежие комментарии

Май 2023

Пн Вт Ср Чт Пт Сб Вс
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  

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

Пример 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

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

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

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

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

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

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


 

высокое-качество

Пример уникального идентификатора: 4bf85396-cc7a-11ea-9ef0-c86000245adb

   //

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

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

   //Создаём уникальный идентификатор из строки

   СтрокаGUID = “4bf85396-cc7a-11ea-9ef0-c86000245adb”;

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

   //Можно не указывать СтрокаGUID. Программа сгенерирует сама

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

   //

   //Получить ссылку на на объект, зная его GUID

   СсылкаПП = Документы.ПлатежноеПоручениеВходящее.ПолучитьСсылку(НовыйGUID);

   //Создать документ и присвоить ему ГУИД

   СтрокаGUID = “4bf85396-cc7a-11ea-9ef0-c86000245adb”;

   Док = Документы.ПлатежноеПоручениеВходящее.СоздатьДокумент();

   СсылкаДок = Документы.ПлатежноеПоручениеВходящее.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаGUID));

   Док.УстановитьСсылкуНового(СсылкаДок);    

   //

   //Получить ГУИД из COM-объекта

   V83COMConnector = Новый COMОбъект(“V83.COMConnector”);

   БД = V83COMConnector.Connect(ПараметрыПодключения);  

   СтрокаГУИД = БД.XMLСтрока(Док.Ссылка);

Вариант применения в заметке «Сделать из элемента справочника группу»

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