Подключаемые внешние отчеты в ЗиК (без изменения конфигурации (ну или почти без изменения :-) )).

23.12.10

Задачи пользователя - Адаптация типовых решений

1С почему то решила, что в бухгалтерии нужны подключаемые внешние отчеты, а в ЗиК нет.
А зря. С этим механизмом можно было бы сделать много очень полезных доработок документов без изменения конфигурации. И не только!

Скачать файлы

Наименование Файл Версия Размер
StarterExtForms.ert
.ert 222,00Kb
77
.ert 222,00Kb 77 Скачать
GoJurnal.zip
.zip 13,29Kb
19
.zip 13,29Kb 19 Скачать
GoJurnalDok.zip
.zip 13,36Kb
22
.zip 13,36Kb 22 Скачать

1С почему то решила, что в бухгалтерии нужны подключаемые внешние отчеты, а в ЗиК нет.
А зря. С этим механизмом можно было бы сделать много очень полезных доработок документов без изменения конфигурации. И не только!

Долгое время меня мучила мысль как реализовать этот механизм с минимальными изменениями конфигурации.


Первое решение было дополнительная кнопка на форме, запускающая внешний отчет ("запускалка"), который ищет в определенном месте наличие дополнительных отчетов для этого вида документа.
Но минус этого решения легкая потеря кнопки при обновлении, т.к. в анализе конфигурации изменения видны только в Диалоге, а что именно в нем поменялось непонятно. Приходилось каждый раз при обновлении восстанавливать мои кнопки. Подробнее об этом здесь:
http://www.zik1c.ru/Otchet/Ot4_Integ.shtml

Не так давно привлекло мое внимание статья: //infostart.ru/public/73221/ (venger).
Она натолкнула меня на мысль использовать "перехватчик" чтобы подключить внешние отчеты к документу.

Вот как я это сделал.
0. Сначала подключил "перехватчик" как рассказано в статье venger-а.
1. Добавил новую константу (Константа.КаталогВнешнихФорм), в которой указывается путь к папке с дополнительными отчетами и их "запускалкой". Т.к. дополнительные отчеты в большинстве своем универсальные, то их можно использовать сразу для нескольких баз и доработав один изменения вступят в силу во всех базах.
2. в глобальнике в процедуру глДействия(КонтекстДокумента,СписокДействий) Экспорт добавил запуск "запускалки" (извиняюсь за тавтологию ) - всего 2 строчки.

ИначеЕсли Действие = "Дополнительно" Тогда 
ОткрытьФорму("Отчет",КонтекстДокумента,СокрЛП(Константа.КаталогВнешнихФорм)+"\StarterExtForms.ert");

которая запускает мою старую обработку ищущую доп. отчеты для нужного документа.

2. В обработке КлассПерехватСобытийРеализация,

Процедура СобытиеГМ_ПриОткрытии(Конт, ФлагЧтенияНастройки) Экспорт

Попытка
СписокДействий = Конт.СписокДействий; 
Если СписокДействий.РазмерСписка() <> 0 Тогда
Конт.СписокДействий.ДобавитьЗначение("----------------------"); 
КонецЕсли; 
Конт.СписокДействий.ДобавитьЗначение("Дополнительно"); 
Если СписокДействий.РазмерСписка() = 1 Тогда
Конт.СписокДействий.ДобавитьЗначение("----------------------"); 
КонецЕсли;
Исключение

КонецПопытки;
КонецПроцедуры // СобытиеГМ_ПриОткрытии

Теперь это выглядит как показано на рисунках внизу.

Однако в справочниках нет кнопки ДЕЙСТВИЯ или подобной, поэтому там приходится применять нетиповую кнопку.

Как и для дополнительных возможностей (в меню сервис) мои дополнительные отчеты тоже состоят из самого отчета *.ert и его описания *.efd. Но я расширил немного описание, теперь в нем можно указать пользователя и НазваниеНабораПрав для которых отчет может запускаться, а так же обязательно надо указать из какого объекта метаданных можно запустить этот отчет. Пример описания (*.efd):

Название=Перепровести документ 
Пользователь=1С,А_Плюс
Права=Полные права,Кадры
Метаданные=Документ.БольгичныйЛист

Если в метаданных указать Документ.Все, тогда отчет будет запускаться из всех документов.


Перечислю что же можно реализовать через эти подключаемые отчеты/обработки:
Из справочника Сотрудники:
- печать всевозможных отчетов только для текущего сотрудника, например расчетые листки за несколько периодов, отчет по использованным отпускам, посмотреть суммы действующих постоянных надбавок, перейти в общий журнал документов с включенным отбором по текущему сотруднику, перейти в журнал расчетов.

Из документов:
- печать любых дополнительных произвольных неунифицированных форм для текущего документа; можно изменить/сохранить/перепровести документ любого периода с неизменением записей в журнале расчетов; можно написать обработки произвольного (нетипового) заполнения содержимого документа

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

и многое многое другое. Если кому интересно могу в комментарии написать, что уже сделано.

ВНИМАНИЕ! ПРЕДЛАГАЮ (пока) ЖЕЛАЮЩИМ УСТАНОВИТЬ НА ВАШЕЙ БАЗЕ ЭТО РЕШЕНИЕ ПЛЮС ДОПОЛНИТЕЛЬНЫЕ ОТЧЕТЫ/ОБРАБОТКИ ДЛЯ РАСШИРЕНИЯ ВОЗМОЖНОСТЕЙ ЗИК!

ЖЕЛАЮЩИЕ ПИШИТЕ В ЛИЧКУ!

См. также

Улучшенная обработка "Внешние печатные формы" для типовых конфигураций на базе 1С 7.7

Печатные формы Адаптация типовых решений Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

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

1 стартмани

04.02.2022    3200    1    igor7777    0    

3

Расчет страховых взносов в 1С 7.7 "Учет и отчетность предпринимателя, ред. 1.2" с апреля 2020

Адаптация типовых решений Платформа 1С v7.7 Конфигурации 1cv7 Россия Бухгалтерский учет ФОМС, ЕФС Бесплатно (free)

В этой статье описано, какие небольшие изменения можно внести в модуль документа Начисление налогов с ФОТ, чтобы правильно рассчитывались страховые взносы с 1 апреля 2020 г.

09.04.2020    19676    Юджин58    39    

5

Дистрибьюция 7.7. Часть 1. Жизненный цикл заявки покупателя. Одна заявка покупателя, много адресов доставки.

Адаптация типовых решений Платформа 1С v7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Управленческий учет Бесплатно (free)

Описан способ работы с учетом расписания с приоритетными покупателями - торговыми сетями (основными покупателями) в торговой или комплексной учетной системе на 1С 7.7. Множественная заявка покупателя на несколько торговых точек.

14.10.2019    6009    ksnik    14    

3

Как в торговле 7.7 печатать код ТНВЭД в счет-фактуре

Операции по ВЭД Адаптация типовых решений Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Бухгалтерский учет НДС Бесплатно (free)

В данной статье хотел поделиться опытом, как в Торговле 7.7 ( релиз 994) сделать возможность выводить код ТНВЭД в печатную форму счета-фактуры. Сразу скажу, что нужно это только тем, кто осуществляет экспорт в страны таможенного союза. Остальные могут не волноваться.

15.11.2017    11816    AndKovalchuk    0    

1

Предельные базы взносов в ПФР, ФСС, ФФОМС 2015 в 1С: Бухгалтерия 7.7

Зарплата Адаптация типовых решений Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Россия Бухгалтерский учет Абонемент ($m)

Реализация Постановления Правительства РФ 1316 от 04.12.14 для типовой конфигурации "Бухгалтерский учет 7.7" рел. 7.70.590

1 стартмани

31.12.2014    23928    9    Sergey1CSpb    2    

0
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Kapitan911 304 20.12.10 09:04 Сейчас в теме
Хорошая идея с глДействия(...)
Только не вижу смысла морочится с ВК, ради того чтобы не менять саму процедуру в ГМ ...
В глобальник все равно лезть - чтоб ВК подкличать....
Проще сразу глДействия(...) изменить и все
2. gucci76 364 20.12.10 09:18 Сейчас в теме
(1) Чем же проще?
Надо каждый в документ добавлять дополнительный текст. У меня после обновления надо вернуть изменения только в глобальник в двух местах: ПриНачалеРаботы и глДействия. А еслм без ВК тогда в каждый документ надо входить и восстанавливать.
А в моем решении кнопка Действия "преображается" для всех документов.
На мой взгял быстрее в глобальнике два места подправить, чем в нескольких документах одно. Тем более глобальник все равно надо править, чтобы увеличить быстродействие ЗиК. ИМХО.
3. Ёпрст 1063 20.12.10 11:26 Сейчас в теме
Через глДействия некрасиво.
Надо было сделать полный аналог Тис-а , например.
Добавил динамически кнопку, по которой список + подмена формулы в кнопке печать..
4. gucci76 364 20.12.10 15:05 Сейчас в теме
(3) Чем некрасиво?
"Добавил динамическую кнопку" (треуголник вершиной вниз?) - это с помощью турбоМД?
Я с турбоМД не разобрался еще. А при обновлении много надо будет действий сделать чтобы вернуть "динамическую кнопку"?
И как указать кнопке место расположения ее с помощью турбоМД?
5. Ёпрст 1063 20.12.10 15:11 Сейчас в теме
(4) Тем, что рядом есть кнопка Печать.
Думаешь, будешь звонить всем пользователям и говорить - уважаемые, по кнопке действия можно еще что-то распечатать ?
Тебе в ответ - дык кнопка печать же есть.
7. gucci76 364 20.12.10 15:14 Сейчас в теме
(5) Понятно чем удобнее кнопка как в ТиС.
(3) а про динамическую кнопку???
11. Ёпрст 1063 20.12.10 15:40 Сейчас в теме
(7) ДобавитьАтрибут - добавляешь кнопку-стрелочку для выбора списка вн. печ форм.
(8) получаешь координаты кнопки печать, через получитьКоординаты (по заголовку кнопки определяешь, что это она).
+ лепишь новую кнопку рядом (можно сжать размер кнопки печать и втиснуть свою стрелочку.

Итого - полный аналог.
9. gucci76 364 20.12.10 15:19 Сейчас в теме
(5) По действиям можно не только печатную форму сделать, но и нетиповое заполнение документа или еще какой доп. расчет запустить (например расчет продления отпуска из-за больничного). Поэтому к кнопке Печать привязывать думаю тоже некрасиво.
6. Ёпрст 1063 20.12.10 15:13 Сейчас в теме
(4) а при чем тут турбомд вообще ?
Формексом созаешь всё что нужно, в том числе и сам контрол, если он отсутствует и сам обработчик печати.
+ грузишь доп глобальник со всеми методами от Тиса для работы с внеш. печ формами, т.е весь механизм целиком.
Итого - имеешь полный аналог.
8. gucci76 364 20.12.10 15:16 Сейчас в теме
А как узнать где надо разместить динамическую кнопку? Она же в разным местах располагается, в зависимости от документа
10. gucci76 364 20.12.10 15:22 Сейчас в теме
Как вариант можно сделать невидимую кнопку и привязать к ней F<X>. Тогда можно просто нажать F<X> и запустится обработка. Но я не знаю как привязать кнопку на клавиатуре кнопке на форме.
12. gucci76 364 20.12.10 16:31 Сейчас в теме
Еще раз упомяну, что ДопДействия могут формировать НЕ ТОЛЬКО печатную форму, а еще например можно перепровести документ прошлого периода. Так что ПЕЧАТЬ не всегда несет верную смысловую нагрузку. В документе Начисление заработной платы, вообще нет кнопки печать.
Еще, если нет у кнопки идентификатора, можно получить ее координаты?
Я, конечно понимаю, что с точки зрения программирования Ваш вариант красивей, но на мой взгляд труднее его реализовать в ЗиК.
А вот есть ли возможность с помощью формекс привязать кнопку на клавитуре к кнопке на форме?
13. Ёпрст 1063 20.12.10 16:46 Сейчас в теме
(12)
Вот именно, если "печать" будет в этой кнопке (действия) и рядом будет лежать кнопка печать - это в двойне абсурд!
Если нет кнопки печать - добавить её динамически
Формексу фиолетово, есть идентификатор у контрола, или его нет.
14. gucci76 364 20.12.10 16:52 Сейчас в теме
(13) А если надо только перепровести документ тогда добавлять какую кнопку? Печать?
И можно ли формексом добавить команду????
15. gucci76 364 20.12.10 16:53 Сейчас в теме
Это ЗиК - здесь все не так как в других конфах. В ЗиК набор прав не всегда влияет на возможные действия!
16. gucci76 364 20.12.10 16:55 Сейчас в теме
Объяснить пользователям про доплнительные возможность кнопки Дейстия не сложно. А если пользователь дуб, то он и новую кнопку (как в ТиС) проигнорирует.
17. Ёпрст 1063 20.12.10 17:05 Сейчас в теме
+13 А чего трудного в реализации ?
Ты же даже перехватчик задействовал..
!
18. gucci76 364 20.12.10 17:47 Сейчас в теме
(17) Нужно анализировать наличие кнопки печать, если есть то действуем по твоему алгоритмы (ничего, что на ты?), а если нет кнопки печать? А если надо не только печатать?
19. Ёпрст 1063 20.12.10 18:04 Сейчас в теме
(18) ну и ?
Нет кнопки печать - динамически её создаешь и размещаешь её в подвальчике, рядышком с остальными кнопками.
21. gucci76 364 20.12.10 18:21 Сейчас в теме
(19) а если не надо печатать?
И еще в очередной раз интересуюсь можно ли формексом назначить кнопке команду????????????????????????
(20) обязательно посмотрю на досуге!!!! Спасибо за науку!
22. Ёпрст 1063 20.12.10 20:36 Сейчас в теме
23. gucci76 364 20.12.10 21:54 Сейчас в теме
20. Ёпрст 1063 20.12.10 18:06 Сейчас в теме
+19 ну вот смотри, например,
http://infostart.ru/public/79515/
или
http://infostart.ru/public/20885/
или
http://infostart.ru/public/20038/

там всё делается динамически - и контролы создаются с формулами,и меню и тулбары..
24. alaudit 27.03.13 16:19 Сейчас в теме
"Надо каждый в документ добавлять дополнительный текст. ... А еслм без ВК тогда в каждый документ надо входить и восстанавливать.
А в моем решении кнопка Действия "преображается" для всех документов.
На мой взгял быстрее в глобальнике два места подправить, чем в нескольких документах одно. Тем более глобальник все равно надо править, чтобы увеличить быстродействие ЗиК. ИМХО"

Глубоко копнул, а сама идея - хорошая поддерживаю. Будем пробовать!
25. gucci76 364 27.03.13 18:07 Сейчас в теме
Удачи.
Не поздно ли?
Уже 7.7 практически не актуально. Все уже на "Восьмерке" )))
Оставьте свое сообщение