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

23.12.10

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
StarterExtForms.ert
.ert 222,00Kb
77
77 Скачать (1 SM) Купить за 1 850 руб.
GoJurnal.zip
.zip 13,29Kb
19
19 Скачать (1 SM) Купить за 1 850 руб.
GoJurnalDok.zip
.zip 13,36Kb
22
22 Скачать (1 SM) Купить за 1 850 руб.

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С v7.7 Конфигурации 1cv7 Абонемент ($m)

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

1 стартмани

04.02.2022    3359    1    igor7777    0    

3

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

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

09.04.2020    20702    Юджин58    39    

5

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

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

14.10.2019    6356    ksnik    14    

3

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

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

15.11.2017    12056    AndKovalchuk    0    

1

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

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

1 стартмани

31.12.2014    24060    9    Sergey1CSpb    2    

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

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