Концептуальное решение: помощник ввода приходных накладных и прочих документов. Добавление сервисных функций в документы 1с итог по колонке табличной части

Задание 4. Добавление сервисных функций в документы

1. Вычисление итоговых сумм в документах

Часто бывает удобно видеть в форме документа, имеющего табличную части, итоги по каким-либо колонкам. Как правило, итоги вычисляют для суммовых показателей документа (например, «Сумма», «Сумма НДС» и т.п.). Простейшим способом вычислить итог по колонке документа и отобразить его в форме документа является добавление в форму документа «Подвала» (см. пп. 1.1 – 1.4). Настроим вычисление суммы для документа «Оказание услуг».

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

1.2 Щелчком по заголовку колонки «Услуга» открыть окно свойств этой колонки. В группе свойств «Основные» в поле «Текст подвала» написать текст «Итого:».

1.3 Щелчком по заголовку колонки «Сумма» открыть окно свойств этой колонки. В группе свойств «Характеристики» включить флажок «ОтображатьИтогиВПодвале», а в поле «ГоризонтальноеПоложениеВПодвале» выбрать вариант «Прижать вправо» (т.к. по стандартам числовые значения должны выравниваться по правому краю).

1.4 Проверить вычисление итога в режиме «1С:Предприятие».

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

1.5 Создать новый реквизит документа «Оказание услуг» (до этого данный документ не имел реквизитов , он имел только реквизиты табличной части ).

1.6 В окне свойств реквизита задать имя «СуммаИтого» и синоним «Сумма (итого)».

1.7 Установить для реквизита такие же тип данных и размерность, как и для реквизита «Сумма» табличной части «Услуги» (Число, длина: 15, точность: 2).

1.8 Открыть модуль объекта (закладка «Прочее», кнопка «Модуль объекта») и написать в нем текст процедуры:

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

СуммаИтого = Услуги.Итог("Сумма");

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

(Приведенный текст можно разместить ниже или выше уже имеющейся в модуле процедуры «ОбработкаПроведения».)

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

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

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

2. Создание печатных форм документов

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

2.1 В окне свойств документа «Оказание услуг» переключиться на закладку «Макеты». Нажать на кнопку «Конструкторы»; в появившемся меню выбрать пункт «Конструктор печати».

2.2 В окне конструктора на первой странице выбрать размещение процедуры печати в форме документа переставить переключатель («в модуле / в модуле формы») в положение «в модуле формы». Имя процедуры оставить по умолчанию – «Печать». Нажать кнопку «Далее».

2.3 На странице выбора реквизитов «шапки» выбрать реквизиты «Номер» и «Дата» (двойным щелчком). Нажать «Далее».

2.4 На странице выбора реквизитов «табличной части» выбрать оба реквизита «Услуга» и «Сумма». Нажать «Далее».

2.5 На странице выбора реквизитов «подвала» («нижней» части печатной формы документа) выбрать реквизит «СуммаИтого». Нажать «Далее».

2.6 На последней странице конструктора указать вызов процедуры при помощи новой кнопки «Печать» и установить вариант показа таблицы «Только просмотр». Нажать кнопку «ОК».

Однажды, меня, программера, попросили подменить оператора и забить несколько приходных накладных. Набирая документы, я обратил внимание, что у меня очень много времени уходило на выверку накладной и поиск ошибок в заполнении сумм и количеств. Если же все суммы сходились с первого раза, то вспоминался анекдот про двойную ошибку при составлении баланса . Большинство накладных поступает в форме Торг-12, где на каждой странице есть промежуточные итоги по количествам и суммам. Почему бы не использовать это?

Итак, Вашему вниманию предоставляется обработка, с помощью которой можно просматривать промежуточные итоги в любой табличной части произвольного документа. Для ее использования нужно сделать несколько простых шагов:

Шаг 1: Подключить внешнюю обработку заполнения табличных частей.

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

Шаг 2: Инициализировать обработку.

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

Шаг 3: Настроить колонки.

Расчет итогов производится по колонкам, в которых хранятся числовые данные. Для того, чтобы установить или убрать вывод итога по колонке необходимо нажать кнопку "Настройка колонок" и в открывшемся окне отметить колонки, по которым рассчитывать итоги. Автоматически устанавливается вывод итогов в колонках, наименование которых содержит слова "Сумма" или "Количество".

Шаг 4: Вывести итоги.

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

Бонус.

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

Результат.

После того, как Вы нашли ошибку в количествах или суммах, вернитесь в форму документа и поправьте там данные. А содержимое табличного поля в обработке обновится автоматически!

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

Благодарности.

Долго не мог придумать как отображать итоги по нескольким разделам, поэтому огромное спасибо за разработку

Если хотите иметь данный функционал непосредственно в форме (например, в форме документа "Поступление товаров и услуг") - !

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

Автоподсчёт итогов по колонке в табличной части 1С

И так преступим, запускаем 1С в режиме конфигуратора. Далее переходим в созданный ранее документ. Открываем его и переходим на вкладку формы и открываем её.

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

После чего на форме в табличной части снизу должен появиться подвал.

Теперь на нужно чтобы в колонке Сумма подсчитывался итого. Для этого на вкладке Элементы ищем пункт с Название МатериалыСумма и кликаем на нем два раза. Справа появиться свойства поля в них ищем пункт
ТекстПодвала и вписываем Итого. А в пункте ПутьКДаннымПОдвала кликаем на три точечки.

В открывшемся окне нужно выбрать ИтогоСумма.

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

Вот мы и сделали автоматический подсчет итогов по колонке. Таким образом можно подсчитать итого во всех колонках и в любых документах.