|
v7: Как пользоваться событием ПриВыбореФлажка 1С++ | ☑ | ||
---|---|---|---|---|
0
Adecvator
11.09.12
✎
18:23
|
Прочитал кучу умных статей, но ни одного куска кода с использованием УстановитьФлажок? Может может кто поделиться?
|
|||
1
ADirks
12.09.12
✎
08:35
|
к примеру
Процедура ПоказатьФлажок(ОформлениеСтроки, ДанныеСтроки, ИмяКолонки) Экспорт Сам = Сам(Контекст); Попытка Колонка = Сам.Колонки.Получить(ИмяКолонки); Исключение Возврат; КонецПопытки; Если ПустоеЗначение(Колонка) = 1 Тогда Возврат; КонецЕсли; Если Колонка.Видимость = 1 Тогда Ячейка = ОформлениеСтроки.Ячейки.Получить(ИмяКолонки); Ячейка.ОтображатьТекст = 0; Ячейка.ОтображатьФлажок = 1; Попытка Ячейка.ЗначениеФлажка = ДанныеСтроки.Получить(ИмяКолонки); Исключение КонецПопытки; КонецЕсли; КонецПроцедуры Процедура ПоказатьДату(ОформлениеСтроки, ДанныеСтроки, ИмяКолонки) Экспорт Сам = Сам(Контекст); Попытка Колонка = Сам.Колонки.Получить(ИмяКолонки); Исключение Возврат; КонецПопытки; Если ПустоеЗначение(Колонка) = 1 Тогда Возврат; КонецЕсли; Если Колонка.Видимость = 1 Тогда Ячейка = ОформлениеСтроки.Ячейки.Получить(ИмяКолонки); _Дата = ДанныеСтроки.Получить(ИмяКолонки); Если ПустоеЗначение(_Дата) = 1 Тогда Ячейка.Текст = ""; ИначеЕсли _Дата = '01.01.1753' Тогда Ячейка.Текст = ""; КонецЕсли; КонецЕсли; КонецПроцедуры Процедура ПриВыводеСтроки(ОформлениеСтроки, ДанныеСтроки, ТипРегиона) Экспорт Если сзФлажки <> "" Тогда Для н = 1 По сзФлажки.РазмерСписка() Цикл ИмяКолонки = сзФлажки.ПолучитьЗначение(н); ПоказатьФлажок(ОформлениеСтроки, ДанныеСтроки, ИмяКолонки); КонецЦикла; КонецЕсли; Если сзДаты <> "" Тогда Для н = 1 По сзДаты.РазмерСписка() Цикл Имя = сзДаты.ПолучитьЗначение(н); ПоказатьДату(ОформлениеСтроки, ДанныеСтроки, Имя) КонецЦикла; КонецЕсли; КонецПроцедуры Процедура Пометка(тзДанные, нСтр, ИмяКолонки, Знач Флажок = -1) Если Флажок = -1 Тогда Флажок = тзДанные.ПолучитьЗначение(нСтр, ИмяКолонки); Флажок = (Флажок + 1) % 2; КонецЕсли; тзДанные.УстановитьЗначение(нСтр, ИмяКолонки, Флажок); КонецПроцедуры Функция ПриВыбореФлажка(нСтр, Кол, ТипРегиона) Экспорт Сам = Сам(Контекст); ИмяКолонки = Кол.Имя; Если сзРедактируемыеФлажки.НайтиЗначение(ИмяКолонки) = 0 Тогда Возврат 0; КонецЕсли; Если ТипРегиона = 3 Тогда Флажок = тзДанные.ПолучитьЗначение(нСтр, ИмяКолонки); Флажок = (Флажок + 1) % 2; Строки = Сам.ВыделенныеСтроки; Количество = Строки.Количество(); Для н = 0 По Количество-1 Цикл нСтр = Строки.Получить(н); Пометка(тзДанные, нСтр, ИмяКолонки, Флажок); КонецЦикла; Иначе Пометка(тзДанные, нСтр, ИмяКолонки); КонецЕсли; фДанныеИзменены = 1; Сам.ОбновитьСтроки(); Возврат 1; КонецФункции |
|||
2
antoneus
12.09.12
✎
09:48
|
||||
3
antoneus
12.09.12
✎
09:50
|
не, вот эта ссылка http://rghost.ru/40318279
|
|||
4
Adecvator
12.09.12
✎
10:03
|
(1) Функция Сам предполагается объект ТабличноеПоле. Проблема функция ПриВыбореФлажка не вызывается из формы, как и другие процедуры, может надо какие-то разместить в глобальнике?
|
|||
5
Adecvator
12.09.12
✎
10:05
|
(3) код не много видоизменил в функции ПослеСозданияФормы():
оФорма = СоздатьОбъект("РасширениеФормы"); ТП = оФорма.ПолучитьАтрибут("кнТП").СоздатьЭлементУправления("ТабличноеПоле"); так ругается на то что не обнаружено поле агрегатного объекта - РежимВыделения :( |
|||
6
antoneus
12.09.12
✎
10:06
|
(5) 1сpp какой версии? на 3.2.3.19 всё работает.
|
|||
7
Adecvator
12.09.12
✎
10:17
|
версия уже старенькая - 1cpp2037
|
|||
8
antoneus
12.09.12
✎
10:18
|
дык обнови, там много ещё всяких ништяков появилось)
|
|||
9
Adecvator
12.09.12
✎
10:20
|
(8) ссылку можешь дать или выложить, если не трудно :)
|
|||
10
Adecvator
12.09.12
✎
10:21
|
на http://www.1cpp.ru/index.php/Download, нашел только - Рекомендованный стабильный релиз с раздельной загрузкой FormEx: 2.5.0.7
|
|||
11
smaharbA
12.09.12
✎
10:23
|
не понял - а нафига это надо ?
|
|||
12
antoneus
12.09.12
✎
10:24
|
||||
13
Adecvator
12.09.12
✎
10:38
|
(10)Вот старая загрузка 1С++, простая замена файла 1cpp2037.dll на более новую версию не канает :(
Результат=Загрузчик.ЗагрузитьВК(глКаталогDLL+"1cpp2037.dll", "Addin.1C++=fde5ae76-00b3-4bdb-921b-d5937997b1b7"); |
|||
14
Ёпрст
12.09.12
✎
10:42
|
(13) а нафига тебе загрузчик вк впёрся ?
|
|||
15
Ёпрст
12.09.12
✎
10:42
|
он уже давно не актуален.
|
|||
16
Ёпрст
12.09.12
✎
10:43
|
пиши проще:
ЗагрузитьВнешнююКомпоненту("1cpp.dll"); и наслаждайся |
|||
17
Adecvator
12.09.12
✎
10:46
|
(16) а как же на счет регистрации компонент, которые не проходят без админских прав. У нас есть условия:
// Работает с 1С++ Если ЗагрузитьВнешнююКомпоненту(глКаталогDLL+"vkloader.dll")=1 Тогда Загрузчик = СоздатьОбъект("ЗагрузчикВК"); Результат = Загрузчик.ЗагрузитьВК(глКаталогDLL+"1cpp2037.dll","Addin.1C++=fde5ae76-00b3-4bdb-921b-d5937997b1b7"); //Результат= Загрузчик.ЗагрузитьВК(глКаталогDLL+"1CPP32320.dll", "Addin.1C++=fde5ae76-00b3-4bdb-921b-d5937997b1b7"); гл1CPP = 1; Иначе гл1CPP= ЗагрузитьВнешнююКомпоненту(глКаталогDLL+ "1cpp2037.dll"); //гл1CPP= ЗагрузитьВнешнююКомпоненту(глКаталогDLL+ "1CPP32320.dll"); КонецЕсли; |
|||
18
Ёпрст
12.09.12
✎
10:49
|
(17) 1cpp и формексу сто лет в обед не нужна регистрация в реестре, собственно и на твои админские права им фиолетово, и на загрузчик тем более.
|
|||
19
Salimbek
12.09.12
✎
10:56
|
(10) Тут смотри: http://www.1cpp.ru/index.php/Main
раздел ---------------------------------- icpp/3.x (рекомендуется к использованию) В начале 2008 года проект 1C++ портирован с MSVS 6.0 на MSVS 2005(2008) / Intel Compiler (IСL) / STLPort / Boost 1.35.0 Дальнейшее развитие идет под именем icpp (версии 3.x.x.x) |
|||
20
Adecvator
12.09.12
✎
11:28
|
(16) После того как подгрузил 1CPP32320, не срабатывает процедура - ПослеОткрытия(), ПослеСозданияФормы(). Хотя ЗагрузитьВнешнююКомпоненту("1cpp.dll") вернула 1 :)
|
|||
21
Adecvator
12.09.12
✎
11:29
|
может чего не хватает?
|
|||
22
Mikeware
12.09.12
✎
11:29
|
(21) формекса?
|
|||
23
Ёпрст
12.09.12
✎
11:30
|
(21) не хватает формекса (formex.dll) - это его события.
|
|||
24
Ёпрст
12.09.12
✎
11:30
|
||||
25
Adecvator
12.09.12
✎
11:34
|
(24) Б... экстаз :)
|
|||
26
Adecvator
12.09.12
✎
11:54
|
(3) спасибо за обработку все заработало :)
|
|||
27
Adecvator
12.09.12
✎
13:25
|
(3) а подскажи пожалуйста, почему когда я решил переименовать твою переменную ТП на свою КККтттО, про форму тоже не забыл. У меня ничего не вышло :(
|
|||
28
Adecvator
12.09.12
✎
13:26
|
т.е. объект ТабличноеПоле создался по без флажков.
|
|||
29
Adecvator
12.09.12
✎
13:30
|
все понял, оказывается, надо меня префикс процедуры: ПриВыбореФлажка, ПриВыводеСтроки.
|
|||
30
Ёпрст
12.09.12
✎
14:15
|
(29) либо оборачивать события в класс
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |