Документ Поставка материалов

Добавить новый документ. Задать имя документа.

Вкладка Данные. При создании документа по умолчанию создаются два реквизита: номер документа, дата создания документа. Создать реквизиты: Контрагент, ИтогоБезНДС, ИтогоПоДокументу.

Создать табличную часть СпецификацияПоставки, включающую следующие реквизиты: Материал, ЦенаПоставки, Количество, Сумма, НДС, СуммаСНДС. По умолчанию при создании табличной части документа создается реквизит НомерСтрокиТабличнойЧасти. Связь с таблицей документа в этом случае устанавливается автоматически по полю НомерДокумента соответствующего документа. Ключом для таблицы СпецификацияПоставки явлются: НомерСтрокиТабличнойЧасти, НомерДокумента.

 

Вкладка Движение. Проверить следующие позиции: Проведение – разрешить, Оперативное проведение – разрешить. С оперативным проведением связано понятие оперативной отметки времени. Оперативная отметка (дата проведения) создается (указывается в соответствующем регистре) каждый раз при проведении документа. Если проходит повторное проведение документа (или проведение проходит позже, чем дата создания документа), то при оперативном проведении дата проведения устанавливается соответствующая текущей. Если проведение неоперативное, то дата проведения соответствует дате предыдущего проведения или дате документа. Движения документа будут созданы позднее.

Вкладка Формы. Создать форму документа. В строке Основные формы документа нажать на «лупу» и запустить конструктор форм. Просмотреть результат.

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

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

Запуск требуемой процедуры будет производиться в момент события изменения значения объекта формы Поле ввода Количества. Для соответствующего поля в форме вызвать окно свойств (двойной щелчок по полю ввода Количество), в списке свойств в разделе События найти событие При изменении, щелкнуть по лупе. В модуле формы появляется «заготовочка» процедуры обработки СпецификацияПоставки КоличествоПриИзменении. Сформируем текст процедуры:

 

Процедура СпецификацияПоставкиКоличествоПриИзменении(Элемент) Начало процедуры
СТЧ=ЭлементыФормы.СпецификацияПоставки.ТекущиеДанные; Обращение к программному объекту ЭлементыФормы, который включает все элементы формы. Обращаемся к элементу формы СпецификацияПоставки (табличной части, всем строкам). Так как необходим расчет для текущей строки, вызываем свойство ТекущиеДанные. Ссылку на текущую строку присваиваем переменной СТЧ.
СТЧ.Сумма=СТЧ.Количество*СТЧ.ЦенаПоставки;

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

СТЧ.НДС=СТЧ.Сумма*0.18;
СТЧ.СуммаСНдс=СТЧ.Сумма+ СТЧ.НДС;
ИтогоБезНДС=СпецификацияПоставки.Итог("Сумма");

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

ИтогоПоДокументу=СпецификацияПоставки.Итог("СуммаСНдс");
КонецПроцедуры  

 

Проверка синтаксиса процедуры: Текст/Синтаксический контроль.

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

Эту же процедуру поставим в поле При изменении (События) для поля ЦенаПоставки. (просто выбрать процедуру из списка.

 

Модуль документа и ряд других свойств документа сформируем позже.

 

Документ Договор на оказание услуг

Добавить новый документ. Задать имя документа.

Вкладка Данные. Создать реквизиты: Контрагент, ИтогоБезНДС, ИтогоПоДокументу, Сотрудник.

Создать табличную часть СпецификацияДоговора, включающую следующие реквизиты: Услуга, Цена, Количество, Сумма, НДС, СуммаСНДС.

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

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: