Skip to content

Instantly share code, notes, and snippets.

@kuntashov
Last active March 21, 2018 18:22
Show Gist options
  • Save kuntashov/cf9a97508120c95c6b1c70ea5d9a4545 to your computer and use it in GitHub Desktop.
Save kuntashov/cf9a97508120c95c6b1c70ea5d9a4545 to your computer and use it in GitHub Desktop.
1С: Конструкторы ссылочных типов данных и ошибка синтаксического контроля
// Еще в 8.2 появился редко используемый на практике вариант получения ссылки на объект по уникальному идентификатору,
// но до сих пор синтаксический контроль в конфигураторе не признает данную синтаксическую конструкцию как корректную
// и выдает ошибку.
УИД = Новый УникальныйИдентификатор();
РТУСсылка = Новый ДокументСсылка.РеализацияТоваровУслуг(УИД);
// Альтернативные равнозначные варианты, не вызывающие ошибок синтаксического контроля.
// 1. Вызвать функцию ПолучитьСсылку() менеджера соответствующего ссылочного объекта.
// Например:
РТУСсылка = Документы.РеализацияТоваровУслуг.ПолучитьСсылку(УИД);
// 2. Использовать способ вызова оператора Новый как функции (тоже не часто такое можно встретить на практике):
Параметры = Новый Массив(1);
Параметры[0] = УИД;
РТУСсылка = Новый("ДокументСсылка.РеализацияТоваровУслуг", Параметры);
// 3. Обойти проверку синтаксического контроля, используя динамическое вычисление при помощи метода
// глобального контекста Вычислить():
РТУСсылка = Вычислить("Новый ДокументСсылка.РеализацияТоваровУслуг(УИД)");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment