1С Предприятие 7.7. Документация

       

ВводНаОсновании


Предопределенная процедура при вводе нового документа на основании.

Синтаксис:

ВводНаОсновании(<ДокументОснование>)

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

InputCausedBy

Параметры:



<ДокументОснование>

Значение документа, на основании которого вводится новый документ.

Описание:

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

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

Процедуру ВводНаОсновании можно размещать только в Модулях форм документов (см. «Виды программных модулей»).

Пример:

Процедура ВводНаОсновании(ДокОснование)

   Если (ДокОснование.Вид() = "ПриходнаяРеализ")

         ИЛИ ДокОснование.Вид() = "РасходнаяРеализ") Тогда

      ПризнакРеализатора = Перечисление.ПризнакиРеализаторов.Реализатор_Клиент;

      ДатаДок = РабочаяДата();

      Валюта = Константа.БазоваяВалюта;

      Валюта.ИспользоватьДату(ДатаДок);

      Дата_Курса = ДокОснование.Дата_Курса;

      Курс = ДокОснование.Курс;

      НДС = ДокОснование.НДС;

      СН = ДокОснование.СН;

      Фирма = ДокОснование.Фирма;

      Основание = "" + ДокОснование + " от " + ДокОснование.ДатаДок;

      ДокОснование.ВыбратьСтроки();

      Пока ДокОснование.ПолучитьСтроку() = 1 Цикл

         НоваяСтрока();

         Товар = ДокОснование.Товар;

         Цена = ДокОснование.Цена;

         Единица = ДокОснование.Единица;

         Коэффициент = ДокОснование.Коэффициент;

         Количество = ДокОснование.Количество;

         Сумма = ДокОснование.Сумма;

      КонецЦикла;

   Иначе

      Предупреждение("Этот Документ можно вводить только на основании

                       |накладных по реализации!");

      ВводНового();

   КонецЕсли;

   Валюта_Прежн = Валюта;

   Курс_Прежн = Курс;

КонецПроцедуры

См. также: СтатусВозврата



Содержание раздела