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

04.10.13

Задачи пользователя - Мастера заполнения

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

Скачать исходный код

Наименование Файл Версия Размер
Внешняя обработка на кнопке Печать для сохранения пользовательских настроек документа
.epf 132,87Kb
2
.epf 132,87Kb 2 Скачать
  • Зачем это было нужно


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


    Как это работает


    СОЗДАТЬ ШАБЛОН КОМИССИИ


        Чтобы создать шаблон комиссии нужно

    • открыть документ с заполненным составом комиссии,
    • нажать кнопку Печать,
    • выбрать пункт Комиссия Сохранить настройки,
    • нажать кнопку Печать в форме выбора,

    • отметить нужную настройку (создать по кнопке +, если ни одной настройки не создано),
    • нажать кнопку Выбрать,

    • закрыть документ.

    Настройка сохранена.



    ЗАПОЛНИТЬ КОМИССИЮ ИЗ ШАБЛОНА


        Чтобы в документе заполнить комиссию из шаблона нужно:


    • открыть (или создать) документ,
    • нажать кнопку Печать,
    • выбрать пункт Комиссия Сохранить настройки,
    • нажать кнопку Печать в форме выбора,

    • отметить ранее сохраненную настройку,
    • нажать кнопку Выбрать,

    • записать документ.


    Как создать обработку



    Обработка создается аналогично внешней печатной форме:
    Внешняя обработка с реквизитом СсылкаНаОбъект типа ДокументСсылка.ПринятиеКУчетуОС
    В модуле обработки код:


     
    //ПЕРЕМЕННЫЕ

    Перем мТекущаяНастройка Экспорт;
    Перем мСохраняемыеРеквизиты;

    Функция Печать() Экспорт
    // Что сохраняем в настройках



    мСохраняемыеРеквизиты = Новый Структура;
    мСохраняемыеРеквизиты.Вставить("ПредседательКомиссии");
    мСохраняемыеРеквизиты.Вставить("ЧленКомиссии1");
    мСохраняемыеРеквизиты.Вставить("ЧленКомиссии2");
    мСохраняемыеРеквизиты.Вставить("ДолжностьПредседателя");
    мСохраняемыеРеквизиты.Вставить("ДолжностьЧлКомиссии1");
    мСохраняемыеРеквизиты.Вставить("ДолжностьЧлКомиссии2");

    Если ДополнительныеПараметры = Неопределено Тогда
    СохраняемНастройки = Ложь;
    Иначе
    СохраняемНастройки = ДополнительныеПараметры.Сохранение;
    КонецЕсли;

    Если СохраняемНастройки Тогда
    СохранитьНастройки();
    Иначе
    ВосстановитьНастройки();
    Форма=СсылкаНаОбъект.ПолучитьФорму("ФормаДокумента");
    Для каждого ОднаНастройка Из мТекущаяНастройка.СохраненнаяНастройка Цикл
    Форма.ЭлементыФормы[ОднаНастройка.Ключ].Значение = ОднаНастройка.Значение;
    КонецЦикла;
    КонецЕсли;


    КонецФункции
    //Печать


    //////////////////////////////////////////////////////////////
    // ПРОЦЕДУРЫ И ФУНКЦИИ СОХРАНЕНИЯ И ВОССТАНОВЛЕНИЯ НАСТРОЕК //
    //////////////////////////////////////////////////////////////


    Функция ВосстановитьНастройки() Экспорт


    Перем СохраненнаяНастройка;

    СтруктураНастройки = Новый Структура;
    СтруктураНастройки.Вставить("Пользователь", глЗначениеПеременной("глТекущийПользователь"));
    СтруктураНастройки.Вставить("ИмяОбъекта", "ДокументОбъект." + СсылкаНаОбъект.Метаданные().Имя);
    СтруктураНастройки.Вставить("НаименованиеНастройки", ?(мТекущаяНастройка = Неопределено, Неопределено, мТекущаяНастройка.НаименованиеНастройки));

    Результат = УниверсальныеМеханизмы.ВосстановлениеНастроек(СтруктураНастройки);

    Если Результат <> Неопределено Тогда

    мТекущаяНастройка = Результат;
    ВосстановитьНастройкиИзСтруктуры(Результат.СохраненнаяНастройка);

    Иначе

    мТекущаяНастройка = СтруктураНастройки;

    КонецЕсли;


    КонецФункции
    // ВосстановитьНастройки()


    Процедура СохранитьНастройки() Экспорт


    Перем СохраненнаяНастройка;

    СформироватьСтруктуруДляСохраненияНастроек(СохраненнаяНастройка);

    СтруктураНастройки = Новый Структура;
    СтруктураНастройки.Вставить("Пользователь", глЗначениеПеременной("глТекущийПользователь"));
    СтруктураНастройки.Вставить("ИмяОбъекта", "ДокументОбъект." + СсылкаНаОбъект.Метаданные().Имя);
    СтруктураНастройки.Вставить("НаименованиеНастройки", ?(мТекущаяНастройка = Неопределено, Неопределено, мТекущаяНастройка.НаименованиеНастройки));
    СтруктураНастройки.Вставить("СохраненнаяНастройка", СохраненнаяНастройка);
    СтруктураНастройки.Вставить("ИспользоватьПриОткрытии", Истина);
    СтруктураНастройки.Вставить("СохранятьАвтоматически", Истина);

    Результат = УниверсальныеМеханизмы.СохранениеНастроек(СтруктураНастройки);

    Если Результат <> Неопределено Тогда

    мТекущаяНастройка = Результат;

    Иначе

    мТекущаяНастройка = СтруктураНастройки;

    КонецЕсли;


    КонецПроцедуры
    // СохранитьНастройки()


    Процедура СформироватьСтруктуруДляСохраненияНастроек(СтруктураСНастройками) Экспорт


    Если ТипЗнч(СтруктураСНастройками) <> Тип("Структура") Тогда

    СтруктураСНастройками = Новый Структура;

    КонецЕсли;
    Для каждого ОдинРеквизит Из мСохраняемыеРеквизиты Цикл
    СтруктураСНастройками.Вставить(ОдинРеквизит.Ключ, СсылкаНаОбъект[ОдинРеквизит.Ключ]);
    КонецЦикла;


    КонецПроцедуры
    // СформироватьСтруктуруДляСохраненияНастроек()


    Функция ВосстановитьНастройкиИзСтруктуры(СтруктураСНастройками) Экспорт


    Если ТипЗнч(СтруктураСНастройками) <> Тип("Структура") Тогда
    Возврат Ложь;
    КонецЕсли;
    Объект = СсылкаНаОбъект.ПолучитьОбъект();
    Для каждого ОдинРеквизит Из мСохраняемыеРеквизиты Цикл
    СтруктураСНастройками.Свойство(ОдинРеквизит.Ключ, Объект[ОдинРеквизит.Ключ]);
    КонецЦикла;


    Возврат Истина;


    КонецФункции
    // ВосстановитьНастройкиИзСтруктуры()

    Как подключить обработку





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

    Обработка имеет два режима работы:
    Наименование Вид обработки Код Комментарий  
    Комиссия Восстановить настройки Печатная форма 000000108 Документ Принятие к учету ОС заполнить состав комиссии пользовательскими настройками
    Комисси
    Сохранить настройки
    Печатная форма 000000107 Документ Принятие к учету ОС сохранить пользовательский состав комиссии


    Комиссия Восстановить настройки
    N Представление объекта Отбор Файл печатной формы Заменяемая печатная форма Параметры обработки
    1 Документ "Принятие к учету ОС"        

    параметры
    Имя Значение
    Сохранение Нет

    Комиссия Сохранить настройки
    N Представление объекта Отбор Файл печатной формы Заменяемая печатная форма Параметры обработки
    1 Документ "Принятие к учету ОС"        

    параметры
    Имя Значение
    Сохранение Да
  •  

