![]() |
|
синхронизация одинаковых функций в нескольких отчетах, как лучше? | ☑ | ||
---|---|---|---|---|
0
Холст
29.07.13
✎
16:30
|
есть несколько разнофункциональных внешний отчетов, в которых некоторые функции одинаковые (универсальный подбор и тп)
эти функции нельзя вынести в глобальный модуль тк отчеты применяются в разных типовых клиентов со временем функции дорабатываются и каждый раз приходится в каждый отчет копипастить новый код функций вопрос: как бы оптимальнее (критерий - экономия времени на разработку) построить систему, чтобы при изменении функции в одном отчете в других тоже была обновленная версия функции ? пока 2 направления вижу: - курить сборку - разборку обработок gcomp-ом и сопутствующими приблудами - набросать обработку и компонентой Compound.dll делать логику "выбираем функцию из отчета-источника и ставим такой же код в отчетах-приемниках" - использовать Inserter Альфа ? не знаю еще пригодно ли кто сталкивался с подобноой проблемой и как выходил ? |
|||
1
Холст
29.07.13
✎
16:30
|
пока к 2му варианту склоняюсь
|
|||
2
Chum
29.07.13
✎
16:32
|
Что мешает общие процедуры собрать во внешней обработке, а разношерстные отчеты настроить на работу с это обработкой? Ну если в глобальник нет желания лезть.
|
|||
3
Джинн
29.07.13
✎
16:34
|
(2) +100500
|
|||
4
Salimbek
29.07.13
✎
16:56
|
(0) Классы 1С++ не предлагать?
|
|||
5
Холст
29.07.13
✎
17:24
|
(2) это вариант, только сомнения что сильно замедлит выполнение... есть функции которые выполняются внутри цикла вывода по строкам, открывать каждый раз отдельную обработку не вариант
(4) какие например ? с классами слабо работал пока хотелось бы решения по автоматизации сборки отчетов, а не вызова из отчета дополнительных обвязок |
|||
6
Мимохожий Однако
29.07.13
✎
17:35
|
(0)Копипасте для новых отчетов или модернизированных отчетов проще всего.А старые отчеты, которые не меняются проживут и без этого до очередного изменения.
|
|||
7
Попытка1С
29.07.13
✎
17:41
|
(4) +1
|
|||
8
fedoss
29.07.13
✎
19:04
|
(4) Можно и без классов - ДобавитьГлобальныйМодуль() + #ЗагрузитьИзФайла. Все общие функции вынести в этот файл
|
|||
9
Холст
29.07.13
✎
19:11
|
(8) неплохо только формекс или 1С++ надо, но неплохо
|
|||
10
Salimbek
29.07.13
✎
20:28
|
(5) Ну как, подключашь 1С++, потом в defcls.prm пишешь, например:
// начало определения класса class ГлобальныеФункции = unpack\classes\ГлобальныеФункции.ert {} // завершение определения класса !! в этой обработке прописываешь: Процедура УложитьТаблицу(пТЗ, ИмяТаб, Колонки="", рс="") Экспорт и потом в любом месте можешь вызывать: клВнешний = СоздавтьОбъект("ГлобальныеФункции"); клВнешний.УложитьТаблицу(взТЗ, "#tempDB"); |
|||
11
Cthulhu
01.08.13
✎
20:36
|
1) общие процедуры-функции - в отдельный текстовый файл, например, "globalshonado.txt";
2) во всех обработках, использующих этот функционал - "#загрузитьизфайла ...\NewModile.txt" 2.1) для каждой обработки сохранить в текстовом файле, совпадающим с именеv обработки, её текст КРОМЕ общего функционала. 3) все обработки запускать "стартером" - обработкой, которая возьмёт содержимое файла п.2.1, затем прилепит в самое начало содержимое файла п.1, сохранит результат в файле с именем п.2, согбственно стартанёт нужную обрабтку (п.2) и запилит файл п.2.1. сборку-разборку модулей для отладки-конфигурирования - нарисовать тоже можно. даже авто-вынос общего по пачке обработок в псевдо-глобальник можно замайстрячить. |
|||
12
Cthulhu
01.08.13
✎
20:36
|
" запилит файл п.2. " а не "2.1.", паардон.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |