Переключение на Главную Страницу Страницы: 1 [2] 3 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) Использование последнего Formex и старой 1cp++ (2.0.1.2) (число прочтений - 13451 )
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #15 - 06. Декабря 2010 :: 16:42
Печать  
CaBaT писал(а) 06. Декабря 2010 :: 15:33:
В копилку!  Улыбка


Возможен еще вариант  с вызовом глобальной процедуры...пока без параметров.
  
Наверх
 
IP записан
 
Graider
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 07. Декабря 2007
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #16 - 06. Декабря 2010 :: 17:04
Печать  
chessman писал(а) 06. Декабря 2010 :: 14:38:
Не так красиво, как у Альфа, но вроде работает.


вот спасибки, помчался проверять и надеюсь прикручивать Улыбка
  
Наверх
 
IP записан
 
Graider
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 07. Декабря 2007
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #17 - 06. Декабря 2010 :: 21:29
Печать  
chessman писал(а) 06. Декабря 2010 :: 14:38:
Не так красиво, как у Альфа, но вроде работает.


проверил - работает, но есть одно НО. Проблема в том, что один отчет можно печтать, а другой нет и если оба сформировать, то получиться что или оба можно будет печатать, либо ни одного, т.е. приведенный пример глобально запрещает/разрешает печать. А вот можно ли как то запретить конкретный сформированый отчет печатать и чтобы этот запрет "запомнился" для этого уже сформированного отчета ?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #18 - 07. Декабря 2010 :: 06:04
Печать  
Dmitry The Wing писал(а) 06. Декабря 2010 :: 10:06:
chessman писал(а) 06. Декабря 2010 :: 10:01:
Я думаю тебе просто нужен Йоксель

У него проблемы с новой 1с++, а йоксель на старой не пойдет...

Yksel будет работать и в 1сpp 2.0
Это же совершено другая бидлиотека со своим функционалом.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #19 - 07. Декабря 2010 :: 06:13
Печать  
Graider писал(а) 06. Декабря 2010 :: 09:50:
Учитывая вышесказанное подведу итог:
1) пробовал поставить версию 2.5 1с++, которая работает вместе с последним Formex - перестали работать или стали некорректно работать куски кода при работе с MySQL через ODBC. Как бы не смешно выглядело действительно сейчас сложно все перешерстить и найти такие проблемные места, ибо кода очень много.
Вообще на текущий момент все работает и работает более 5 лет. Здесь наверно будет уместным бородатый анекдот, в котором сын прграммиста отца спрашивал почему каждый день всходит и заходит солнце. Вот и я, как и отец в этом анекдоте считаю что "если все работает - ничего не трогай" Улыбка


Так зачем ставить сейчас 2.5
Надо ставить  3.2.3.4
Если есть ошибки то озвучивай их от исправления выиграют все.
Но то что ты называешь не верю что такие ошибки возможны так
как все основано на odbc и это давно бы всплыло.
Переход со 2.0 на 3.2.3.4 можно делать постепенно.Переведи человека 3-4 на новую версию пусть они поработают недели 2-3.Потом следующих.
  
Наверх
 
IP записан
 
Graider
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 07. Декабря 2007
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #20 - 07. Декабря 2010 :: 07:41
Печать  
Z1 писал(а) 07. Декабря 2010 :: 06:13:
Graider писал(а) 06. Декабря 2010 :: 09:50:
Учитывая вышесказанное подведу итог:
1) пробовал поставить версию 2.5 1с++, которая работает вместе с последним Formex - перестали работать или стали некорректно работать куски кода при работе с MySQL через ODBC. Как бы не смешно выглядело действительно сейчас сложно все перешерстить и найти такие проблемные места, ибо кода очень много.
Вообще на текущий момент все работает и работает более 5 лет. Здесь наверно будет уместным бородатый анекдот, в котором сын прграммиста отца спрашивал почему каждый день всходит и заходит солнце. Вот и я, как и отец в этом анекдоте считаю что "если все работает - ничего не трогай" Улыбка


Так зачем ставить сейчас 2.5
Надо ставить  3.2.3.4
Если есть ошибки то озвучивай их от исправления выиграют все.
Но то что ты называешь не верю что такие ошибки возможны так
как все основано на odbc и это давно бы всплыло.
Переход со 2.0 на 3.2.3.4 можно делать постепенно.Переведи человека 3-4 на новую версию пусть они поработают недели 2-3.Потом следующих.


а в 3.2.3.4 есть метод, который позвоялет отлавливать момент отправки (предв.просмотра) на печать, как в Formexe метод ПриПечати ?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #21 - 07. Декабря 2010 :: 08:02
Печать  
Цитата:
а в 3.2.3.4 есть метод, который позвоялет отлавливать момент отправки (предв.просмотра) на печать, как в Formexe метод ПриПечати ?



начиная с 1с++ 2.5 надо отдельно загружать 1с++ и отдельно загружать formex
После это используйте или методы 1с++ и/или методы formex
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #22 - 07. Декабря 2010 :: 19:29
Печать  
Будут ли интересны мои "бредни Барри" с вызовом глобальной процедуры. Думаю одного параметра в виде таблицы будет достаточно, чтобы принять решение о ее печати?
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #23 - 08. Декабря 2010 :: 07:00
Печать  
chessman писал(а) 07. Декабря 2010 :: 19:29:
Будут ли интересны мои "бредни Барри"

Ну зачем так Улыбка
Твои решения обычно довольно изящны, кому-нибудь точно пригодится!
Даже хотя бы как иллюстрация того, что можно сделать с помощью dynwrap.
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #24 - 08. Декабря 2010 :: 11:34
Печать  
В архиве 2 класса, 1-й вспомогательный - добавляет функционал к DWX, 2-й реализация метода "ПриПечатиТаблицы", как в Формексе только с одним параметром Таблица.

ЗЫ:пользуясь случаем, хочу поблагодарить разработчиков 1c++ и Formex. Изучая исходники приходит понимание того, как 1С  функционирует изнутри.
« Последняя редакция: 09. Декабря 2010 :: 09:37 - chessman »  

print_001.ZIP ( 8 KB | Загрузки )
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #25 - 08. Декабря 2010 :: 11:50
Печать  
Еще маленькое замечание, по использованию, в классе используется метод из DWX RegisterCallback, это предполагает, что объект класса будет глобальной переменной.
Дело в том, что этот метод (RegisterCallback) можно вызвать только 16 раз за сессию (это ограничение DWX).
Можно конечно, каждый раз проводить "раз-регистрацию" в деструкторе, но в данном случае я думаю это не принципиально.

Вообще это ограничение (16 вызовов) можно снять (я так думаю) - буду копать код, но пока 16-ти вызовов достаточно.

  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #26 - 09. Декабря 2010 :: 14:54
Печать  
Вопрос к chessman-у:
Как думаешь, реально ли с помощью dynwrap сделать подмену процедуры или функции модуля формы справочника или документа?

Т.е. с помощью перехватчика ловим открытие формы, получаем контекст, зная имя процедуры или функции в модуле формы меняем вызов на свою функцию/процедуру?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #27 - 09. Декабря 2010 :: 16:05
Печать  
На сколько я понимаю, можно, подменяя вызов
CGroupContext::CallAsFunc/CallAsProc

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #28 - 09. Декабря 2010 :: 19:51
Печать  
CaBaT писал(а) 09. Декабря 2010 :: 14:54:
Вопрос к chessman-у:
Как думаешь, реально ли с помощью dynwrap сделать подмену процедуры или функции модуля формы справочника или документа?

Т.е. с помощью перехватчика ловим открытие формы, получаем контекст, зная имя процедуры или функции в модуле формы меняем вызов на свою функцию/процедуру?

Если идет локальный вызов процедуры из процедуры/функции этого же модуля, то тут совсем не просто, т.к. 1С юзает промежуточный P-код и вызывает процедуру в этом случае напрямую.
Нелокальный вызов через контекст формы модуля можно перехватить. ИМХО Перехватчик неявным образом это может разрулить. Правда, насчет Перехватчика это только мои подозрения, т.к. специально перехват обычных методов контекста я не делал Улыбка проверить несложно, сами понимаете.
  

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: Использование последнего Formex и старой 1cp++ (2.0.1.2)
Ответ #29 - 10. Декабря 2010 :: 07:24
Печать  
chessman писал(а) 09. Декабря 2010 :: 16:05:
только зачем тебе это?  Подмигивание

Да просто хотел изменить логику работы процедуры не меняя конфигурацию, из перехватчика...
Ну это все таки извращение, так подумалось просто, на волне твоих последних ковыряний с dynwrap и внутренностями 1cpp Улыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 4 
ОтправитьПечать