График : Пн-Пт: 9.30 - 18.00


Печатные формы в "1С:Предприятие 8.2"

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

  • печатная форма;
  • алгоритм заполнения;
  • сортировка;
  • и другие мелочи;

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

Сейчас мы покажем как можно самостоятельно изменить некоторые настройки, при этом не меняя конфигурацию. Эти «дополнительные возможности» находятся:
Меню > Сервис > Дополнительные отчеты и обработки.

Дополнительные внешние обработки

Наш пример в стандартной конфигурации «Бухгалтерия предприятия, редакция 2.0».

Итак, всё по порядку:

  • Дополнительные внешние обработки;
  • Дополнительные внешние отчеты;
  • Дополнительные внешние обработки табличных частей;
  • Дополнительные внешние печатные формы;

Внешние обработки.

Подробности здесь ни к чему, все пользуются внешними обработками: Выбор вида документа

  • печать ценников;
  • всевозможные обработки справочников;
  • документов;
  • проводок;
  • регистров;

  1. Открываем конфигуратор
  2. Создаем файл с видом «Внешняя обработка»
  3. Пишем код
  4. Нажимаем «ОК»
  5. Готово

Регистрация внешней обработки.

Сервис > Дополнительные отчеты и обработки > Дополнительные внешние обработки в появившемся окне «Дополнительные внешние обработки» нажимаем на кнопку «Добавить» или на клавишу клавиатуры «INSERT». В диалоговом окне «Регистрация внешнейобработки» заносим название и указываем на тот файл, который мы создали/скачали.

Внешние отчеты.

С отчётами тоже не должно возникнуть сложностей. Есть отличие: внешний отчёт Вы можете создать точно так же, как и внешнюю обработку, а можете с видом «Внешний отчет».
Отличие этих двух видов в том, что во внешнем отчёте есть всё, что нужно для отчёта (схема компоновки данных, встроенный конструктор настроек и т.п.)

Внешняя обработка табличной части.

Здесь потребуется от Вас внимание.
Требования к внешней обработке табличной части: в модуле обработки должна быть процедура Инициализировать() с ключевым словом Экспорт.
Например: Задача:

Списание малоценки.

Раз в квартал списывается так называемая «малоценка»,т.е. ручки, карандаши, бумага. Давайте сделаем так, чтобы для нашего бухгалтера эта процедура стала обыкновенной рутиной. Откроем конфигуратор, Создаём файл «ЗаполнитьПоОстаткам1001.epf» и создадим процедуру:

  Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПоле)Экспорт;
  //
  //
  КонецПроцедуры

Это полезно знать !

В справочнике «Внешние обработки», в процедуре «КоманднаяПанельФайлаИсточникаЗаменитьФайл» есть интересное место:

  Если ЗначениеВозврата.ВнешняяОбработка.Метаданные().Макеты.Найти(  "Параметры_Авторегистрации")<>Неопределено Тогда
  Макет = ЗначениеВозврата.ВнешняяОбработка.ПолучитьМакет("Параметры_Авторегистрации");
  ТаблицаПринадлежности = Новый ТаблицаЗначений;
  ТаблицаПринадлежности.Колонки.Добавить("СсылкаОбъекта");
  ТаблицаПринадлежности.Колонки.Добавить("ТабличнаяЧастьИмя");

Значить, если мы в своей обработке создаём макет с именем «Параметры_Авторегистрации» и в первую строку первой колонки вставляем строчку «Документы.СписаниеТоваров», а во вторую колонку вставляем «Товары», то в процессе регистрации нашей обработки будут автоматически заполняться реквизиты «Представление объекта» и «Табличная часть». Согласитесь, это удобно и избавит нас как от неопытных инсталляторов, так и от рутины.

Продолжим.

Нам необходимо списать со склада «Бухгалтерия» (где склад "Бухгалтерия" любое указанное место в документе), все то что имеется на счёте 10.01. В итоге мы получаем такую процедуру:

  Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПоле) Экспорт;
  Запрос = Новый Запрос;   Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.СырьеИМатериалы);
  Запрос.УстановитьПараметр("Организация", Объект.Организация);
  Запрос.УстановитьПараметр("Склад",Объект.Склад);
  Запрос.Текст ="
  |ВЫБРАТЬ РАЗЛИЧНЫЕ
  | ХозрасчетныйОстатки.Счет,
  | ХозрасчетныйОстатки.Субконто1,
  | ХозрасчетныйОстатки.Субконто2,
  | ХозрасчетныйОстатки.Субконто3,
  | ХозрасчетныйОстатки.Организация,
  | ХозрасчетныйОстатки.КоличествоОстатокДт
  |ИЗ
  | РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
  |ГДЕ
  | ХозрасчетныйОстатки.Счет = &Счет
  | И ХозрасчетныйОстатки.Организация = &Организация
  | И Субконто2 = &Склад
  |";
  Выборка = Запрос.Выполнить().Выбрать();
  Объект["Товары"].Очистить();
  Пока Выборка.Следующий() Цикл
  СтрокаТабличнойЧасти = Объект["Товары"].Добавить();
  СтрокаТабличнойЧасти.Номенклатура = Выборка.Субконто1;
  СтрокаТабличнойЧасти.Количество = Выборка.КоличествоОстатокДт;
  СтрокаТабличнойЧасти.СчетУчета = ПланыСчетов.Хозрасчетный.СырьеИМатериалы;
  КонецЦикла;
  КонецПроцедуры

В заключении.

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

Нашли ошибку на сайте? Напишите о ней нам!
Наверх Обратный звонок