внешняя обработка

См. также

Автоматический подбор и заполнение ГТД для 1С:Бухгалтерия предприятия 8, редакция 3.0 (платформа 8.2 и 8.3)

Операции по ВЭД Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Мастера заполнения Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

СКАЧАЙТЕ И ПОПРОБУЙТЕ БЕСПЛАТНО! Данная обработка расширяет функционал типовой конфигурации «1С:Бухгалтерия предприятия» и позволяет осуществлять автоматическое заполнение ГТД в документах «Реализация товаров и услуг», «Списание товаров», «Отчет о розничных продажах», «Отчет комиссионера (агента) о продажах», «Требование-накладная», «Возврат товаров от покупателя», «Комплектация номенклатуры», «Безвозмездная передача», «Отчет производства за смену». Обработка предназначена для работы в конфигурации «1С:Бухгалтерия предприятия 8, редакция 3.0» Есть версия обработки оптимизированная для работы в 1CFresh

8280 руб.

19.06.2012    137014    251    81    

213

Заполнение описания номенклатуры с помощью ChatGPT

Мастера заполнения Нейросети Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

Расширение для заполнения описания номенклатуры с помощью модели ИИ ChatGPT. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ. Прошло аудит на 1cfresh.com. Версия для автоматического заполнения

5000 руб.

13.03.2023    16276    43    49    

74

Заполнение описания номенклатуры с помощью GigaChat

Нейросети Мастера заполнения Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Расширение для заполнения описания номенклатуры с помощью модели ИИ GigaChat от Сбера. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ.

5000 руб.

08.11.2023    1554    7    0    

15

Списание остатков по счету документом Операция

Мастера заполнения Бухгалтерский учет Управляемые формы 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

5000 руб.

29.05.2019    11261    6    5    

7

Основной договор в документах для УТ11.5

Мастера заполнения Платформа 1С v8.3 1С:Управление торговлей 11 Россия Платные (руб)

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

4560 руб.

26.01.2023    4922    8    1    

7

Заполнение справочника "Автоработы" и справочника "Номенклатура" в Альфа-Авто

Логистика, склад и ТМЦ Мастера заполнения Платформа 1С v8.3 Конфигурации 1cv8 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Обработка заполняет справочник "Автоработы" 3000 авторабот (реквизит сопоставления "Наименование") и справочник "Номенклатура" 200000 артикулами запчастей на популярные модели автомобилей (реквизиты сопоставления "Наименование" и "Артикул").

2000 руб.

07.10.2022    6549    15    0    

13

Автоматический ввод документов в 1С:УТ 11 (Заказ, Акт или Реализация, Счет-фактура при необходимости)

Мастера заполнения Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Автоматическое массовое создание заказов и актов(реализаций) в "1С:Управление торговлей 11" уменьшает затраты времени на ввод однотипных документов для Ваших контрагентов. Если у Вас список клиентов, которым Вы ежемесячно выставляете закрывающие документы (счет, акт, счет-фактура), то с помощью данного решения Вы сократите время работы во много раз. Обработка для группового создания актов в "1С:Управоение торговлей ред.11" автоматизирует процесс составляения документов и экономит Ваше ценное время.

2760 руб.

09.04.2020    25323    21    7    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mikhailovaew 127 23.10.13 10:11 Сейчас в теме
Комиссию можно было зашить в константы - никаких проблем при обновлении.
Оставьте свое сообщение