Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Для тех кто использует GComp (число прочтений - 3005 )
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Для тех кто использует GComp
12. Августа 2008 :: 13:39
Печать  
Хотел бы поделится одной полезной, на мой взгляд, идейкой.
Для версионного контроля использую связку CVS + GComp.

Натолкнулся как то на один полезный ключик GComp-а при сборке внешнего отчета: "--truncate-mms"
Так вот, если во внешнем отчете на форме не используется реквизиты типа "Справочник", "Документ" и т.п. агрегатные типы,
то внешний отчет смело можно собирать GComp-ом с этим ключом,
все будет работать, только размер файла сократиться в разы.

Я это реализовал таким образом:
1. в тексте модуля внешнего отчета добавляю строку вида:
Код
Выбрать все
// gcomp-options=--truncate-mms 


2. при сборке отчетов, полученных из репозитория скрипт сборки анализирует текст модуля отчета, если находит строку указанного вида, добавляет параметр для GComp-а при сборке.

Пересобрал почти все свой внешние отчеты, реально сократил размер папки внешних отчетов раза в 2-3.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Для тех кто использует GComp
Ответ #1 - 13. Августа 2008 :: 03:41
Печать  
Известная фича, специально для подобных вещей и введенная Улыбка
Для использования подобного ключа ты должен гарантировать, что твои обработки универсальны для любой конфигурации и не обращаются к конкретным метаданным конфигурации! Что в общем случае сделать довольно сложно Печаль
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Pelmen
Full Member
***
Отсутствует



Сообщений: 242
Зарегистрирован: 01. Июня 2006
Пол: Мужской
Re: Для тех кто использует GComp
Ответ #2 - 13. Августа 2008 :: 04:34
Печать  
так можно в таком случае просто использовать неопределенные реквизиты и устанавливать тип в зависимости от контекста
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Для тех кто использует GComp
Ответ #3 - 13. Августа 2008 :: 04:53
Печать  
artbear писал(а) 13. Августа 2008 :: 03:41:
Для использования подобного ключа ты должен гарантировать, что твои обработки универсальны для любой конфигурации и не обращаются к конкретным метаданным конфигурации! Что в общем случае сделать довольно сложно Печаль


почему сложно? у меня например очень многий функционал был реализован во внешних отчетах
(до того, как я подсел на классы Улыбка, причем многие из этих отчетов не имеют реквизитов формы,
т.е. это просто внешние обработки, и они прекрасно работают в любой конфе!
Опять же файлы классов у меня в ert хранятся, так с ними работать удобнее, а классов у меня уже огого сколько
накопилось!
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Для тех кто использует GComp
Ответ #4 - 13. Августа 2008 :: 06:06
Печать  
artbear писал(а) 13. Августа 2008 :: 03:41:
Известная фича, специально для подобных вещей и введенная Улыбка


фича может и известная, но только я GComp-ом уже года 3 точно пользуюсь,
а до того, как этот ключик использовать только несколько месяцев назад допер,
когда мне обидно стало, что чей то внешний отчетик, вполне рабочий в моей конфе,
после того как я в нем пару строк подправил, вместо 12кб стал весить 50!
Улыбка
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Для тех кто использует GComp
Ответ #5 - 13. Августа 2008 :: 06:19
Печать  
CaBaT писал(а) 13. Августа 2008 :: 04:53:
artbear писал(а) 13. Августа 2008 :: 03:41:
Для использования подобного ключа ты должен гарантировать, что твои обработки универсальны для любой конфигурации и не обращаются к конкретным метаданным конфигурации! Что в общем случае сделать довольно сложно Печаль

почему сложно?

Я имел ввиду именно общий случай "черного" ящика Улыбка
Получаешь файл внешней обработки, как перед разбором определить, что в этой обработке на форме не используются метаданные из конфы?
ИМХО пока автоматом это сложновато.
Вообще эта задача для ЖКомп - нужно подобная фича - перед выгрузкой внешнего отчета проводить указанный анализ, и если нет использования метаданных, то чистить, а если есть, то не чистить.

Да, фича была бы полезна.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Для тех кто использует GComp
Ответ #6 - 13. Августа 2008 :: 06:26
Печать  
я рещил для себя это просто, как описал в первом посте: я как разработчик всегда знаю,
какие внешние отчеты можно собирать с этим ключом, соответственно в первую строку модуля добавляю комментарий вида
Код
Выбрать все
// gcomp-options=--truncate-mms 


а скрипт сборки анализирует модуль и собирает с этим ключем, если надо.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Для тех кто использует GComp
Ответ #7 - 13. Августа 2008 :: 06:30
Печать  
Да, нормально получается, не идеально, но вполне работоспособно Улыбка
Выложи тогда еще и скрипт сборки.

ЗЫ идеально - это когда в ЖКомп появится подобная фича.
Нужно подумать.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Для тех кто использует GComp
Ответ #8 - 13. Августа 2008 :: 06:34
Печать  
Нужно создать баг в багзилле для ЖКомп.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Для тех кто использует GComp
Ответ #9 - 13. Августа 2008 :: 06:36
Печать  
скрипт сборки если честно не в том виде чтобы выклыдвать Улыбка
не я его делал, в свое время где то взял и слегка подправил, есть такое чуйство, что это Саша Орефков делал,
во всяком случае какие то из скриптов в моем наборе сборки-разборки точно его.

а вообще идея там очень простая: в скрипт, который собирает внешние отчеты добавил пару строк, которые анализируют первую строчку файла "МодульФормы.1s" на предмет ключей для GComp-а
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Для тех кто использует GComp
Ответ #10 - 13. Августа 2008 :: 06:40
Печать  
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать