Форма МХ-18 — это “Акт о приеме-передаче товарно-материальных ценностей на хранение”. В 1С, как и с любой другой печатной формой, есть несколько способов её реализовать, но я опишу наиболее распространенный и гибкий, который позволит вам обновлять 1С без потери доработок.
Общая концепция:
- Создается внешняя печатная форма, привязанная к документу, на основании которого происходит передача на хранение (например, “Реализация товаров и услуг”, “Передача материалов в эксплуатацию” или специализированный документ). В макете этой печатной формы создается шаблон акта МХ-18, где прописываются все необходимые реквизиты и табличная часть. В коде формы осуществляется заполнение макета данными из документа-основания.
Подробная инструкция:
1. Определение документа-основания:
- Решите, какой документ в вашей конфигурации 1С является основанием для передачи ТМЦ на хранение. От этого зависит, к какому документу вы будете привязывать внешнюю печатную форму.
2. Создание внешней печатной формы:
- Запустите 1С в режиме “Конфигуратор”. В меню “Файл” выберите “Новый” -> “Внешняя печатная форма”. В открывшемся окне укажите:
- Имя: MX18 (или любое другое понятное имя) Синоним: Акт МХ-18 Принадлежит: Выберите документ, который является основанием для передачи на хранение (например, “Реализация товаров и услуг”). Нажмите “ОК”.
3. Создание макета:
- В дереве объектов внешней печатной формы найдите папку “Макеты” и нажмите на ней правой кнопкой мыши. Выберите “Добавить” -> “Табличный документ”. Имя макета: МакетMX18. Откройте созданный макет “МакетMX18”. Создайте макет, соответствующий утвержденной форме МХ-18. Включите все необходимые реквизиты, шапку, табличную часть и подписи.
- Шапка: Укажите наименование организации, код ОКПО, номер и дату составления акта, наименование организации-хранителя и сдатчика, номер и дату договора хранения и другие необходимые данные. Табличная часть: Создайте таблицу для перечисления передаваемых на хранение ТМЦ. Таблица должна содержать следующие колонки:
- Номер по порядку Наименование ТМЦ Номенклатурный номер Единица измерения Количество (штук, кг и т. д.) Цена за единицу Сумма Состояние ТМЦ (например, “Новое”, “Б/У”, “Требует ремонта”) Особые отметки (например, “Хрупкое”, “Требует особых условий хранения”)
Подписи: Предусмотрите места для подписей ответственных лиц со стороны сдатчика и хранителя.
Использование параметров: Вместо прямого ввода данных в макет используйте параметры. Это позволит заполнять макет данными из документа-основания.
- Выделите ячейку, в которую нужно вставить значение, и в контекстном меню выберите “Параметр”. Укажите имя параметра (например, “ОрганизацияНаименование”, “НомерДоговора”, “ДатаДокумента”). Тип параметра будет определен автоматически при формировании печатной формы.
Определение областей: Разделите макет на области, чтобы упростить заполнение данными из документа-основания. Например:
- Шапка — для шапки акта. СтрокаТМЦ — для строки табличной части. Подписи — для подписей ответственных лиц.
4. Написание кода:
- Откройте модуль объекта внешней печатной формы. Создайте функцию формирования печатной формы:
· Функция ПечатьМХ18(Объект) Экспорт
·
· Результат = Новый ТабличныйДокумент;
· Макет = Объект. ПолучитьМакет("МакетMX18");
·
· // Заполнение шапки документа
· ОбластьШапка = Макет. ПолучитьОбласть("Шапка");
· ОбластьШапка. Параметры. Организация = Объект. Организация. Наименование;
· ОбластьШапка. Параметры. Номер = Объект. Номер;
· ОбластьШапка. Параметры. Дата = Объект. Дата;
· // … Заполнение других параметров шапки…
·
· Результат. Вывести(ОбластьШапка);
·
· // Заполнение табличной части
· ОбластьСтрокаТМЦ = Макет. ПолучитьОбласть("СтрокаТМЦ");
· НомерСтроки = 1;
·
· Для Каждого СтрокаТЧ из Объект. Товары Цикл // Замените "Товары" на имя табличной части вашего документа
· ОбластьСтрокаТМЦ. Параметры. НомерСтроки = НомерСтроки;
· ОбластьСтрокаТМЦ. Параметры. Номенклатура = СтрокаТЧ. Номенклатура. Наименование;
· ОбластьСтрокаТМЦ. Параметры. ЕдиницаИзмерения = СтрокаТЧ. Номенклатура. ЕдиницаИзмерения;
· ОбластьСтрокаТМЦ. Параметры. Количество = СтрокаТЧ. Количество;
· ОбластьСтрокаТМЦ. Параметры. Цена = СтрокаТЧ. Цена;
· ОбластьСтрокаТМЦ. Параметры. Сумма = СтрокаТЧ. Сумма;
· // … Заполнение других параметров строки ТМЦ…
·
· Результат. Вывести(ОбластьСтрокаТМЦ);
· НомерСтроки = НомерСтроки + 1;
· КонецЦикла;
·
· // Заполнение подписей
· ОбластьПодписи = Макет. ПолучитьОбласть("Подписи");
· // … Заполнение параметров подписей…
·
· Результат. Вывести(ОбластьПодписи);
·
· Возврат Результат;
·
· КонецФункции
- Описание кода:
- Функция ПечатьМХ18 принимает объект документа в качестве параметра. Создается новый табличный документ Результат. Получается макет табличного документа МакетMX18. Из макета получаются области (Шапка, СтрокаТМЦ, Подписи) и заполняются параметры данными из документа. Области выводятся в табличный документ Результат. Функция возвращает сформированный табличный документ Результат. Важно: Замените Объект. Товары на имя табличной части вашего документа.
5. Регистрация внешней печатной формы:
- В главном меню конфигуратора перейдите в “Сервис” -> “Внешние печатные формы”. Нажмите кнопку “Добавить”. Заполните параметры:
- Наименование: Акт МХ-18. Имя объекта: Укажите имя вашей внешней печатной формы (MX18). Использовать для объектов: Отметьте галочкой документ, который вы указали в пункте 2 (Реализация товаров и услуг или другой). Выбор процедуры: ПечатьМХ18. Нажмите “ОК”.
6. Проверка работы:
- Запустите 1С в режиме “Предприятие”. Откройте документ, на основании которого вы хотите печатать МХ-18. Нажмите кнопку “Печать”. В списке печатных форм должна появиться форма “Акт МХ-18”. Выберите “Акт МХ-18” и нажмите “Печать”. Проверьте правильность заполнения формы.
7. Возможные доработки:
- Нумерация актов: Реализуйте автоматическую нумерацию актов МХ-18 (например, с использованием регистра сведений). Хранение данных: Если необходимо хранить данные, специфичные для МХ-18, которые не содержатся в документе-основании, добавьте дополнительные реквизиты в документ-основание или создайте отдельный регистр сведений. Печать нескольких экземпляров: Реализуйте возможность печати нескольких экземпляров акта (например, для сдатчика и хранителя). Автоматическое заполнение ответственных лиц: Настройте автоматическое заполнение полей с ответственными лицами (например, на основании настроек пользователей или должностей). Штрихкодирование: Добавьте штрихкод на акт для быстрой идентификации документа. Электронная подпись: Реализуйте возможность подписания акта электронной подписью.
Ключевые моменты:
- Макет: Уделите особое внимание созданию макета. Он должен полностью соответствовать утвержденной форме МХ-18 и содержать все необходимые реквизиты. Код: Код должен корректно извлекать данные из документа-основания и заполнять ими параметры макета. Тестирование: Тщательно протестируйте созданную форму на разных примерах данных, чтобы убедиться в ее правильной работе.
Следуя этой инструкции, вы сможете создать функциональную и удобную в использовании форму МХ-18 в 1С.