Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Подменить программное чтение константы (число прочтений - 3405 )
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Подменить программное чтение константы
20. Октября 2008 :: 03:08
Печать  
Такое возможно, например есть константа дата запрета редактирования, можно ли чтобы при чтении константы вызывалась функция например _ПриЧтенииКонстанты(ИмяКонстанты)
?
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Подменить программное чтение константы
Ответ #1 - 20. Октября 2008 :: 04:29
Печать  
Возможно повесить триггер на таблицу _1sconst, но это будет не событие, а запись в какую-нибудь sql табличку.
  
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Подменить программное чтение константы
Ответ #2 - 20. Октября 2008 :: 04:39
Печать  
leshik писал(а) 20. Октября 2008 :: 04:29:
Возможно повесить триггер на таблицу _1sconst, но это будет не событие, а запись в какую-нибудь sql табличку.


Это что за тригер такой интересный который срабатывает при чтении? for select что ли  Смех
  
Наверх
ICQ  
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Подменить программное чтение константы
Ответ #3 - 20. Октября 2008 :: 04:42
Печать  
leshik писал(а) 20. Октября 2008 :: 04:29:
Возможно повесить триггер на таблицу _1sconst, но это будет не событие, а запись в какую-нибудь sql табличку.

в том то и дело что чтение подменить нужно, цель разделить даты запрета по фирмам в комплексной. Наверное с перехватчиком заморачиваться нужно и в нем уже события ловятся до штатных проверок по дате. Вот только с перехватчиком не всё так просто...
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Подменить программное чтение константы
Ответ #4 - 20. Октября 2008 :: 04:44
Печать  
Перехватчиком программное чтение константы не перехватишь Печаль
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Подменить программное чтение константы
Ответ #5 - 20. Октября 2008 :: 04:55
Печать  
Можно вообще отказатся от стандартного механизма констант, завести совой класс констаны, и делать с ними что душе угодно
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Подменить программное чтение константы
Ответ #6 - 20. Октября 2008 :: 04:56
Печать  
Я многие параметры в ini файлах храню
  
Наверх
ICQ  
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Подменить программное чтение константы
Ответ #7 - 20. Октября 2008 :: 04:57
Печать  
artbear писал(а) 20. Октября 2008 :: 04:44:
Перехватчиком программное чтение константы не перехватишь Печаль


задал поиск по конфе "Константа.ДатаЗапретаРедактирования" всего 24 вхождения. что то мне кажется свою функцию подставить проще заменой.
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Подменить программное чтение константы
Ответ #8 - 20. Октября 2008 :: 04:58
Печать  
Nick писал(а) 20. Октября 2008 :: 04:55:
Можно вообще отказатся от стандартного механизма констант, завести совой класс констаны, и делать с ними что душе угодно


Да, так и поступлю, не хотел ковырять конфу просто, заведу справочник - ДатыЗапрета с реквизитами Фирма и ДатаЗапрета и всё, работать будет шустро. В классе по фирме документа буду определять дату запрета
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
noxxx
Full Member
***
Отсутствует


1c++ rocks 8)

Сообщений: 239
Местоположение: Москва
Зарегистрирован: 24. Августа 2007
Пол: Мужской
Re: Подменить программное чтение константы
Ответ #9 - 21. Октября 2008 :: 16:03
Печать  
artbear писал(а) 20. Октября 2008 :: 04:44:
Перехватчиком программное чтение константы не перехватишь Печаль


А какое можно перехватить?
Можно запретить чтение константы в форме, где константы отображаются?

Единственный затык получился в моей системе контроля Печаль
  
Наверх
ICQ  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Подменить программное чтение константы
Ответ #10 - 21. Октября 2008 :: 16:59
Печать  
Вот бы попытку редактирования константы перехватить, на подобие ПриНачалеВыбораЗначения( ИЭД, ФСО ) ...
Чтобы альтернативный редактор вызывать.
Такого тоже нет?
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Подменить программное чтение константы
Ответ #11 - 22. Октября 2008 :: 10:06
Печать  
Посмотри события ФормЕк - ПриАктивацииОкна, ПослеОткрытия и аналогичные.
Одно из них вроде бы отправляется при открытии формы констант.
  

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


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Подменить программное чтение константы
Ответ #12 - 22. Октября 2008 :: 11:49
Печать  
artbear писал(а) 22. Октября 2008 :: 10:06:
Посмотри события ФормЕк - ПриАктивацииОкна, ПослеОткрытия и аналогичные.
Одно из них вроде бы отправляется при открытии формы констант.

Действительно, ПриАктивацииОкна( конт ), вызывается для окна списка констант. Но:
1) параметр содержит пустоту вместо ГрупповойКОнтекст
2) даже если бы п.1 заработал, это не совсем то, что я хотел.

Вообще, окно списка констант - не обычная форма 1С.
FormEx.Сервис.списокВсехОткрытыхОкон() его тоже не видит. (2.0.5.92)

Для перехвата окна с константами - проще вовсе сделать своё окно, подменив им открытие штатного через
RWidjets.ПриПолученииКоманды( команда, заблокировать ).

Так что извиняюсь за ОФФ.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать