Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Баг в FormEX при вызове метода ИерархическийСписок(), или... ???

v7: Баг в FormEX при вызове метода ИерархическийСписок(), или... ???
Я
   IgorA100
 
10.06.20 - 20:01
При подключении FormEX (пробовал версии 2.0.5.148, 2.0.2.0, 1.9.8.2) в некоторых случаях некорректно работает стандартный метод ИерархическийСписок()
Проверял дополнительно на чистой конфигурации "Комплексная 4.5 (7.70.544) с подгузкой только ВК FormEX и 1CPP версий 3.2.4.3 и 2.5.0.6 (ну и конечно и без каких либо классов). Бинарник 27 релиза.
ОС: Сервер 2012R2 64бит и XP Pro 32бит
Как воспроизвести:
1. В глобальнике пишем:
    ЗагрузитьВнешнююКомпоненту("1CPP.dll");
    Система=СоздатьОбъект("Система");
    Система.РегистрироватьКомпонентыВ_HKCU();

    ЗагрузитьВнешнююКомпоненту("FormEx.dll");
    Сервис = СоздатьОбъект("Сервис");
    Сервис.ВключитьРаскраскуТаблиц();

    Система.РегистрироватьКомпонентыВ_HKCU(0);

2. В многострочную часть справочника "Контрагенты" добавляем (хоть в начало, хоть в конец)текстовый столбец, в него пишем вызов глобальной ф-ции (например "глРаскраска("Цвет")")
В глобальнике пишем саму функцию:
Функция глРаскраска(АктивныйЦвет = "Серый", Цвет = "NONE", FONT_S = "NONE", FONT = "NONE") Экспорт

    НаборИменЦветов = СоздатьОбъект("СписокЗначений");
    НаборИменЦветов.ДобавитьЗначение(BRUSH_S);
    НаборИменЦветов.ДобавитьЗначение(Цвет);
    НаборИменЦветов.ДобавитьЗначение(FONT_S);
    НаборИменЦветов.ДобавитьЗначение(FONT);
   
    НаборСвойствИменЦветов = СоздатьОбъект("СписокЗначений");
    НаборСвойствИменЦветов.ДобавитьЗначение("BRUSH_S");
    НаборСвойствИменЦветов.ДобавитьЗначение("BRUSH");
    НаборСвойствИменЦветов.ДобавитьЗначение("FONT_S");
    НаборСвойствИменЦветов.ДобавитьЗначение("FONT");

    Возврат "";

КонецФункции

Т.е. по факту даже и без раскрашивания, просто что-то возвращаем в многострочную часть....

3. На форму справочника выносим 2е кнопки, на одну вешаем: "ИерархическийСписок(1,1)", на вторую вешаем "ИерархическийСписок(0,1)"

4. В справочнике контрагентов создаем такую иерархию:
Группа1 - Группа2 - Группа3 - Группа4 - Элемент1

4 Отключаем иерархию, позиционируемся на "Элемент1" и с помощью кнопки выполняем включение иерархии "ИерархическийСписок(1,1)"
И наблюдаем картину в виде иерархии:
Группа1 - Группа2 - Группа3 - и дальше вообще нет элементов!!!

И еще, есть закономерность от количества элементов в списке значений. При увеличении/уменьшении размеров списков значений в глобальной функции поведение при включении иерархии разное.
Например может быть так:
Группа1 - Группа2 - Группа4 - Элемент1        Т.е. пропала Группа3

Могут пропадать часть групп, может не позиционироваться на текущем элементе и сворачивать весь список до корня.

Если отключать и включать иерархию стандартными кнопками вверху формы - проблем нет. А вот вызов метода  "ИерархическийСписок" отрабатывает не верно. Если НЕ загружать FormEX - проблем нет.

Вообще какие-то чудеса :( Несколько дней убил (т.к. в "боевой" базе много подгружается ВК и много классов) на то, что бы отловить "виновника"
   Злопчинский
 
1 - 10.06.20 - 20:07
Выложи демоконфу. Посмотрю у себя
   IgorA100
 
2 - 10.06.20 - 20:49
Конфа: https://yadi.sk/d/wxbnxeoQ0cJx6A
ВК FormEX, 1CPP(на всякий случай): https://yadi.sk/d/j2a9fOOD3jWTbQ
   Ёпрст
 
3 - 10.06.20 - 23:13
(0) выкинь свою текстовую колонку, и о чудо! Всё работает
ЗЫ: и используй новый план расскраски, там тоже всё работает
   IgorA100
 
4 - 10.06.20 - 23:27
(3) Я знаю, что если выкинуть колонку - все будет работать. Сейчас она пустая просто для чистоты эксперимента. Я же в нее ничего не возвращаю даже из функции!
Фиг с ней, с раскраской (попробую новый план расскраски, раз с ней нет проблем, хотя это странно что с ней проблем нет....) Колонка может быть и для других случаев, кроме раскраски.
Кстати, еще я заметил, что функция висящая на текстовом объекте формы срабатывает 2раза при подключенном FormEX и 1 раз (как и должно быть) без подключения FormEX. Вроде никогда особо и не напрягало, но как-то некрасиво получается...
   IgorA100
 
5 - 10.06.20 - 23:57
(3) И еще...
ОК, удаляем тестовую колонку. Все прекрасно. ОК.
Добавляем в ф-цию "ОсновноеСвойство()" (которая вызывается из табличной части Справочника контрагентов)следующий код :
    НаборИменЦветов = СоздатьОбъект("СписокЗначений");
    НаборИменЦветов.ДобавитьЗначение("АктивныйЦвет");
    НаборИменЦветов.ДобавитьЗначение("Цвет");
    НаборИменЦветов.ДобавитьЗначение("FONT_S");
    НаборИменЦветов.ДобавитьЗначение("FONT");
    НаборИменЦветов.ДобавитьЗначение("АктивныйЦвет");
    НаборИменЦветов.ДобавитьЗначение("Цвет");
    НаборИменЦветов.ДобавитьЗначение("FONT_S");
    НаборИменЦветов.ДобавитьЗначение("FONT");
    НаборИменЦветов.ДобавитьЗначение("АктивныйЦвет");
    НаборИменЦветов.ДобавитьЗначение("Цвет");
    НаборИменЦветов.ДобавитьЗначение("FONT_S");
    НаборИменЦветов.ДобавитьЗначение("FONT");

и "наслаждаемся" результатом :(

ЗЫ: Данные глюки, я так понял, проявляются не только у меня?
   Злопчинский
 
6 - 11.06.20 - 00:03
(3) а если нужна текстовая колонка?
   Cthulhu
 
7 - 11.06.20 - 00:37
(6): дело не в колонке - дело в ее формуле. точнее - в том, как она вклинивается в отработку отображения иерархического списка.
(0): а если добавит в конец этих процедур Форма.Обновить()?.. ну или для "поиграться" - чтобы в кнопке выл выпадающий список с первым пунктом "а, давай!.." (то самое переключение иерархии) и вторым "обновить форму" (с Форма.Обновить())...
   IgorA100
 
8 - 11.06.20 - 00:39
Аналогичная фигня с иерархией происходит и при создании таблицы значений вместо списка значений.
   Cthulhu
 
9 - 11.06.20 - 00:43
(8): новая раскраска менее ресурсозатратна, поэтому вклинивание формулы тектовой колонки в утяжеленное раскраской отображение списка на форме может не порить состав отображаемого списка...
(7)-то попробовал? и как?..
   IgorA100
 
10 - 11.06.20 - 00:46
(7) Форма.Обновить() - пофигу.... Ничего не меняет...
Т.е. происходит какой-то конфликт чего-то с FormEX при создании объекта "список значений" или "таблица значений" и их заполнении в функции из формулы текстовой колонки. Без FormEX естественно все нормально.
Еще один интересный момент. Есть одна внешняя обработка, там заполняется ТЗ по поиску и выводится в ТП, далее при клике на ТП позиционируется в форме списка и включается иерархия. И вот там проблемы нет!!! НО!, если щелкать не по ТП, а просто вывести обработку клика на кнопку - глюк проявляется.
Вообще бред как-то....
   IgorA100
 
11 - 11.06.20 - 00:49
(9) Да у меня вообще ничего не раскрашивается не тестовой конфе. Даже убрав единственное воспоминание про раскрашивание
Сервис.ВключитьРаскраскуТаблиц();
ситуацию не меняет.
   IgorA100
 
12 - 11.06.20 - 22:32
У меня мозг вскипает уже...
В функции, которая вызывается из табличного поля нельзя даже просто пустой цикл использовать типа
Для н = 1 По 5 Цикл
//ТЗ.НоваяСтрока();

КонецЦикла;

   Cthulhu
 
13 - 11.06.20 - 22:46
в 7-ке нет табличного поля
   IgorA100
 
14 - 11.06.20 - 23:14
(13) Думаю об одном, пишу другое...
Касательно (12): вместо "табличного поля" следует читать "многострочной части справочника"
А вообще в 7ке есть табличное поле благодаря ВК.
   IgorA100
 
15 - 12.06.20 - 01:59
Наклепал обработку, которая очень наглядно подтверждает глюк.
Сама обработка: https://yadi.sk/d/ELKIrd2_5sWTCA которую нужно положить в папку ExtForms.
На форму списка справочника "Контрагенты" в конфигурации, что я выложил тут https://yadi.sk/d/wxbnxeoQ0cJx6A
добавить кнопку с формулой
 ОткрытьФормуМодально("Отчет",Контекст,КаталогИБ()+"\ExtForms\TestI.ert")

Спозиционироваться на любом элементе справочника, который находится чем глубже в группах - тем лучше. Нажать добавленную кнопку - откроется обработка с двумя таблицами. Двойной клик мыши по элементу на левой таблице - иерархия свернется правильно, а если сделать двойной клик на правой таблице - НЕ правильно. Пропадут или группы или сами элементы.
Вот такие чудеса...
   IgorA100
 
16 - 12.06.20 - 22:24
(3) Ёпрст, а что глобально может изменить новый план раскраски касательно проблемы с текстовым поле (вызывающим не совсем простую функцию) в многострочной части?
Во первых и с новым планом раскраски нужно все равно вставлять текстовый столбец, во вторых в текстовом столбце может быть НЕ только раскраска.
Остается либо смириться с данным багом, либо надеяться, что АЛьФ когда-то это исправит....
Других вариантов не вижу :(
   Ёпрст
 
17 - 13.06.20 - 00:14
(16) на вот, занимайся
https://cloud.mail.ru/public/552S/5nbBLDnTr
   IgorA100
 
18 - 13.06.20 - 00:51
(17) Х.м.....
Шаман, однако....
Все в общем-то исправляется этими строками (какие именно повлияли не разбирался еще):)
    Настройки=СоздатьОбъект("УправлениеНастройками");
    Настройки.Сбросить("Проверка типов");
    Настройки.Сбросить("Отладка");
    Настройки.Включить("Оптимизация");
    Настройки.Включить("TurboBL");
    ЗагрузитьВнешнююКомпоненту("formex.dll");    
    
    Сервис = СоздатьОбъект("Сервис");
    Сервис.ВключитьРаскраскуТаблиц(1);
    Сервис.ИспользоватьПланРаскраски(1);

И при этом уже корректно работает функция (не касаемо раскраски) вызываемая из текстового столбца, и нет проблем с иерархией хоть откуда ее меняй.
На днях потестю более глубоко.
ОГРОМНОЕ СПАСИБО!!!
   Злопчинский
 
19 - 13.06.20 - 13:51
(18) галактка замерла в ожидании
   IgorA100
 
20 - 13.06.20 - 17:40
(17) Нет, глюк остался.... Это я ночью его не заметил...
https://yadi.sk/d/Sc6iHswCtMJ3uw
Просто добавил список значений в функция "РаскраситьТабличку" и все пошло наперекосяк.
Отключаем иерархию, позиционируемся например на "Контрагент2" (он поглубже сидит), жмем кнопку "Хрень" и если дальше щелкнуть по правой таблице - будет нарушена иерархия (выпадает "Группа3"), если по левому табличному полю - все будет правильно.
(19) Не долго ждать пришлось :)
   IgorA100
 
21 - 13.06.20 - 17:52
Кстати, если нажать на кнопку "включить иерархию" - тоже хрень получается... но немного другая - пропадает "Группа4" со всеми элементами.
   Злопчинский
 
22 - 13.06.20 - 19:29
это все от того что в функцию добавил прсото совершенно посторонее списокзначений?
   IgorA100
 
23 - 13.06.20 - 20:32
(22) Да, именно...
   Злопчинский
 
24 - 13.06.20 - 20:49
(23) а если попробовать СЗ сделать глобальным хотя бы в рамках обработки/модуля - ?
   IgorA100
 
25 - 13.06.20 - 21:03
(24) Я его даже классом делал :), пофиг....
Да дело даже не в списке значений.
Например пустой цикл типа
Для п = 1 По 15 Цикл КонецЦикла;
Тоже портит иерархию при клике по ТЗ.
   Ёпрст
 
26 - 13.06.20 - 21:29
(25) всё можно "обойти". Нужен конкретный демо пример
   Злопчинский
 
27 - 13.06.20 - 21:35
(26) а причина-то в чем?
   Ёпрст
 
28 - 13.06.20 - 21:38
(27) вызов метода иерархическийсписок много раз подряд портит отображение списка, я это раньше поправил кодом, выкинув лишнее и воткнув условие.
   Злопчинский
 
29 - 13.06.20 - 21:42
(28) вызов метода иерархическийсписок много раз подряд
- ну так вроде писали выше что без формекса работает ок?
.
может при между использованиями иерархический список - имеет смысл перекидывать в нормальный режим, а потом уже переключать?
   IgorA100
 
30 - 13.06.20 - 22:24
(26) Да, я заметил, изменения в коде про контроль иерархии.
Я выложил свежий, конкретный пример, где при клике по ТЗ происходит глюк. (29) Не помогает, увы...
 
 Рекламное место пустует
   IgorA100
 
31 - 13.06.20 - 22:43
(28) Можно даже не качать ту конфу, что я выложил.
Просто изменить ф-цию, добавив в нее пустой цикл и СЗ
Функция РаскраситьТабличку()
    Для п = 1 По 15 Цикл КонецЦикла;
    Спр = СоздатьОбъект("СписокЗначений");
    Спр.ДобавитьЗначение("ЙЙЙ");
    Спр.ДобавитьЗначение("ЙЙЙ");
    Спр.ДобавитьЗначение("ЙЙЙ");
    Спр.ДобавитьЗначение("ЙЙЙ");
    Спр.ДобавитьЗначение("ЙЙЙ");
    Спр.ДобавитьЗначение("ЙЙЙ");
    
    Спр.ДобавитьЗначение("ЙЙЙ");
    Возврат "(BRUSH[14020309])";
КонецФункции // РаскраситьТабличку

   IgorA100
 
32 - 13.06.20 - 23:28
(28) Насчет "выкинул лишнее" - активизация объекта там стояла намеренно, ибо используется при отключении установленного
отбора в обработке поиска. И отключение отбора из обработки с включением иерархии тоже глючит....
   Ёпрст
 
33 - 13.06.20 - 23:37
Короче, формекс тут вообще никоим боком. Эта фича проявляется при всех отключенных ВК, так что смирись и не используй метод ИерархическийСписок
   Ёпрст
 
34 - 13.06.20 - 23:37
и портит всё обновление формы
   Ёпрст
 
35 - 13.06.20 - 23:39
Можешь конечно, через дюнаврап слепить и "штатное" нажатие на кнопку в меню...при которой "работает"
   Ёпрст
 
36 - 13.06.20 - 23:40
А так, считай, что ты нашел еще одну пасхалку в клюшках, которую ужо никогда не исправят.
   IgorA100
 
37 - 13.06.20 - 23:49
(33) Странно, несколько дней назад без формекса вроде работало правильно, ну или я снова тогда запутался в модулях.... Сейчас проверил - да, и без ВК глючит....
Но, ведь, зараза при вызове из ТП работает прекрасно! (35) Пока нунафиг... Я дюнаврап никогда не пробовал. (36) Эх..... Неужели это тянется более 20ти лет? Странно как-то....
   Злопчинский
 
38 - 13.06.20 - 23:55
(37) потому что эта хрень никому не нужна.
нахрена много раз подряд использовать иерхическийсписок?
   Ёпрст
 
39 - 13.06.20 - 23:56
(37) ну...там много чего есть "странного", вот например, фича:
http://catalog.mista.ru/public/141197/
   Ёпрст
 
40 - 13.06.20 - 23:56
(38) ну, там и с первого раза не всегда правильно "сворачивает"
   IgorA100
 
41 - 13.06.20 - 23:59
(38) Проблема в том, что даже 1 раз его использовать нормально не получается.
(33) Еще раз перепроверил на предмет "пакости" формекса. При его отключении - исчезает проблема отключения отбора, позиционирования и включения иерархии. Т.е. при отключении формеса часть проблем исчезает, что уже хорошо само по себе. А вот вызов на включение иерархии из ТЗ не корректно работает даже вообще без ВК.
   IgorA100
 
42 - 14.06.20 - 00:03
(39) Во блин, не знал :)
   IgorA100
 
43 - 14.06.20 - 00:11
(41) Да, формекс не при чем. Все глючит и без него и с ним....
Вот если бы на базе ТП сделать кнопку (с добавлением картинки и надписи), или кнопку сделать как ТП, то проблема бы исчезла :)
   Ёпрст
 
44 - 14.06.20 - 07:50
(43) цель то какая, в итоге? Кнопку можно,хоть из картинки сделать, при желании
   IgorA100
 
45 - 14.06.20 - 12:58
(44) При нажатии на кнопку находящейся на форме списка справочника открывается форма внешней обработки и в ней выполняется код сброса установленного отбора справочника, включение иерархии, позиционирование на текущем элементе перед выключением отбора, внешняя обработка закрывается.
Т.е. выполняется примерно такой код во внешней обработке:
Процедура ОтключитьОтбор()
    Если ПустоеЗначение(Конт)<>0 Тогда
        Возврат;
    КонецЕсли;
    Элемент=Конт.ТекущийЭлемент();
    Колонка=Конт.Форма.ТекущаяКолонка();
    
    ИмяОтбора=0; ЗначениеОтбора=0;
    Конт.ПолучитьОтбор(ИмяОтбора,ЗначениеОтбора);
    Если ПустоеЗначение(ИмяОтбора)=1 Тогда      // Список бывает только при отключенном отборе

        Конт.ИспользоватьСписокЭлементов(ПолучитьПустоеЗначение());
    Иначе                                       // Если стоит отбор, значит списка там нет !

    КонецЕсли;
    Конт.ИерархическийСписок(1,1);
    Попытка
        Конт.АктивизироватьОбъект(Элемент);
        Конт.Активизировать(Колонка, 0);
    Исключение
    КонецПопытки;
    Форма.Закрыть();
    
КонецПроцедуры// ВключитьОтбор()

   Cthulhu
 
46 - 14.06.20 - 15:32
итого. в форме списка справочника, если в форму списка на форме добавлена текстовая колонка, в формуле которой используется функция, в которой выполняется не элементарное вычмсление и/или операции с коллекциями данных (сз,тз) - при отрисовке списка на форме возникает глюк при программном включении иерархического отображения списка при отображении содержимого группы уровня больше 2: группы, которые размещаются сверху, отображаются не олностью - некоторые группы теряются (строки с ними не выводятся).
версия (уже высказывалась выше): отработка формулы текстовой колонки "вклинивается" в алгоритм отрисовки списка элементов (в диалоге) и может нарушить вывод списка.
а попробуйте вот что! при включении режима иерархии - дополнительно поиграться с .ИспользоватьРодителя(...) и АктивизироватьОбъект(...)
   Ёпрст
 
47 - 14.06.20 - 15:47
Пробуй формеском запретить обновление окна формы справочника, там есть метод, потом включить
   Ёпрст
 
48 - 14.06.20 - 15:48
Ну или забей на типовую форму и замени форму списка табличным полем, есть и готовые классы.
   Djelf
 
49 - 14.06.20 - 16:06
Кнопка меню работает? Ну так и нажимай эту кнопку программно.
Процедура ОбработкаВыбора()
    Если Конт.ИерархическийСписок()=0 Тогда
        Окна=СоздатьОбъект("Окна");
        Окна.ОтправитьКоманду(32866,0);
    КонецЕсли;
КонецПроцедуры

   Ёпрст
 
50 - 14.06.20 - 23:33
(49)
не работает, надо так
Окна.ПослатьКоманду(32866,0);


ЗЫ: в 108 версии такого еще не было, и всё тоже делалось через дюнаврап. С какой версии пошли эти методы? (ПослатьКоманду/ОтправитьКоманду)
   Злопчинский
 
51 - 14.06.20 - 23:35
(50) "..в 108"...
ну, Ёпрст, как-то надо в тренде быть... вслед за жизнью.. 148 уже...
   Ёпрст
 
52 - 14.06.20 - 23:38
(51) я клюшки..несколько лет не открывал
   Ёпрст
 
53 - 14.06.20 - 23:44
Смотрю даже новые объекты появились, работа с окном сообщений, драг/дроп..

ЗЫ: кто там в курсе, ДобавитьАтрибут доделали ? Текстовую колонку в форму списка добавляет ужо ?
   IgorA100
 
54 - 14.06.20 - 23:53
(46) С "ИспользоватьРодителя(...)" немного становится лучше.
Вот такая процедура, вызываемая непосредственно из формы списка справочника через обычную кнопку, на удивление работает правильно! (как то не верится, завтра еще перепроверю)
Процедура Иерархия (Реж)
    ТекЭл = ТекущийЭлемент(); 
    ИерархическийСписок(Реж,1);
    АктивизироватьОбъект(ТекЭл);
    ИспользоватьРодителя(ТекЭл.Родитель);
КонецПроцедуры

А вот точно такая же процедура, но вызываемая из внешней обработки - по прежнему глючит :(
   Злопчинский
 
55 - 14.06.20 - 23:56
(52) да понятно уже... продался буржуинам за корзину печенья и банку варенья...
   Злопчинский
 
56 - 14.06.20 - 23:57
(53) датаматрикс печатает.. и еще всякого понемногу..
   Ёпрст
 
57 - 15.06.20 - 00:01
(54) забей, рабочий вариант см. (49) с поправкой в (50)
   Ёпрст
 
58 - 15.06.20 - 00:01
просто посыл команды в меню действия
   Cthulhu
 
59 - 15.06.20 - 00:04
(57),(58): проблема возникает и без формекса.
тот вариант, про который говоришь "забей" - не зависит от использования ВК (втч формекса) в принципе.
   Ёпрст
 
60 - 15.06.20 - 00:05
(59) я в курсе, но штатная команда из меню не вызывает сей эффект, только программный код с ИерархическийСписок
 
 Рекламное место пустует
   Ёпрст
 
61 - 15.06.20 - 00:06
поэтому  и решение - "нажать" на кнопку в меню
   IgorA100
 
62 - 15.06.20 - 01:17
(49) (50) Сильно не пинайте меня. С окнами вообще не работал :( Документации по ним, особо не нашел.
В общем попробовал на форму списка добавить кнопку с вызовом процедуры:
Процедура ОбработкаВыбора()
        Окна=СоздатьОбъект("Окна");
        Окна.ПослатьКоманду(32866,0);
КонецПроцедуры

Фантастика! Работает :) Переключает туда-суда без глюков...
Теперь пара вопросов:
1. Где-то есть более-менее подробная информация про работу с этими окнами?
2. Где можно посмотреть какие вообще команды можно посылать?
3. Мне нужно послать команду окну (форма справочника) из которого вызывается обработка. Как указать какому окну посылать команду? Типа Окна.УстановитьОкно(Контекст)?
(48) Не встречал таких классов по упрощению замены формы списка на табличное поле. Поищу... Может пригодится для наведения красоты.
   IgorA100
 
63 - 15.06.20 - 01:41
(62) Х.м. с третьим своим вопросом разобрался, оказывается метод отсылает команду только главному окну. Выбрать окно нельзя и в итоге все и так работает и из внешней обработки.
   Ёпрст
 
64 - 15.06.20 - 04:46
(62)
1.дык с формекмом идет als, там все есть, го ту дорекс.про
2.методом Окна.ПолучитьМеню получить список и в рекурсии обойти все вложенные списки для получения всех команд главного окна.
3.доступны тока команды главного окна программы. Конкрктно в твоем случае, этотпункт из меню Действия.

Зы : в дюнаврап или в миракл от Абадонны, можно было "нажать" любую кнопку в любой панели инструментов. Тут может, тоже есть, не смотрел, чего там Алексей со времен 108 релиза доделал.
   Djelf
 
65 - 15.06.20 - 08:56
(50) Странно, на w10 что так, что сяк работает.

(62) Повесь в глобалник
Процедура ПриПолученииСистемнойКомандыГлавнымОкном(wParam,lParam)
    Сообщить("ПриПолученииСистемнойКомандыГлавнымОкном("+wParam+","+lParam+")");
КонецПроцедуры

Процедура ПриПолученииКоманды(пКоманда, пЗаблокироватьКоманду)
   Сообщить("Идентификатор команды: "+пКоманда);
КонецПроцедуры


Еще и RWidgets старая, версии 1.33 такое умела. В 1.40 сломалось.
   Djelf
 
66 - 15.06.20 - 08:58
+(65) Тфу, ты "ПриПолученииКоманды" это как раз из RWidgets 
У formex вот так
Процедура ПриПолученииКомандыГлавнымОкном(wParam,lParam)
    Сообщить("ПриПолученииКомандыГлавнымОкном("+wParam+","+lParam+")");
КонецПроцедуры

Процедура ПриПолученииСистемнойКомандыГлавнымОкном(wParam,lParam)
    Сообщить("ПриПолученииСистемнойКомандыГлавнымОкном("+wParam+","+lParam+")");
КонецПроцедуры

   Ёпрст
 
67 - 15.06.20 - 09:28
(66) точно, rwidgets еще же был..
   Djelf
 
68 - 15.06.20 - 09:34
Последний RWidgets, с рабочими перехватами, тут: http://www.1cpp.ru/forum/YaBB.pl?num=1197444759/24#24
   IgorA100
 
69 - 15.06.20 - 20:47
А ведь работает зараза с использованием окон. Хоть с вызовом непосредственно из формы, хоть из внешней обработки !!!
ВСЕМ принявшим участие в мозговом штурме - ОГРОМНОЕ СПАСИБО!
Не перевелись еще спецы по 7ке! Хотя активность заметно снизилась, эх.. а как было лет 15-20 назад...
   Злопчинский
 
70 - 15.06.20 - 20:57
(69) ну так тогда и тверже все было...
   IgorA100
 
71 - 15.06.20 - 22:26
(70) Да уж, и трава зеленее и деревья выше... И зима как зима, и лето как лето :)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.