1с 77 программно создать операцию

Обновлено: 04.07.2024

"Бухгалтерия 7.7, последний релиз: из обработки в цикле открываю формы новых документов через <br>ОткрытьФорму("Документ.ХХХ",,Док.ТекущийДокумент()),<br>т.е. выполняется ввод на основании. После чего пытаюсь записать этот новый документ через Записать(), на что получаю<br>"Данная команда не может выполняться в формуле элемента диалога!"<br>В другой обработке Записать() работало без ошибок, еще в одной делал через вызов процедуры:<br>Процедура _Записать() <br> Записать(); <br>КонецПроцедуры - тоже работало.<br>Здесь же ничего не помогает. Какие еще могут быть варианты?"

"У меня была такая же ситуация. Док1 - Док.Основание, Док2 - программно создаваемый документ. <br><br>1) //в Док1<br>Процедура ОбработкаПроведения() //Док1<br> . <br> новДок2=создатьобъект("Документ.Док2");<br> новДок2.новый();<br> //заполняем необходимые реквизиты новДок2<br> новДок2.записать();<br> Парам = новДок2;<br> ОткрытьФорму("Обработка.НазваниеОбработки", Парам);<br>. <br>КонецПроцедуры //ОбработкаПроведения()<br><br>2) //в Обработка.НазваниеОбработки<br>Перем Парам;<br><br>Процедура ПриОткрытии()<br> Парам = Форма.Параметр;<br> Если ТипЗначенияСтр(Парам) <> "Документ" тогда<br> СтатусВозврата(0);<br> Возврат;<br> КонецЕсли;<br> Форма.Закрыть();<br>КонецПроцедуры // ПриОткрытии()<br><br>Процедура ПриЗакрытии()<br> ПроводимыйДок = СоздатьОбъект("Документ.Док2");<br> если ПроводимыйДок.НайтиДокумент(Форма.Параметр) = 1 тогда<br> ПроводимыйДок.Провести();<br> иначе<br> сообщить("Док2 не найден!");<br> конецесли;<br>КонецПроцедуры // ПриЗакрытии()<br><br>В эту обработку у меня (в зависимости от типа Док1) передается либо Парам=Документ, либо Парам=ТаблицаЗначений. Про ТаблицуЗначений я все вырезал просто. Вот. Как то так."

Из этой статьи вы узнаете, как в удалить в 1С объект при помощи программного кода, а также как поставить пометку на удаление.

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

Программное удаление справочника в 1С

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

Реквизит управляемой формы 1С

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

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

Замечу, что программное удаление произошло при таких правах на объект.

Права на справочник 1С

Право «Интерактивное удаление» снято, то есть мы не можем непосредственно удалять экземпляр этого объекта, но мы можем удалить его программно (благодаря установленному праву Удалить).

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

Программное удаление документа в 1С

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

Реквизит управляемой формы 1С

А при выполнении команды документ будет удаляться.

Как и в случае справочника, программное удаление документа стало возможным благодаря установленному праву «Удалить».

Права на документ 1С

Пометка на удаление программно в 1С

Для того, чтобы программно пометить на удаление объект необходимо воспользоваться методом объекта УстановитьПометкуУдаления.

Для документов он имеет следующий синтаксис: УстановитьПометкуУдаления(<ПометкаУдаления>), где параметр ПометкаУдаления имеет тип булево.

Переделаем предыдущий пример: на форме разместим две команды.

Команды на управляемой форме

Одна команда будет устанавливать пометку на удаление у документа в реквизите, вторая снимать.

В этом коде, в процедуре УстановитьНаСервере() мы устанавливаем пометку на удаление, передав в метод УстановитьПометкуУдаления параметр Истина, а в процедуре СнятьНаСервере() снимаем пометку, передав Ложь.

Для объектов справочников метод УстановитьПометкуУдаления имеет следующий синтаксис:

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

Продемонстрируем работу второго параметра: на форму поместим реквизит с типом булево, реквизит с типом ссылка на справочник Контрагенты , и сделаем две команды: установить и снять.

Реквизиты и команды на управляемой форме 1С

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

У справочника Контрагенты включим иерархию.

Иерархия справочника в 1С

И также сделаем подчиненный справочник.

Если мы установим пометку для группы с флажком подчиненные.

Пометка на удаление в 1С

То будет помечена группа и все входящие в неё объекты.

Пометка на удаление в 1С

А без установленного флага Подчиненные будет помечена только группа.

Пометка на удаление в 1С

Тоже самое с объектами из подчиненного справочника. При установленном флаге Подчиненные.

Пометка на удаление в 1С

Будет помечен на удаление и сам элемент справочника, и объекты подчиненного ему справочника.

Пометка на удаление в 1С

А иначе, будет помечен только сам элемент.

Пометка на удаление в 1С

Программировать в 1С за 11 шагов

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника.

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

Основы разработки в 1С такси

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

можно оплатить вручную:

Для отражения в бухгалтерском учете информации о движении средств в системе 1С:Предприятие используются Операции и Проводки . Эти объекты поддерживаются компонентой «Бухгалтерский учет». Настройка свойств операций и проводок производится соответвующими объектами метаданных в конфигурации. В руководстве по конфигурированию можно подробно ознакомиться с основными принципами и свойствами операций и проводок.

Контекст работы с операциями и проводками

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

Во-первых, объект «Операция» используется для формирования и анализа проводок формируемых документом. Для этого у агрегатного объекта «Документ» существует атрибут Операция типа «Операция», который обеспечивает доступ к операции данного документа.

Во-вторых, объект «Операция» непосредственно доступен в контекстах формы операции, формы журнала операции и формы журнала проводок. То есть в модулях указанных форм обращение к атрибутам и методам текущего объекта выполняется напрямую. В форме журнала операций текущим объектом является операция, на которой в данный момент стоит курсор в форме журнала. В форме журнала проводок текущим объектом является операция, которой принадлежит проводка, на которой в данный момент стоит курсор в форме журнала.

В-третьих, объект «Операция» используется для перебора существующих операций и проводок при формировании отчетов и других выборок. В этом случае объект создается при помощи вызова функции СоздатьОбъект ("Операция") . Англоязычный синоним ключевого слова Операция — Operation .

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

Метод записи операции доступен также при проведении документа.

Как уже отмечалось, доступ к проводкам также осуществляется объектом «Операция». Методы и атрибуты объекта «Операция» осуществляют доступ к данным как собственно операции, так и к данным проводок. Операция содержит набор методов для перебора и позиционирования на конкретные проводки. При этом одна из проводок операции может быть текущей. Все обращения к атрибутам и методам данных проводки будут относится именно к текущей проводке. Если текущей проводки нет, то обращение к атрибутам и методам проводки недоступно.

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

С точки зрения чтения, все операции используются практически одинаково. Однако изменения (создание новых, запись, удаление) операций сильно отличается для операций двух типов.

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

Операции принадлежащие документам — это операции, которые создаются документами различных видов, которым установлен признак «Бухгалтерский учет» (кроме вида «Операция»). Эти операции могут записываться только при записи документов или при проведении документов. Наличие операции у кон-кертного документа регламентируется в метаданных в настройках вида документа. Операция для документа конкретного вида может создаваться либо при записи (режим «Всегда»), либо создаваться выборочно (режим «Выборочно») (при помощи метода документа СуществуетОперация ), либо только при проведении документа (режим «только при проведении»). В первых двух случаях изменение реквизитов самой операции может производиться в модуле формы документа и при записи они автоматически будут записаны в операцию принадлежащую документу. Однако проводки в операцию принадлежащую документу могут быть записаны в любом случае только в процессе проведения документа (предопределенной процедуре ОбработкаПроведения ). При этом в процессе проведения документа для записи операции следует вызвать метод операции Записать . Операция созданная документом в процессе проведения при перепроведении документа сначала уничтожается, а при выполнении процедуры ОбработкаПроведения записывается заново. Если документ делается не проведенным, то проводки из операции удаляются, а сама операция уничтожается, если она была записана в режиме «только при проведении».

Атрибуты объекта «Операция»

ДатаОперации

Англоязычный синоним:

Значение типа «Дата».

Атрибут ДатаОперации содержит дату бухгалтерской операции. Так как каждая бухгалтерская операция принадлежит документу (причем только одному, а операция введенная вручную также принадлежит специальному документу «Операция»), значение атрибута совпадает со значением атрибута ДатаДок документа, которому принедлежит операция. Наличие данного атрибута у оп-реации упрощает обращение к дате документа, которому принадлежит операция.

Содержание

Англоязычный синоним:

Значение типа «Строка».

Атрибут Содержание служит для обращения к содержанию операции. Содержание операции представляет собой произвольную символьную строку. Максимальная длина содержания задается в конфигураторе при редактировании свойств объекта метаданных «Операция».

СуммаОперации

Англоязычный синоним:

Значение типа «Число».

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

<РеквизитОперации>

Возвращает или задает значение дополнительного реквизита операции.

Идентификатор дополнительного реквизита операции, как он задан в конфигураторе.

Тип значения определяется типом реквизита заданным в метаданных.

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

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

Документ

Документ, которому принадлежит операция.

Англоязычный синоним:

Значение типа документ.

Атрибут Документ является атрибутом «только для чтения», то есть ему нельзя присваивать никакого значения. Он служит для обращения к документу, котрому принадлежит операция. Так, как любая операция принадлежит документу (операция введенная «вручную» принадлежит документу специального вида «Операция») доступ к некоторым свойствам операции, например, номеру возможен только посредством обращения к атрибуту Документ .

Атрибут Документ предназначен только для доступа к атрибутам и реквизитам документа, которому принадлежит операция. Для получения значения типа «Документ» используется метод ТекущийДокумент .

Сумма

Сумма выбранной проводки (корреспонденции) операции.

Англоязычный синоним:

Значение типа «Число».

Атрибут Сумма служит для обращения к сумме выбранной проводки (корреспонденции) операции.

Перед обращением к атрибуту конкретной проводки эта проводка должна быть выбрана с помощью методов ВыбратьПроводки , ПолучитьПроводку или создана при помощи метода НоваяПроводка . В модулях форм «Операции» и «Журнал проводок» текущая проводка определяется положением курсора.

Пока Опер.ПолучитьПроводку() = 1 Цикл

Валюта

Валюта выбранной проводки или корреспонденции операции.

Англоязычный синоним:

Значение типа «Справочник», вид которого определен в настройке валютного учета в конфигурации.

Атрибут Валюта служит для обращения к валюте выбранной проводки или корреспонденции операции.

Перед обращением к атрибуту конкретной проводки эта проводка должна быть выбрана с помощью методов ВыбратьПроводки , ПолучитьПроводку или создана при помощи метода НоваяПроводка . В модулях форм «Операции» и «Журнал проводок» текущая проводка определяется положением курсора.

Пока Опер.ПолучитьПроводку() = 1 Цикл

Сообщить("Валюта " + Опер.Валюта + " Вал.сумма=" + Опер.ВалСумма);

ВалСумма

Валютная сумма выбранной проводки или корреспонденции операции.

Англоязычный синоним:

Значение типа «Число».

Атрибут ВалСумма служит для обращения к сумме в валюте выбранной проводки или корреспонденции операции.

Перед обращением к атрибуту конкретной проводки эта проводка должна быть выбрана с помощью методов ВыбратьПроводки , ПолучитьПроводку или создана при помощи метода НоваяПроводка . В модулях форм «Операции» и «Журнал проводок» текущая проводка определяется положением курсора.

Пока Опер.ПолучитьПроводку() = 1 Цикл

Сообщить("Валюта " + Опер.Валюта + " Вал.сумма=" + Опер.ВалСумма);

Количество

Количество выбранной проводки или корреспонденции операции.

Англоязычный синоним:

Значение типа «Число».

Атрибут Количество служит для обращению к количеству выбранной проводки или корреспонденции операции.

Перед обращением к атрибуту конкретной проводки эта проводка должна быть выбрана с помощью методов ВыбратьПроводки , ПолучитьПроводку или создана при помощи метода НоваяПроводка . В модулях форм «Операции» и «Журнал проводок» текущая проводка определяется положением курсора.

Пока Опер.ПолучитьПроводку() = 1 Цикл

<РеквизитПроводки>

Обращение к дополнительному реквизиту проводки.

Идентификатор дополнительного реквизита проводки, как он задан в конфигураторе.

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

Атрибут < РеквизитПроводки > позволяет обращаться к значениям дополнительных реквизитов проводки. Для обращения к конкретному реквизиту должен быть указан его идентификатор, заданный для этого реквизита в конфигураторе.

Перед обращением к атрибуту конкретной проводки эта проводка должна быть выбрана с помощью методов ВыбратьПроводки , ПолучитьПроводку или создана при помощи метода НоваяПроводка . В модулях форм «Операции» и «Журнал проводок» текущая проводка определяется положением курсора.

Пока Опер.ПолучитьПроводку() = 1 Цикл

Дебет

Обращение к дебету проводки (корреспонденции).

Англоязычный синоним:

Атрибут Дебет служит для обращения к дебетовой части текущей проводки (корреспонденции) операции. Данный атрибут возвращает агрегатный объект специального типа «Дебет», который используется только для доступа к данным дебетовой части конкретной проводки (корреспонденции) операции и не используется отдельно.

Перед обращением к атрибуту конкретной проводки эта проводка должна быть выбрана с помощью методов ВыбратьПроводки , ПолучитьПроводку или создана при помощи метода НоваяПроводка . В модулях форм «Операции» и «Журнал проводок» текущая проводка определяется положением курсора.

Пока Опер.ПолучитьПроводку() = 1 Цикл

Сообщить("Проводка " + Опер.Дебет.Счет + " - " + Опер.Кредит.Счет);

Кредит

Обращение к кредиту проводки (корреспонденции).

Англоязычный синоним:

Атрибут Кредит служит для обращения к кредитовой части текущей проводки (корреспонденции) операции. Данный атрибут возвращает агрегатный объект специального типа «Кредит», который используется только для доступа к данным кредитовой части конкретной проводки (корреспонденции) операции и не используется отдельно.

Перед обращением к атрибуту конкретной проводки эта проводка должна быть выбрана с помощью методов ВыбратьПроводки , ПолучитьПроводку или создана при помощи метода НоваяПроводка . В модулях форм «Операции» и «Журнал проводок» текущая проводка определяется положением курсора.

Пока Опер.ПолучитьПроводку() = 1 Цикл

Сообщить("Проводка " + Опер.Дебет.Счет + " - " + Опер.Кредит.Счет);

Атрибуты объектов «Дебет» и «Кредит»

Счет дебета/кредита проводки (корреспонденции) операции.

Англоязычный синоним:

Значение типа «Счет».

Атрибут Счет служит для доступа к счету дебета/кредита проводки или корреспонденции операции.

Пока Опер.ПолучитьПроводку() = 1 Цикл

<Субконто>

Субконто дебета/кредита проводки (корреспонденции) операции.

Идентификатор вида субконто, как он задан в конфигураторе.

Атрибут < Субконто > служит для доступа к значению субконто дебета/кредита проводки (корреспонденции) операции. В конкретном случае обращение к субконто для дебета/кредита определяется счетом дебета/кредита, то есть заданными для него видами субконто по которым ведется аналитический учет по этому счету.

Пока Опер.ПолучитьПроводку() = 1 Цикл

Если Опер.Дебет.Счет=СчетПоКоду("60") Тогда

Методы объектов «Дебет» и «Кредит»

Субконто

Обращение к субконто дебета/кредита проводки (корреспонденции) операции.

Субконто(<ПорядковыйНомерСубконто> | <ВидСубконто>, <Субконто>)

Англоязычный синоним:

Необязательный параметр. Числовое выражение — порядковый номер субконто. По умолчанию 1.

Значение типа «Вид субконто».

Необязательный параметр. Значение субконто. Если параметр не задан — значение не изменяется.

Возвращаемое значение:

Если указан порядковый номер вида субконто или вид субконто, метод возвращает значение субконто.

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

Все виды субконто, прикрепленные к счету в плане счетов, имеют порядковые номера. Эти номера выдаются в названии колонок для видов субконто в окне редактирования плана счетов; «Субконто1», «Субконто2» . «Субконто5».

Метод Субконто дебета/кредита проводки служит для получения и установки значения субконто по его номеру или виду соотвественно в дебете или в кредите проводки (коррепспонденции) операции.

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

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

Если вторым параметром передается значение субконто, метод присваивает указаное значение виду субконто проводки.

Пока Опер.ПолучитьПроводку() = 1 Цикл

Для Инд = 1 По Опер.Дебет.Счет.КоличествоСубконто() Цикл

ПредставлениеСубконто

Представление субконто дебета/кредита проводки (корреспонденции) операции.

ПредставлениеСубконто(<ПорядковыйНомерСубконто> | <ВидСубконто>, <Режим>)

Англоязычный синоним:

Необязательный параметр. Числовое выражение — порядковый номер субконто. По умолчанию 1.

Идентификатор вида субконто.

Необязательный параметр. Числовое выражение — признак полноты выдачи представления субконто. Может принимать значения: 0 — полное представление; 1 — краткое представление. По умолчанию 0;

Возвращаемое значение:

Символьная строка — представление субконто.

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

Представление может быть настроено в конфигурации для видов субконто типа «Справочник» или «Документ». Формат представления определяется в конфигураторе при редактировании свойств вида субконто.

Метод ПредставлениеСубконто позволяет получить представление для субконто дебета/кредита текущей проводки (корреспонденции).

Создает объект агрегатного типа данных и возвращает ссылку на него.

Англоязычный синоним:

Строковое выражение, значение которого содержит имя агрегатного типа данных, объявленного в конфигураторе.

Возвращаемое значение:

Ссылка на созданный объект агрегатного типа данных.

Функция СоздатьОбъект создает объект агрегатного типа данных и возвращает ссылку на него. Данная функция обычно используется одновременно с неявным определением переменной и присвоением ей ссылки на объект агрегатного типа данных.

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

СтатусВозврата

Установить/определить статуса возврата предопределенной процедуры.

Англоязычный синоним:

Необязательный параметр. Числовое выражение. Если задано значение 1, то устанавливается статус возврата — Выполнить Действие. Если задано значение 0, то устанавливается статус возврата — Отменить Действие. Если параметр опущен, то статус возврата предопределенной процедуры не меняется.

Возвращаемое значение:

Число 1 — если статус возврата — Выполнить Действие;

Число 0 — если статус возврата — Отменить Действие.

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

Значение статуса возврата предопределенной процедуры используется системой при завершении отработки любой предопределенной процедуры, чтобы определить, выполнять ли системно событие, которое вызвало данную предопределенную процедуру.

Замечание: Начальное значение статуса возврата предопределенной процедуры равно 1 (Выполнить Действие), которое устанавливается системой при вызове предопределенной процедуры.

В тексте программного модуля возможно использование данного оператора как процедуры или как функции. При использовании в качестве функции, возвращаемое значение соответствует текущему статусу возврата предопределенной процедуры, которое было до вызова данной функции. В данном случае параметр < Статус > можно опускать.

Если параметр < Статус > задан явно, то после выполнения данной функции статус возврата установится в заданное значение. Пример:

* Если в предопределенной процедуре ПриЗаписи установить статус возврата — 0 (например, если неверно заполнены реквизиты), то документ не будет записываться.

Если Клиент.Выбран() = 0 Тогда

Предупреждение("Запись отменена! Не задан клиент!");

* Если в предопределенной процедуре ВводНаОсновании установить статус возврата — 0, то ввод нового документа будет отменен и форма нового документа не откроется.

Если (ДокВид = "Счет") ИЛИ (ДокВид = "Счет_фактура")

ИЛИ (ДокВид = "РасходнаяКредит") ИЛИ (ДокВид = РасходнаяРеализ") Тогда

Основание = ДокВид + " № " + ДокОснование.НомерДок;

Предупреждение("Недопустимый вид документа основания!");

См. также: «Системные предопределенные процедуры»

ОткрытьФорму

Выполняет открытие формы из'встроенного языка.

ОткрытьФорму (<Параметр1>, <КонтекстФормы>, < Параметр 3>. )

Англоязычный синоним:

В зависимости от типа открываемой формы используется различные значения данного параметра.

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

После исполнения данного метода система вернет в данную переменную контекст открытой формы (см. Передача контекста в качестве параметра). С помощью значения этого контекста можно затем произвольно манипулировать открытой формой, пока она открыта. Пока форма открыта, тип значения данного параметра равен 100 (см. ТипЗначения), если закрыта — 0.

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

Возвращаемое значение:

Число 1 — если действие выполнено;

Число 0 — если действие не выполнено.

Функция ОткрытьФорму позволяет открыть форму документа, справочника, журнала документов, и других форм используемых в системе 1С:Предприятие.

Замечание. Метод ОткрытьФорму нельзя вызывать в «теле» глобального модуля (части глобального модуля, расположенной после последней процедуры). Для его вызова при старте программы следует размещать его в процедуре ПриНачалеРаботыСистемы .

Для открытия разных форм следует использовать разный синтаксис вызова данной функции:

Открытие формы существующего документа.

ОткрытьФорму(<Документ>, <КонтекстФормы>, <РежимПросмотра>)

Значение типа «Документ».

Необязательный параметр. Числовое выражение: 1 — открыть форму в режиме только просмотра; 0 — открыть форму в режиме редактирования. -1 (минус единица) в этом случае используется вариант предусмотренный текущим значением параметра «Режим открытия объектов» установленного пользователем. По умолчанию — 0.

Открытие формы нового документа

ОткрытьФорму(<ОписательОбъекта>, <КонтекстФормы>, <ДокументОснование>)

"Документ.ХХХХХ", где ХХХХХ — идентификатор вида документа;

Необязательный параметр. Выражение типа «документ», задающий документ-основание для открытия формы ввода нового документа в режиме ввода на основании.

Открытие формы журнала документов.

"Журнал . ХХХХХ. YYYYY", где ХХХХХ — идентификатор журнала документов; YYYYY — идентификатор формы журнала документов;

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

Открытие формы журнала подчиненных документов.

ОткрытьФорму(<ОписательОбъекта>, <КонтекстФормы>, <Документ>)

Строковое выражение. "Журнал.Подчиненные";

Значение типа «документ», задающее документ, для которого будут выводиться подчиненные документы.

Открытие формы существующего элемента справочника.

ОткрытьФорму(<Элемент>, <КонтекстФормы>, <РежимПросмотра>)

Значение типа «Справочник».

Необязательный параметр. Числовое выражение: 1 — открыть форму в режиме только просмотра; 0 — открыть форму в режиме редактирования. -1 (минус единица) в этом случае используется вариант предусмотренный текущим значением параметра «Режим открытия объектов» установленного пользователем. По умолчанию — 0.

Открытие формы нового элемента справочника.

ОткрытьФорму(<ОписательОбъекта>, <КонтекстФормы> , <ГруппаРодитель>,

"Элемент. ХХХХХ", где ХХХХХ — вид справочника;

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

Необязательный параметр. Числовое выражение, задающее форму ввода нового элемента (группы) справочника: 1 — ввод новой группы, 0 — ввод нового элемента. По умолчанию — 0.

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

Открытие формы списка справочника.

"Справочник.ХХХХХ.YYYYY", где ХХХХХ — вид справочника, YYYYY — имя выбранной формы списка справочника;

Открытие формы отчета.

Строковое выражение. "Отчет. ХХХХХ" , где ХХХХХ — вид отчета;

Открытие формы обработки.

Строковое выражение. "Обработка.ХХХХХ", где ХХХХХ — вид обработки;

Открытие формы внешнего отчета.

ОткрытьФорму(<ОписательОбъекта>, <КонтекстФормы>, <ИмяФайла>)

Строковое выражение. "Отчет";

Строковое выражение — полное имя файла внешнего отчета.

Открытие формы журнала расчетов.

"ЖурналРасчетов. ХХХХХ", где ХХХХХ — вид журнала расчетов;

Открытие формы существующего счета.

ОткрытьФорму(<Счет>, <КонтекстФормы>, <РежимПросмотра>)

Значение типа «Счет».

Необязательный параметр. Числовое выражение: 1 — открыть форму в режиме только просмотра; 0 — открыть форму в режиме редактирования. -1 (минус единица) в этом случае используется вариант предусмотренный текущим значением параметра «Режим открытия объектов» установленного пользователем. По умолчанию — 0.

Открытие формы нового счета.

"Счет. ХХХХХ" , где ХХХХХ — идентификатор плана счетов;

Открытие формы списка счетов (плана счетов).

"ПланСчетов.ХХХХ.YYYY", где ХХХХХ — идентификатор плана счетов; YYYYY — идентификатор формы плана счетов.

Открытие формы существующей операции.

ОткрытьФорму(<ОписательОбъекта>, <КонтекстФормы>, <Документ>, <Проводка>,

Строковое выражение. "Операция".

Значение типа «документ», операция которого будет открываться.

Необязательный параметр. Числовое выражение — номер проводки, на которую нужно позиционировать курсор при открытии операции.

Необязательный параметр. Числовое выражение — номер корреспонденции указанной проводки, на которую нужно позиционировать курсор при открытии операции.

Необязательный параметр. Числовое выражение: 1 — открыть форму в режиме только просмотра; 0 — открыть форму в режиме редактирования. -1 (минус единица) в этом случае используется вариант предусмотренный текущим значением параметра «Режим открытия объектов» установленного пользователем. По умолчанию — 0.

Открытие формы ввода новой операции.

ОткрытьФорму(<ОписательОбъекта>, <КонтекстФормы>, <ТиповаяОперация>)

Строковое выражение. "Операция".

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

Открытие формы журнала операций.

ОткрытьФорму(<ОписательОбъекта>, <КонтекстФормы>, <Документ>, <Пров>, <Корр>)

"ЖурналОпераций.YYYYY", где YYYYY — идентификатор формы журнала операций;

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

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

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

Открытие формы журнала проводок.

ОткрытьФорму(<ОписательОбъекта>, <КонтекстФормы>, <Документ>, <Проводка>,

"ЖурналПроводок.YYYYY", где YYYYY — идентификатор формы журнала проводок;

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

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

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

Открытие окна истории значений периодических констант, реквизитов справочников и счетов.

ОткрытьФорму("История.Счет", , <Счет>, <УстНаДату>)

Идентификатор периодической константы, как он задан в конфигураторе.

Идентификатор справочника, как он задан в конфигураторе.

Идентификатор периодического реквизита справочника, как он задан в конфигураторе.

Элемент справочника, для периодического реквизита которого открывается окно истории значений.

Счет, для которого открывается окно истории значений.

Необязательный параметр. Дата, на которую нужно установить курсор при открытии окна.

ОткрытьФормуМодально

Выполняет открытие модальной формы из встроенного языка.

ОткрытьФормуМодально(<Параметр1>, <КонтекстФормы>, <ПараметрЗ>. )

Англоязычный синоним:

Параметры: см. параметры метода ОткрытьФорму

Возвращаемое значение: см. метод ОткрытьФорму .

Функция ОткрытьФормуМодально позволяет открыть модальную форму документа, справочника, журнала документов, и других форм используемых в системе 1С:Предприятие. Синтаксис и описание см. метод ОткрытьФорму .

См. также: ОткрытьФорму

ТипЗначения

Получить тип значения данных.

Англоязычный синоним:

< 3начение > Выражение, тип данных значения которого надо определить.

Возвращаемое значение:

Функция возвращает числовое значение:

0 — неопределенный тип данных;

1 — числовой тип данных;

2 — строковый тип данных;

3 — тип данных — дата;

10 — агрегатный тип данных «Перечисление»;

11 — агрегатный тип данных «Справочник»;

12 — агрегатный тип данных «Документ»;

13 — агрегатный тип данных «Календарь»;

14 — агрегатный тип данных «ВидРасчета»;

15 — агрегатный тип данных «Счет»;

16 — агрегатный тип данных «ВидСубконто»;

17 — агрегатный тип данных «ПланСчетов»;

100 — так называемый внешний объект. В этот класс попадают все агрегатные объекты, не вошедшие в вышеперечисленный список, такие как «Текст», «Таблица», «Запрос», «ЖурналРасчетов» и т. п.

Функция ТипЗначения определяет, к какому типу данных принадлежит переданный параметр < 3начение > и возвращает числовой результат:

Если ТипЗначения(Код)<>1 Тогда

Предупреждение("Код имеет не числовой тип . ");

ТипЗначенияСтр

Получить строковое обозначение типа данных.

Англоязычный синоним:

< 3начение > Выражение, тип данных значения которого надо определить.

Возвращаемое значение:

Функция возвращает строковое значение в русскоязычном или в англоязычном написании — в зависимости от текущей установки основного языка конфигурации:

Читайте также: