|   |   | 
| 
 | синхронизация одинаковых функций в нескольких отчетах, как лучше? | ☑ | ||
|---|---|---|---|---|
| 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.", паардон.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |