как проверить наличие реквизита формы 1с

Как проверить наличие реквизита

1. Когда возникает необходимость проверить наличие реквизита 1С

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

В ряде типовых конфигураций 1С предлагается стандартная функция проверки наличия реквизита в объекте (расположена в модуле “ОбщегоНазначения”)

Функция ЕстьРеквизитОбъекта(ИмяРеквизита, МетаданныеОбъекта) Экспорт

Возврат НЕ (МетаданныеОбъекта.Реквизиты.Найти(ИмяРеквизита) = Неопределено);

2. Как можно получить метаданные объекта 1С

Однако написать свою функцию также не представляет труда. В первую очередь необходимо получить метаданные объекта 1С одним из способов:

через функцию Метаданные() объекта

пример синтаксиса: СправочникСсылка.Метаданные()

через свойство глобального контекста Метаданные

пример синтаксиса: Метаданные.Справочники.[ИмяСправочника]

Далее через свойство “Реквизиты” использовать функцию Найти(). В случае, если реквизит не найден, возвращается значение Неопределено.

Если Метаданные.Реквизиты.Найти(«Ответственный») = Неопределено Тогда

Источник

Как программно определить наличие у документа опрелённого реквизита?

Метаданные.Документ(«Реализация»).РеквизитТабличнойЧасти(«Вася»).Выбран()
+ поглядеть на реквизит шапки + общий реквизит.

См. во всех типовых глЕстьРеквизитШапки + глЕстьРеквизитТЧ

(4) Чего в ней нет? Этих функций? Это нестрашно 🙂

(6) Не факт, что мои из типовой взяты. Они из рабочей.
Сейчас проверю.

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

(10) А зачем наличие общего реквизита в документе нужно проверять?
Разве что для универсальных отчетов/обработок, не привязанных к определенной конфигурации.

(11) Не знаю, но в типовых конфигурациях наличие общего реквизита проверяется в функции глЕстьРеквизитШапки().

З.Ы. Кстати, глобальные переменные Да и Нет в российских конфигурациях давно не используются.

(12) З.Ы. Это я уже прочитал в (6) 🙂

Для российских собратьев по разуму привожу кусок кода из глобальника типовой российской ТиС редакции 9.2

(12)
//////////////////////////////////////////////////////////// ­///////////////
//
Перем глТаблицаСчетов Экспорт;
Перем глОбщиеУстановки Экспорт;
Перем глЗначениеОтбора Экспорт;
Перем глПоОплате Экспорт;
Перем глПоОтгрузке Экспорт;
Перем Да Экспорт;
Перем Нет Экспорт;

Типовая бухия. Декабрь 2008.

А вот глЕстьРеквизитШапки() отсутствует.

(17) Оно надо всего в двух-трех случаях:
— Замена значений
— Автоматизация конвертации/обмена
— Восможно, в самописной конфе
— Для ОЧЧень универсального отчета/обработки

я пользовался по 1 и 3 вариантам.

Функция ПроверитьСтандартныеРеквизитыНаСервере(ТипОбъекта, Имя, ИмяРеквизита)

ЕстьРеквизит = Ложь;
СтандартныеРеквизиты = Метаданные[ТипОбъекта][Имя].СтандартныеРеквизиты;
Для каждого ЭлСтандартныеРеквизиты Из СтандартныеРеквизиты Цикл
Если ЭлСтандартныеРеквизиты.Имя = ИмяРеквизита Тогда
ЕстьРеквизит = Истина;
КонецЕсли;
КонецЦикла;
Возврат ЕстьРеквизит;

Функция ВернутьИмяНаСервере(Имя) Экспорт

ТипОбъекта = «Справочники»;
ИмяСтандартныеРеквизиты = «Наименование»;
Если Не ПроверитьСтандартныеРеквизитыНаСервере(ТипОбъекта, Имя, ИмяСтандартныеРеквизиты) Тогда
ИмяСтандартныеРеквизиты = «Код»;
КонецЕсли;
Возврат ИмяСтандартныеРеквизиты;

Источник

Профессия — 1С

рубрики: Платформа 8.3 | Дата: 12 июля, 2018

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

Рассмотрим несколько способов проверки заполненности реквизитов на форме. Рассматривать будем на примере элемента справочника.

Проверка средствами платформы

Как правило у различных объектов метаданных (справочники, документы и т.д.) часть реквизитов обязательны к заполнению. Это могут быть как стандартные реквизиты, например, для справочника наименование и код, так и реквизиты созданные в процессе конфигурирования. Для таких реквизитов свойство «Проверка заполнения» обычно устанавливается в значение «Выдавать ошибку»
как проверить наличие реквизита формы 1с. Смотреть фото как проверить наличие реквизита формы 1с. Смотреть картинку как проверить наличие реквизита формы 1с. Картинка про как проверить наличие реквизита формы 1с. Фото как проверить наличие реквизита формы 1с
Кроме этого в свойствах самой формы должен быть установлен флаг Проверять Заполнение Автоматически
как проверить наличие реквизита формы 1с. Смотреть фото как проверить наличие реквизита формы 1с. Смотреть картинку как проверить наличие реквизита формы 1с. Картинка про как проверить наличие реквизита формы 1с. Фото как проверить наличие реквизита формы 1с
Это позволяет выполнять проверку средствами платформы в момент записи объекта без написания дополнительного кода. Давайте посмотрим как это работает в режиме предприятия.
как проверить наличие реквизита формы 1с. Смотреть фото как проверить наличие реквизита формы 1с. Смотреть картинку как проверить наличие реквизита формы 1с. Картинка про как проверить наличие реквизита формы 1с. Фото как проверить наличие реквизита формы 1с
При выполнении такой проверки платформа осуществляет вызов предопределенной процедуры ОбработкаПроверкиЗаполненияНаСервере(), расположенной в модуле формы, а затем и вызов процедуры ОбработкаПроверкиЗаполнения(), которая находится уже в модуле объекта, если конечно эти процедуры имеются в наличии. И как мы видим организация такого рода проверки занимает минимальное количество усилий.

Программная проверка реквизитов с флагом «Выдавать ошибку»

Для реквизитов у которых свойство «Проверка заполнения» установлено в значение «Выдавать ошибку» достаточно легко можно организовать программную проверку буквально одной строчкой кода c помощью метода ПроверитьЗаполнение():

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

Программная проверка реквизитов

И конечно же мы всегда можем программно проверить заполненность реквизитов вне зависимости от значения свойства «Проверка заполнения». В самом простейшем случае с помощью метода ЗначениеЗаполнено():

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

Как правило проверка реквизитов выполняется в предопределенной процедуре модуля объекта ОбработкаПроверкиЗаполнения(). По умолчанию она выглядит следующим образом:

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

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

Выводы

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

Источник

Проверка заполнения реквизитов формы

как проверить наличие реквизита формы 1с. Смотреть фото как проверить наличие реквизита формы 1с. Смотреть картинку как проверить наличие реквизита формы 1с. Картинка про как проверить наличие реквизита формы 1с. Фото как проверить наличие реквизита формы 1с

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

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

как проверить наличие реквизита формы 1с. Смотреть фото как проверить наличие реквизита формы 1с. Смотреть картинку как проверить наличие реквизита формы 1с. Картинка про как проверить наличие реквизита формы 1с. Фото как проверить наличие реквизита формы 1с

У формы, как правило, есть основной реквизит (редактируемый объект) и могут быть реквизиты, не относящиеся к редактируемому объекту, а являющиеся лишь частью формы:

как проверить наличие реквизита формы 1с. Смотреть фото как проверить наличие реквизита формы 1с. Смотреть картинку как проверить наличие реквизита формы 1с. Картинка про как проверить наличие реквизита формы 1с. Фото как проверить наличие реквизита формы 1с

Поэтому серверное событие формы ОбработкаПроверкиЗаполненияНаСервере предназначено для проверки заполнения тех реквизитов формы, которые не относятся к редактируемому объекту. Это данные только формы, у формы могут быть свои причины и алгоритмы для проверки этих данных.

Напротив, событие объекта ОбработкаПроверкиЗаполнения предназначено для для того, чтобы проверить реквизиты основного реквизита формы.

Поэтому существует несколько сценариев того, как разработчик может встроить свой алгоритм в механизм проверки заполнения:

Все эти сценарии реализуются довольно просто. Например, чтобы самостоятельно проверить заполненность реквизитов, можно выполнить следующий код:

Чтобы проверить лишь часть реквизитов, можно выполнить такой код:

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

А очистить массив проверяемых реквизитов, чтобы ничего не проверять ни самому, ни платформе, можно так:

Справка

ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)

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

ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

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

Источник

Проверка на наличие определенного реквизита во всех документах

Всем доброго времени суток.
Люди добрые, помогите кто чем сможет))

Необходимо проверить все документы на наличие определенного реквизита. Как проверить имеется ли тот или иной реквизит в определенном документе, нашел тут. ( http://1cprofi.com/content/view/4/40/)

Реквизит = Метаданные.Документ(«АвансовыйОтчет»).РеквизитШапки(«Основание»).Выбран();
Если Реквизит = 1 Тогда
Сообщить(«У документа есть такой реквизит»);
Иначе
Сообщить(«У документа нет такого реквизита»);
КонецЕсли;

Как применить подобный шаблон ко всем документам.
ВСЕМ Спасибо за внимание.

ВидыДок = «»;
Для Инд=1 По ВыбранныеДокументы.РазмерСписка() Цикл
ВидыДок = ВидыДок + Документы.ПолучитьЗначение(ВыбранныеДокументы.ПолучитьЗначение(Инд))+»,»;
КонецЦикла;

Если ПустаяСтрока(ВидыДок)=1 Тогда
Возврат;
КонецЕсли;

Если (ВыбКонтрагент.Выбран()=1) Тогда
Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,»Контрагент»,ВыбКонтрагент);
ИначеЕсли (ВыбПроект.Выбран()=1) Тогда
Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,»Проект», ВыбПроект);
ИначеЕсли (ВыбАвтор.Выбран()=1) Тогда
Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,»Автор», ВыбАвтор);
ИначеЕсли (ВыбФирма.Выбран()=1) Тогда
Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,»Фирма», ВыбФирма);
ИначеЕсли (ВыбЮрЛицо.Выбран()=1) Тогда
Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,»ЮрЛицо», ВыбЮрЛицо);
ИначеЕсли (ВыбФизЛицо.Выбран()=1) Тогда
Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,»ФизЛицо», ВыбФизЛицо);
ИначеЕсли (ВыбСклад.Выбран()=1) Тогда
Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,»Склад», ВыбСклад);
ИначеЕсли (ВыбСотр.Выбран()=1) Тогда
Док.ВыбратьПоЗначению(ДатаНачала,ДатаКонца,»Сотрудник», ВыбСотр);
Иначе
Док.ВыбратьДокументы(ДатаНачала,ДатаКонца);
КонецЕсли;

Если (ТипЗначенияСтр(Таб) <> «Таблица») ИЛИ (Обновить = 0) Тогда
Таб = СоздатьОбъект(«Таблица»);
Иначе
Таб.Очистить();
КонецЕсли;
Таб.ИсходнаяТаблица( «РеестрДокументов» );

Расшифровка = СоздатьОбъект(«СписокЗначений»);
Расшифровка.Установить(«Отчет», «РеестрДокументов»);

// все настройки помещаем в список
Расшифровка.Установить(«ДатаНачала», ДатаНачала);
Расшифровка.Установить(«ДатаКонца», ДатаКонца);

Расшифровка.Установить(«ВыбФирма», ВыбФирма);
Расшифровка.Установить(«ВыбЮрЛицо», ВыбЮрЛицо);
Расшифровка.Установить(«ВыбФизЛицо», ВыбФизЛицо);
Расшифровка.Установить(«ВыбКонтрагент», ВыбКонтрагент);
Расшифровка.Установить(«ВыбАвтор», ВыбАвтор);
Расшифровка.Установить(«ВыбПроект», ВыбПроект);
Расшифровка.Установить(«ВыбСклад», ВыбСклад);

Расшифровка.Установить(«ВклПроведенные»,ВклПроведенные);
Расшифровка.Установить(«ВклТекущие», ВклТекущие);
Расшифровка.Установить(«ВклУдаленные», ВклУдаленные);

Расшифровка.Установить(«ВыбранныеДокументы», ВыбранныеДокументы);
Расшифровка.Установить(«ВсеДокументы», ВсеДокументы);

Если ВыбЮрЛицо.Выбран()>0 Тогда
Заг=Заг+»По юр. лицу «+СокрП(ВыбЮрЛицо)+». «;
КонецЕсли;
Если ВыбФизЛицо.Выбран()>0 Тогда
Заг=Заг+»По физ. лицу «+СокрП(ВыбФизЛицо)+». «;
КонецЕсли;
Если ВыбФирма.Выбран()>0 Тогда
Заг=Заг+»По фирме «+СокрП(ВыбФирма)+». «;
КонецЕсли;
Если ВыбКонтрагент.Выбран()>0 Тогда
Заг=Заг+»По контрагенту «+СокрП(ВыбКонтрагент)+». «;
КонецЕсли;
Если ВыбАвтор.Выбран()>0 Тогда
Заг=Заг+»Автор документов: «+СокрП(ВыбАвтор)+». «;
КонецЕсли;
Если ВыбПроект.Выбран()>0 Тогда
Заг=Заг+»Проект документов: «+СокрП(ВыбПроект)+». «;
КонецЕсли;
Если ВыбСклад.Выбран()>0 Тогда
Заг=Заг+»Склад документов: «+СокрП(ВыбСклад)+». «;
КонецЕсли;

Таб.ВывестиСекцию(«Кнопки»);
Таб.ВывестиСекцию(«Шапка»);
Таб.ВывестиСекцию(«ШапкаТаблицы»);

// выводим шапку на каждой странице
НачПовт = Таб.ВысотаСекции(«Кнопки») + Таб.ВысотаСекции(«Шапка»);
КонПовт = НачПовт + Таб.ВысотаСекции(«ШапкаТаблицы»);
Таб.ПовторятьПриПечатиСтроки(НачПовт + 1, КонПовт);

НПП=0;
ПечИтогСумма = 0;

СуммыПоВалютам = СоздатьОбъект(«ТаблицаЗначений»);
СуммыПоВалютам.НоваяКолонка(«Валюта», «Справочник.Валюты»);
СуммыПоВалютам.НоваяКолонка(«Сумма», «Число»);

Пока Док.ПолучитьДокумент()=1 Цикл

//Проверка статуса
Если (Док.ПометкаУдаления()>0) Тогда
Если ВклУдаленные=0 Тогда
Продолжить;
КонецЕсли;
ИначеЕсли (Док.Проведен()>0) Тогда
Если ВклПроведенные=0 Тогда
Продолжить;
КонецЕсли;
Иначе
Если ВклТекущие=0 Тогда
Продолжить;
КонецЕсли;
КонецЕсли;

//Проверка юр. лица, к которому относится документ
Если ВыбЮрЛицо.Выбран() = 0 Тогда
ИначеЕсли (Док.ЮрЛицо <> ВыбЮрЛицо) Тогда
Продолжить;
КонецЕсли;

//Проверка фирмы, к которой относится документ
Если ВыбФирма.Выбран() = 0 Тогда
ИначеЕсли (Док.Фирма <> ВыбФирма) Тогда
Продолжить;
КонецЕсли;

//Проверка физ. лица, к которому относится документ
Если ВыбФизЛицо.Выбран() = 1 Тогда
Если глЕстьРеквизитШапки(«ФизЛицо»,Док.Вид()) = 1 Тогда
Если (Док.ФизЛицо <> ВыбФизЛицо) Тогда
Продолжить;
КонецЕсли;
Иначе
Продолжить;
КонецЕсли;
КонецЕсли;

//Проверка автора
Если ВыбАвтор.Выбран() = 0 Тогда
ИначеЕсли (Док.Автор <> ВыбАвтор) Тогда
Продолжить;
КонецЕсли;

//Проверка проекта
Если ВыбПроект.Выбран() = 0 Тогда
ИначеЕсли (Док.Проект <> ВыбПроект) Тогда
Продолжить;
КонецЕсли;

//Проверка сотрудника
Если ВыбСотр.Выбран() = 1 Тогда
Если глЕстьРеквизитШапки(«Сотрудник»,Док.Вид()) = 1 Тогда
Если (Док.Сотрудник <> ВыбСотр) Тогда
Продолжить;
КонецЕсли;
Иначе
Продолжить;
КонецЕсли;
КонецЕсли;

//Проверка склада
Если ВыбСклад.Выбран() = 1 Тогда
ХорошийДокумент = 0;
Если глЕстьРеквизитШапки(«Склад»,Док.Вид()) = 1 Тогда
Если (Док.Склад = ВыбСклад) Тогда
ХорошийДокумент = 1;
КонецЕсли;
КонецЕсли;
Если глЕстьРеквизитШапки(«СкладПолучатель»,Док.Вид()) = 1 Тогда
Если (Док.СкладПолучатель = ВыбСклад) Тогда
ХорошийДокумент = 1;
КонецЕсли;
КонецЕсли;
Если ХорошийДокумент = 0 Тогда
Продолжить;
КонецЕсли;
КонецЕсли;

//Проверка вида документа
Если Найти(ВидыДок,Док.Вид()+»,»)=0 Тогда
Продолжить;
КонецЕсли;

ПечСумма = глСуммаДокументаВЖурнале(Док.ТекущийДокумент(), «число»);

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

РегПартии1 = СоздатьОбъект(«Регистр.ПартииНаличие»);
РегПартии1.ВыбратьДвиженияДокумента(Док.ТекущийДокумент());

Пока РегПартии1.ПолучитьДвижение() = 1 Цикл
ТабДвиж1.НоваяСтрока();
ТабДвиж1.Номенклатура = РегПартии1.Номенклатура;
ТабДвиж1.Количество = РегПартии1.Количество;
ТабДвиж1.Сумма = РегПартии1.СуммаБезНДС;
КонецЦикла;

// выгрузим табличную часть документа в таблицу значений
ТабДок1 = СоздатьОбъект(«ТаблицаЗначений»);
Док.ВыгрузитьТабличнуюЧасть(ТабДок1, «Номенклатура, Количество, Единица, Коэффициент»);

// сформируем таблицу значений для печати

ТабПеч1 = СоздатьОбъект(«ТаблицаЗначений»);
ТабПеч1.НоваяКолонка(«Номенклатура»);
ТабПеч1.НоваяКолонка(«Количество»);
ТабПеч1.НоваяКолонка(«Сумма»);

ТабДок1.ВыбратьСтроки();
Пока ТабДок1.ПолучитьСтроку() = 1 Цикл

Поз = 0;
Пока (ТабДвиж1.НайтиЗначение(ТабДок1.Номенклатура, Поз, «Номенклатура») = 1)
и (ТабДок1.Количество > 0) Цикл
ТабДвиж1.ПолучитьСтрокуПоНомеру(Поз);

Если ТабДвиж1.Количество 0) // есть что погашать
и (ТабДвиж.НайтиЗначение(Док.Номенклатура, Поз, «Номенклатура») <> 0) // есть чем погашать
Цикл

КолвоРег = ТабДвиж.ПолучитьЗначение(Поз, «Количество»);
СуммаРег = ТабДвиж.ПолучитьЗначение(Поз, ИдКолонкиСуммы);

// преобразуем количество из регистра (в базовой единице)
// в единицу из строки документа
Если Док.Коэффициент <> 0 Тогда
КолвоРег = КолвоРег / Док.Коэффициент;
КонецЕсли;

Если глЕстьРеквизитШапки(«ДатаДокВходящий», Док.Вид()) = 1 тогда
ПечДата = Док.ДатаДокВходящий;
Иначе
ПечДата = Док.ДатаДок;
КонецЕсли;

Пока Найти(ПечСумма,» «) > 0 Цикл
ПечСумма = СтрЗаменить(ПечСумма,» «,»»);
КонецЦикла;

ПечИтогСумма = ПечИтогСумма + Число(ПечСумма);
глОживить(1);
КонецЦикла;

КолвоСтрок = СуммыПоВалютам.КоличествоСтрок();
Если КолвоСтрок >= 1 Тогда
СуммыПоВалютам.ПолучитьСтрокуПоНомеру(1);
Сумма = СуммыПоВалютам.Сумма;
Валюта = СуммыПоВалютам.Валюта;

Для Сч = 2 По КолвоСтрок Цикл
СуммыПоВалютам.ПолучитьСтрокуПоНомеру(Сч);
Сумма = СуммыПоВалютам.Сумма;
Валюта = СуммыПоВалютам.Валюта;

Таб.ВывестиСекцию(«Итого»);
глОживить(1);
КонецЦикла;
КонецЕсли;

Таб.Опции(0, 0, 7, 0, «РеестрДокументов», «РеестрДокументов»);
Таб.ТолькоПросмотр(1);
Таб.ОбластьПечати(2);
Если глПолучитьПолномочие(«РазрешитьРедактированиеТаблиц») = 0 Тогда
Таб.Защита(1);
КонецЕсли;
Таб.Показать(«Реестр документов»,»»);

Если (Обновить = 2)ИЛИ(ЗакрытьДиалог=1) Тогда
СтрокаДействийФормы = «#Закрыть»;
КонецЕсли;

Это полное содержание процедуры..

Где тут идет получение документа («Имя вашего документа»), так и не нашел..

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *