Предопределенные процедуры Модуля формы документа
ВводНаОсновании
Предопределенная процедура при вводе нового документа на основании.
Синтаксис:
ВводНаОсновании(<ДокументОснование>)
Англоязычный синоним:
InputCausedBy
Параметры:
<ДокументОснование> | Значение документа, на основании которого вводится новый документ. |
Описание:
Вызов процедуры ВводНаОсновании производится в системе 1С:Предприятие неявно после выбора пункта меню "Действия" – "Ввести на основании". В этот момент система подставляет фактическое значение параметра <ДокументОснование>, содержащее документ, на котором находился курсор в момент выполнения данной команды.
Данная процедура может использоваться, например, для установки начальных значений (по умолчанию) реквизитов нового документа, вводимого на основании другого. Если в данной предопределенной процедуре установить статус возврата – 0 (например, если данному пользователю нельзя вводить новые документы), ввода нового документа и открытие его формы не будет выполнено.
Процедуру ВводНаОсновании можно размещать только в Модулях форм документов (см. "Виды программных модулей").
Пример:
Процедура ВводНаОсновании(ДокОснование) Если (ДокОснование.Вид() = "ПриходнаяРеализ") ИЛИ ДокОснование.Вид() = "РасходнаяРеализ") Тогда ПризнакРеализатора = Перечисление.ПризнакиРеализаторов.Реализатор_Клиент; ДатаДок = РабочаяДата(); Валюта = Константа.БазоваяВалюта; Валюта.ИспользоватьДату(ДатаДок); Дата_Курса = ДокОснование.Дата_Курса; Курс = ДокОснование.Курс; НДС = ДокОснование.НДС; СН = ДокОснование.СН; Фирма = ДокОснование.Фирма; Основание = "" + ДокОснование + " от " + ДокОснование.ДатаДок; ДокОснование.ВыбратьСтроки(); Пока ДокОснование.ПолучитьСтроку() = 1 Цикл НоваяСтрока(); Товар = ДокОснование.Товар; Цена = ДокОснование.Цена; Единица = ДокОснование.Единица; Коэффициент = ДокОснование.Коэффициент; Количество = ДокОснование.Количество; Сумма = ДокОснование.Сумма; КонецЦикла; Иначе Предупреждение("Этот Документ можно вводить только на основании |накладных по реализации!"); ВводНового(); КонецЕсли; Валюта_Прежн = Валюта; Курс_Прежн = Курс; КонецПроцедуры
См. также: СтатусВозврата.