Имя: Пароль:
1C
1C 7.7
v7: Обновление FormEx. Версия 2.5.0.115.
0 АЛьФ
 
12.01.17
10:45
Постарался привести в порядок als-файл.

Объект "Сервис". Новые методы:
КопироватьОбъект() - открывает форму нового документа, создаваемого путем копирования указанного;
НарисоватьШтрихкод() - рисует штрих-код заданного типа на объекте "Картинка" с помощью библиотеки zint;
РежимКонфигуратораУСообщений() - переключение вывода в сообщений в режим, когда по двойному клику на любом сообщении осуществляется переход в конфигуратор, как при ошибке исполнения;
ПолучитьСтекВызова() - возвращается таблица значений с текущим стеком вызова.

Объект "АтрибутФормы". Новое свойство:
СтильРамкиКартинки - чтение\запись стиля картинки на форме.

Новый объект "ОкноСообщений" для создания собственных окон сообщений и управления ими.

Скачать можно, как обычно, по адресу: http://dorex.pro/?projects&formex&download
1 Ёпрст
 
12.01.17
10:48
Круто, спасибо!.
2 Ёпрст
 
12.01.17
10:52
а в als-ке есть новые методы ?
3 Ёпрст
 
12.01.17
10:54
ага посмотрел, есть
4 DrZombi
 
гуру
12.01.17
11:09
(0) Ты селен. Уже ШК рисует, где ты был года 4-5 назад? :)
5 DrZombi
 
гуру
12.01.17
11:09
+ ШК какого формата может рисовать?
6 DrZombi
 
гуру
12.01.17
11:12
Кому любопытно
Класс для формирования штрих-кодов при помощи свободной библиотеки Zint
http://catalog.mista.ru/public/305476/
7 mishaPH
 
модератор
12.01.17
11:26
мерси
8 mishaPH
 
модератор
12.01.17
11:26
(6) а можно ссылку не на этот жопошный ресурс.
9 oslokot
 
12.01.17
11:33
(0)
1. а можно формы с независимыми размерами?
(а то если развернул одну форму - разворачиваются и все остальные, никогда не любил именно за это клюшки)

2. теперь можно закрыть программно штатное окно сообщений?
10 АЛьФ
 
12.01.17
11:35
2(4) Ой, и не спрашивай!
2(5) Теоретически любого, который рисует Zint. У меня лично откатан только QR-код.
11 Ёпрст
 
12.01.17
11:35
(9) его и без формекса можно было закрыть, через whs
12 DrZombi
 
гуру
12.01.17
11:35
(8) Да я так, по быстрому нашел. Для информации скинул. А так не смог найти источник библиотеки :(
13 oslokot
 
12.01.17
11:36
(11) да, но кривовато, последний рубеж
14 АЛьФ
 
12.01.17
11:38
2(9)
1. Нет, так толком и не доделал пока плавающую форму.
2. Да, можно его скрыть.
15 ADirks
 
12.01.17
11:54
вот так вылетает:
Окно = СоздатьОбъект("ОкноСообщений");
Окно.Видимость(1);


а вот так - не вылетает:
Окно = СоздатьОбъект("ОкноСообщений");
Окно.Парковать(4); //цыферка - любая
Окно.Видимость(1);
16 ildary
 
12.01.17
11:57
(0) мои поздравления с возвращением проекта. Чем это было вызвано - собственной нуждой или попросили?
17 АЛьФ
 
12.01.17
12:00
2(15) А подробней? Где этот код вызывается?
18 АЛьФ
 
12.01.17
12:02
2(16) Чем вызвано возвращение к FormEx? Просто опять стало интересно покопаться в некоторых вещах.
19 Это_mike
 
12.01.17
12:05
Благодарствую!
20 ADirks
 
12.01.17
12:05
(17) внешняя обработка, процедура на кнопке.
винда XP
код модуля:


Перем Окно;

Процедура ОкноСообщений()
    Если Окно = Неопределено Тогда
        Окно = СоздатьОбъект("ОкноСообщений");
        Окно.Парковать(4);
        Окно.Видимость(1);
    КонецЕсли;
    Окно.Сообщить(ТекущееВремя(), 1);
КонецПроцедуры
21 Ёпрст
 
12.01.17
12:06
(18) слушай, нельзя ли как-то попроще поиметь "текст" открытой формы прямо из предприятия?
Ну, нужно тоже самое, что турбомд делает для формы в пофигураторе - чтоб те же контролы в текстовом виде и т.д и т.п.

Чтоб можно было бы из предприятия каким-либо методом получить для турбомд текст готовый.
К примеру, я подвигал контролы формексом на форме в предприятии, выгрузил это, турбомд это схавало - и так и "осталось".
22 Ёпрст
 
12.01.17
12:07
Я сделал через активмд и "ручками", не очень удобно и кривовато работает
23 ADirks
 
12.01.17
12:07
да, РежимКонфигуратораУСообщений(1)  - просто огонь!
24 oslokot
 
12.01.17
12:10
(14) Спасибо!
25 АЛьФ
 
12.01.17
12:12
2(20) Опа! Спасибо. Видать при начальном создании окна все же что-то забыл проинициализоровать.
26 АЛьФ
 
12.01.17
12:16
2(21) Попробую.
27 АЛьФ
 
12.01.17
12:16
2(24) Не за что.
28 Это_mike
 
12.01.17
12:17
(21) 7.7:управляемые формы?
29 Ёпрст
 
12.01.17
12:18
(20) Неопределено, это конечно, зачет :)
30 Ёпрст
 
12.01.17
12:19
(28) не, это старая недоделка
http://catalog.mista.ru/public/20885/
31 Ёпрст
 
12.01.17
12:19
не даёт покоя :)
32 ADirks
 
12.01.17
12:21
(29) да, между прочим, оч полезная фигня
придумал не я :)
33 АЛьФ
 
12.01.17
12:22
2(30) Ссылку на сайт FormEx поправь.
dorex.ru давно уже мною утерян.
34 Ёпрст
 
12.01.17
12:23
(0)
РежимКонфигуратораУСообщений
- супер метод.

А можно как-то сделать, чтоб он фокусировался на нужном месте в коде ?
А то окно в пофигураторе открывается, а фокуса нет. Это у всех так ? Проверьте
35 Это_mike
 
12.01.17
12:24
(30) хм. надо поковырять.
хотя уже почти нет необходимости
36 Ёпрст
 
12.01.17
12:25
(33) там палевно что-то изменять на сайте, всё время денех хотят или модерацию поделка не проходит,  ну и банят, когда с ними начинаешь базидировать на этот счёт
37 ADirks
 
12.01.17
12:28
(34) это у всех
такая же фигня с ошибками, которые в классах генерятся
38 АЛьФ
 
12.01.17
12:31
2(34) Не смог побороть. Это уже на стороне конфигуратора, насколько я понимаю. Курсор на нужной строке стоит, но фокус почему-то в окне сообщений.
39 АЛьФ
 
12.01.17
12:31
2(36) Жесть какая-то.
40 ADirks
 
12.01.17
12:32
+(34) лечится, если на шорткат повесить  макрос Шорткаты::CloseMessageWindow()

у меня на Ctrl-Z повешено,  нажимаю Ctrl-Z Ctrl-Z  - и всё
41 Ёпрст
 
12.01.17
12:42
(39) ну вот, поменял путь к скачке формекса, публикация стала за бабло, как вернуть - хз, написал в поддержку.
42 Ёпрст
 
12.01.17
12:42
(40) ага, щас спробую.
43 Масянька
 
12.01.17
13:01
@Альф - спасибо (как всегда) :)

PS Хорошо тут у вас... Я полдня матюки пользователей слушала - на 8.3 перешли...
44 АЛьФ
 
12.01.17
13:14
2(43) Да, у нас тут тепло и лампово...
45 Cool_Profi
 
12.01.17
13:20
А зинт интегрирован или его отдельно надо ставить?
46 АЛьФ
 
12.01.17
13:22
2(45) Интегрирован.
47 Ёпрст
 
12.01.17
13:23
(46) в мокселе, тоже рисовать будет ?
48 Ёпрст
 
12.01.17
13:23
не пробовал еще
49 Ёпрст
 
12.01.17
13:24
есть пример готовый, чтоб не лепить ?
50 ildary
 
12.01.17
13:28
(43) интересуют подробности - переход был с 7.7? На что громче всего ругались?
51 Fragster
 
гуру
12.01.17
13:30
(8) http://zint.github.io/ + командная строка. Использование тривиально.
52 АЛьФ
 
12.01.17
13:32
2(47) Будет.
53 АЛьФ
 
12.01.17
13:36
54 Ёпрст
 
12.01.17
13:39
(53) ага, спасибо, крутяк..
55 Junior1s
 
12.01.17
13:40
еще бы хранение файлов прикрутить как нибудь =)
56 АЛьФ
 
12.01.17
13:41
2(55) В смысле?
57 Cool_Profi
 
12.01.17
13:43
(55) А зачем для этого ВК? Оно и так прекрасно прикручивается. Штатно.
58 Junior1s
 
12.01.17
13:44
(56) забыл сказать спасибо.

з.ы. хранилище файлов, как в 8.х.
59 АЛьФ
 
12.01.17
14:03
2(21) Глянул. Не получится. Движок нигде этот текст не хранит. Читает из md и сразу анализирует, создавая форму. Поэтому получится то же самое чтение из конфиги, как с помощью активмд.
60 Ёпрст
 
12.01.17
14:08
(59) ну ясно, придётся по-старинке доделать :)
Как -нибудь
61 АЛьФ
 
12.01.17
14:12
2(15) Исправил.
62 Djelf
 
12.01.17
23:17
(0) ПолучитьСтекВызова() оО
Спасибо! Это тайная, но сбывшаяся мечта!
Приходилось пропатченный (чтобы с 1с++ работал) Tracer 1C использовать в тяжелых случаях, а тут сразу виновника видно будет. Ляпота...
63 АЛьФ
 
13.01.17
09:04
2(62) Кстати, как обычно совершенно случайно появился этот метод. Делал отлов места вывода сообщения для чего смастерил метод РежимКонфигуратораУСообщений() и тут неожиданно вспомнил, что у нас в конфиге все сообщения идут через глобальную глСообщить(), а оттуда фиг узнаешь откуда был вызов. Пришлось к стеку взоры обращать.
64 Это_mike
 
13.01.17
09:12
(62) (63) а покажите пример полезности, плз?
нутром чую, а головой понять - где в режиме предприятия может понадобиться стек вызовов - не могу :-(
65 АЛьФ
 
13.01.17
09:19
2(64) Так вот у меня и есть пример - процедура, вызываемая из разных мест. Иногда надо отследить откуда именно она вызывалась. Можно отладчиком поставить точку останова и смотреть стек вызова там, а можно теперь прямо в Предприятии вызывать. Просто метод отладки.
66 Это_mike
 
13.01.17
09:22
(65) Т.е. в целях отладки? ну тогда - несомненно полезно. а вот в боевом режиме...
кстати, а перехватить исключение - можно? тогда б применимость расширилась...
67 АЛьФ
 
13.01.17
09:39
2(66) В боевом на фиг не нужно, конечно же.
В каком смысле "перехватить исключение"? Глобальное событие, которое вызывалось бы при любом исключении?
68 Это_mike
 
13.01.17
09:52
(67) ага.
Иогда, если исключение возникло - можно, например, вывести стек вызовов, и работать дальше...
69 АЛьФ
 
13.01.17
10:10
2(68) Надо подумать.
70 Vippi
 
13.01.17
10:52
А я к сожалению остаюсь на 93 релизе.
После него раскраска опять стала сильно грузить процессор при листании.
И этот релиз не исключение.
71 Ёпрст
 
13.01.17
11:02
(70) а ты пользуешься новым планом расскраскиЮ, или как ?
Че-то тормозов из-за расскраски особо замечено не было на новом плане.
72 Ёпрст
 
13.01.17
11:03
+ выборочная расскраска включена. И включена только на тех формах, где мне надо, а не на всех.
73 Vippi
 
13.01.17
11:10
(71) Пользуюсь.
Тормоза не сильно заметны, а проц грузится сильно при листании.
Я в свое время уделил FormEx очень много внимания, так что эти наблюдения написаны кровью ))
74 Ёпрст
 
13.01.17
11:12
(73) а расскраску отключаешь, и нагрузки на проц нема ? Мот не в ней дело то ?
:)
75 Vippi
 
13.01.17
11:16
(74) В ней. Гарантирую.
На 1cpp.ru вроде этот вопрос обсуждали.
76 Vippi
 
13.01.17
11:17
(74) Можешь попробовать полистать с 93 и последним и почувствовать разницу.
77 Ёпрст
 
13.01.17
11:17
(69) Слушай, а событие ПослеОткрытия() починил в модальной форме ?
Ну, чтоб работало ?
78 Ёпрст
 
13.01.17
11:18
(76)ок, попробую полистать в старом
79 Vippi
 
13.01.17
11:19
(78) Загрузку проца понаблюдай.
80 Vippi
 
13.01.17
11:21
(77) А что там не работало?
81 Ёпрст
 
13.01.17
11:23
(80) в модальной форме нет события ПослеОткрытия, приходилось переписывать на ПриСозданииКонтекста или ПриСозданииФормы ( не помню синтаксис, как там точно называется)
82 АЛьФ
 
13.01.17
11:32
2(70) Сейчас сделаю специальную сборку, где не должно быть этого торможения.
83 АЛьФ
 
13.01.17
11:38
+(82) Попробуй: https://yadi.sk/d/ykjNKGbm38jjui
84 Vippi
 
13.01.17
12:06
(83) Это ж другое дело.
Спасибо.
85 Vippi
 
13.01.17
12:07
(81) > в модальной форме нет события ПослеОткрытия
Вроде не замечал.
86 АЛьФ
 
13.01.17
12:08
2(84) Проблема ушла? Тогда сделаю метод, чтобы можно было отключать это место.
87 Vippi
 
13.01.17
12:16
(86) Ушла. Только из-за нее отказался от новых релизов.
А что было? Помнится, что-то вроде лишней отрисовки.
88 АЛьФ
 
13.01.17
12:40
2(87) Да, там получается, что иногда при включении раскраски таблица не прорисовывается. Для того, чтобы это обойти я добавил принудительное обновление таблицы. Получается двойное вычисление всех функций в таблице, что и приводит к торможению.
Сейчас добавил объекту Сервис метод ОтключитьОбновлениеПриРаскраске(), который это обновление сможет включать-выключать.

Скачать можно там же:
https://yadi.sk/d/ykjNKGbm38jjui

Потести, плиз.
89 Vippi
 
13.01.17
13:23
(88) Работает.
А решение принудительного обновления может быть такое
http://www.1cpp.ru/forum/YaBB.pl?num=1232442209/0#5
90 АЛьФ
 
13.01.17
13:29
2(89) Я у себя сделал наоборот - обновление включено, но в журнале, где проявилось критичное замедление при листании, поставил заглушку, чтобы формулы считались только если сменился текущий документ. Стало намного быстрей.
91 Vippi
 
13.01.17
13:35
(90) Можно и так.
92 botman4
 
15.01.17
10:29
Подскажите пож, как получить "объект" картики, который передавать в процедуру НарисоватьШтрихкод()??
Спасибо.
93 Злопчинский
 
15.01.17
14:17
Спасибо автору!
Какая текущая версия последняя? 115 или 116?
94 Djelf
 
15.01.17
14:18
(0) АЛьФ а поправить АтрибутФормы.РасширенныйСтиль можно попросить? А то он равен АтрибутФормы.Стиль
Там вроде в
AttribEx.cpp
int  CAttribEx::GetPropVal(int iPropNum,class CValue & rValue)const
case propStyleEx:
всего две строчки надо поменять с rValue = (long)pWnd->GetStyle(); на rValue = (long)pWnd->GetExStyle();
И вытащить пару переменных
#define CS_EX_TRANSPARENT      0x00010000L //Прозрачный фон
#define CS_EX_NOTSTORE         0x01000000L //Не сохранять при сохранении настройки
Не то чтобы сильно сложно составлять списки атрибутов, которые сохранять не надо, но это чуток надоело ;)
95 Djelf
 
15.01.17
14:18
(93) 117я уже
96 Злопчинский
 
15.01.17
14:20
(95) вооот! ;-)
97 Злопчинский
 
15.01.17
14:20
у меня сейчас во всех новых и старые обработки/формы по мере рукодоходимости стоит типа:

//************************************************************************************************************
Процедура ПослеОткрытия()

    Окна = СоздатьОбъект("Окна");
    Окна.ЦентрироватьОкно(Форма);
    Окна = "";
    
КонецПроцедуры    //ПослеОткрытия()

//************************************************************************************************************
//
Процедура ПослеСозданияФормы()
    
    Если Форма.МодальныйРежим() = 0 Тогда Возврат; КонецЕсли;    
    ПослеОткрытия();
    
КонецПроцедуры    //ПослеСозданияФормы()
98 Djelf
 
15.01.17
14:39
+(94) Не помню уже откуда взял пример работы со стилями...
http://radikal.ru/lfp/s019.radikal.ru/i609/1701/52/afb1a7b33f28.png/htm
https://cloud.mail.ru/public/EMe7/g6ZqDEAou
99 Djelf
 
15.01.17
16:52
И еще +(94) АтрибутФормы.ПолучитьЗависимыйПараметр() это как раз и есть расширенный стиль.
И в тз=Расширение.Формы.methCtrlInfo DependParam тоже ExStyle, sDependParam правильно, а вот что выводится в ExStyle вообще непонятно 0х200 и на связанный и на не связанное поле со справочником.
100 Злопчинский
 
15.01.17
17:01
(99) "Папа, ты это с кем сейчас разговариваешь?"
101 Djelf
 
15.01.17
17:08
(100) Ну... а куда об ошибках писать то? В Спортлото?
102 Это_mike
 
15.01.17
17:10
(101) ты должен ответить "кто здесь? Кто здесь?"
103 Djelf
 
15.01.17
17:14
(102) Пока кто-то ответит я уже забуду что раскопал ;)
104 АЛьФ
 
16.01.17
08:56
2(94) Расширенный стиль поправил. Про "вытащить пару переменных" не понял.
105 АЛьФ
 
16.01.17
09:04
2(97) Сейчас проверил. Работает ПослеОткрытия в модульных формах.
106 Это_mike
 
16.01.17
09:04
(105) урра!
107 Это_mike
 
16.01.17
09:05
(105) иэх, это все, да лет бы 10 назад...
108 АЛьФ
 
16.01.17
09:06
2(107) Кстати, в этом году FormEx исполняется 15 лет.
109 Это_mike
 
16.01.17
09:11
(108) Да, я впервые его увидел в 2004-м....
110 Ёпрст
 
16.01.17
09:34
(105) Брать последний там же, на сайте ?
111 Это_mike
 
16.01.17
09:36
(110) крайний
112 АЛьФ
 
16.01.17
09:37
2(110) С последним изменением из (104) пока не выложено, но ПослеОткрытия и в прошлой сборке нормально работает.
113 АЛьФ
 
16.01.17
09:38
2(111) Ну, вот... сделал FormEx крайним...
114 Ёпрст
 
16.01.17
09:38
(108) Можешь посмотреть еще, что ПриНачалеБлокировкиОбъекта и ОбработкаБлокировки в форме констант чтоб работала ?
115 Это_mike
 
16.01.17
09:41
(113) "ты увидишь, что напрасно называют формекс крайним, ты увидишь - он бескрайний, я тебе его дарю!"©АЛьФ :-)
116 Cool_Profi
 
16.01.17
09:42
(115) Эко тебя рас.....
117 АЛьФ
 
16.01.17
09:42
2(114) В этой форме объекты не блокируются, насколько я понимаю. Это же просто форма с полями, где выбраны некие объекты.
118 АЛьФ
 
16.01.17
09:42
2(115) :D
119 Это_mike
 
16.01.17
09:45
(116) грипп, куле...
120 Vippi
 
16.01.17
09:46
(112) И в позапршлой тоже.
По крайней мере в 93 работало точно.
121 АЛьФ
 
16.01.17
10:01
2(120) Да, оно давно нормально работает. Никак не пойму откуда вообще пошло, что это дело не работает.
122 Ёпрст
 
16.01.17
10:06
(121) ну как, с 95 по 108 точно не работало :)
123 Злопчинский
 
16.01.17
10:12
(121)  подтверждаю (122) - я на это дело реально время зверски расстрелял
124 Злопчинский
 
16.01.17
10:14
(0)  а есть ли в КопироватьОбъект()
Параметр например строка в которой через запятую или СЗ в котором содержатся идентификаторы  реквизитов дока ко орым надо присвоить пустое значение?
125 Злопчинский
 
16.01.17
10:15
(0)

Или при исполнении в открытой форме отработает штатный метод ВводНового(Скопирован)? Я думаю что да, тогда вопрос: будет ли параметр Скопирован равен 1?
126 Злопчинский
 
16.01.17
10:17
А каков практический смысл ОкноСообщений?
Мысли есть, но неоформившиеся...
127 Злопчинский
 
16.01.17
10:20
Будет ли в формексе перехват сообщений выводимых в штатное окно или в свои окна сообщений типа как 1Spy

1Spy вещь полезная, но хочется больше плюшек в нем автоматом, а то приходится программно отрабатывать
128 АЛьФ
 
16.01.17
10:27
2(124) Второй параметр метода - это "КонтекстФормы" - переменная, которая будет доступна в открываемой новой форме через Форма.Параметр, а после выполнения метода туда вернутся контекст открытой формы. Все, как в ОткрытьФорму().
2(125) Отработает. Будет.
2(126) Дык, перехват сообщений, управление окном сообщений, сохранение выведенных сообщений.
2(127) Уже есть. См. объект ОкноСообщений.
129 abfm
 
16.01.17
10:55
спасибо все надо. работаем в клюшках не все в снеговиках трахаются.
130 botman4
 
16.01.17
11:40
Как получить "объект" картики, который передавать в процедуру НарисоватьШтрихкод()??

в Таблицу положил пустую картинку, в нее написал функцию
ТестВыводаКартинки(Объект);

что присвоить Объект??? Объект = ???

в каталокИБ подкинул zint.dll

Пробовал
Объект = СоздатьОбъект("Картинка");
При печати - пусто...
подскажите нубасу как напечатать ШтрихКод )
131 Ёпрст
 
16.01.17
11:42
(130)В этой теме есть готовый пример, отлистай сообщения назад.
132 АЛьФ
 
16.01.17
11:43
2(130) В посте (53) ссылка на обработку с примерами для всех типов картинки: в таблице, на форме, программно созданной.
133 botman4
 
16.01.17
13:47
(131) (132)
спасибо.
134 Djelf
 
16.01.17
17:09
(104) Спасибо!
Запутало меня то что расширенные стили то разные...
Проверил АФ.РасширенныйСтиль теперь соответствует WS_EX_*

P.S. ПолучитьЗависимыйПараметр() и УстановитьЗависимыйПараметр() работают очень странно. На картинке выдают значения как растягивать, но не устанавливают. Что-то еще выдают, типа флаг CS_EX_NOTSTORE НеСохранятьПриСохраненииНастройки 0х01000000. А что-не выдают и значение не меняют, например при установке видимости на форме меняется флаг 0х00002000, а программной установке не меняется.
Такое впечатление что оно читает и пишет первоначальные параметры формы, которыми форма после открытия не пользуется.
135 Злопчинский
 
16.01.17
17:38
(128)  спсб!

А можно какое нить расширение к форме прикрутить чтобы без гемора показывать png картинки?
136 АЛьФ
 
17.01.17
10:06
2(135) Работаю над этим вопросом.
2(134) Зависимый параметр, насколько я понял заполняется именно при создании формы и тогда же используется. Дальше бесполезно его дергать.
137 vcv
 
17.01.17
12:35
Возникла проблема с 117 версией FormEx.
При открытии окон стало мигать всё окно 1С, если используется Сервис.УстановитьОбои. Ощущение, словно фон окна меняется на стандартный, потом возвращается настроенный.
FormEx 2.0.5.117, 1C++ 3.2.4.1, терминал, Windows 2003 Server.
138 АЛьФ
 
17.01.17
12:41
2(137) Постоянное мигание или просто моргает один раз?
139 vcv
 
17.01.17
12:47
(138) Открываю форму (не максимизированную, что бы фон был виден) - мигнуло.
140 АЛьФ
 
17.01.17
12:52
2(139) Хм... А на прошлых версиях на этой системе не возникало такого моргания?
141 vcv
 
17.01.17
13:11
На прошлых версиях, до 115, не возникало.
Эксперименты показывают, что проблема сильно зависит от клиента. На стандартном терминал-клиенте windows 10 мигания вроде нет. По крайней мере так редко, что уже не могу понять, оно есть или уже глаза подводят. В "Remote Desktop Preview" мигает сильно с тех пор, как обновил версию FormEx. Раньше не замечалось.
142 АЛьФ
 
17.01.17
13:23
2(141) Вообще-то, в этом месте ничего не менялось. Картинка фоновая очень тяжелая?
143 vcv
 
17.01.17
13:29
(142) Фоновая картинка 1х1 пиксель. Используется, потому что при пустом первом параметре УстановитьОбои не устанавливает цвет фона главного окна 1С (четвёртый параметр).
144 АЛьФ
 
17.01.17
13:43
2(143) Вот сборка для пробы. Можно с пустым первым параметром.
https://yadi.sk/d/ykjNKGbm38jjui
145 cyberandr
 
17.01.17
15:01
(0) Спасибо будем ставить!
146 vcv
 
17.01.17
15:06
(144) Подмена DLL, без каких-либо внесений изменений в конфигурацию, проблему решила.
Что изменилось? Какие-то особенности учесть надо? Или можно уже начинать благодарить за исправление ошибки? :)
147 АЛьФ
 
17.01.17
15:44
2(146) Просто перенес заполнение цветом в правильное место (наружу проверки наличия картинки) и сделал с условием, что если задан цвет и заливается им поле, то предыдущая очистка фона тупо не вызывается. Так что можно смело пользоваться. Хуже явно не станет.
148 АЛьФ
 
17.01.17
15:45
2(145) На здоровье.
149 botman4
 
18.01.17
10:09
а при печати ШтрихКода, возможно ли задать размер шрифта ?
150 АЛьФ
 
18.01.17
10:38
2(149) Нет. Шрифты зашиты в Zint и масштабируются только вместе с картинкой.
151 Злопчинский
 
18.01.17
19:31
(149) нафейхоа? шрифт или читается или не читается. если читается то читается путем сканирования. поэтому обесрпечиваем чтобы сканировалось
если частоиспользуется буквенноцифровое представление ШК на этикетке - ну так вывел этикетку а под ней сам же вывел ШК любыми методами
152 Djelf
 
18.01.17
20:14
(151) Читаться то он читается, но шрифт пиксельный, грубоватый и не отключаемый, а масштабирование средствами 1с сглаживания не делает или делает но отвратно.
Можно подключить V7Picture http://www.wirth.ru/load/30-load_3.html с ней получше выглядит, но она не отключаемая, а у меня сканы сертификатов, а с ней они начинают тормозить при печати.
Вот поэтому и был вопрос задан...
153 АЛьФ
 
19.01.17
10:51
2(152) могу попробовать сделать отключение вывода текста.
154 Djelf
 
19.01.17
22:37
(153) Это должно исправить ситуацию.
Попытался выводить в картинку без масштабирования. На форме смотрится отлично. В таблице тоже, но при предварительном просмотре и при печати картинка раза в 4 меньше становится. Фокус не удался ;(
155 АЛьФ
 
20.01.17
09:24
2(154) К сожалению, не получится отключить вывод уж слишком в код вывода это дело плотно зашито. Шрифт можно поставить только следующего вида (из комментов кода копирую):
small font 5x9
regular font 7x15
bold font -> twice the regular font
156 Djelf
 
20.01.17
14:06
(155) Хм.. разве это не этот api у zint? http://www.zint.org.uk/Manual.aspx?type=p&page=5
show_hrt разве это не оно? еще scale могло бы наверное помочь (побольше картинку сделать).
157 АЛьФ
 
20.01.17
14:42
2(156) Хм... Ну, допустим, кря...
Вот попробуй эту сборку: https://yadi.sk/d/ykjNKGbm38jjui
Четвертый параметр метода НарисоватьШтрихкод() - установка вот этого флага.
158 Djelf
 
20.01.17
14:59
(157) Сработало! 0 цифры убирает.
159 АЛьФ
 
20.01.17
15:04
2(158) Вот ведь... А я место с этим флагом проскочил и дальше в код полез. Спасибо.
160 Злопчинский
 
20.01.17
16:59
(159) опередун... ;-)
161 Djelf
 
21.01.17
00:50
(160) Ээээ... ты прочитай описание флагов - оно какое то странное, так что с первого раза можно и не понять зачем он там вообще.

Тест генерации шк доработан для отображения тестов из zint.
https://cloud.mail.ru/public/H3m3/3Mq1T9ty8
Также эта обработка еще и тест и некоторые примеры того что может сделать РасширениеФормы если приложить к ней немного усилий.

Генерация кнопок, тз, переключателя, гибрида картинки и кнопки все внутри обработки...

АЛьФ, прости меня за таки извращения с РасширениеФормы!
162 Злопчинский
 
21.01.17
02:05
(161) прошу упоминать версию необходимого формекса!
163 Djelf
 
21.01.17
02:24
(162) Должно работать при версии из начала топика.
Если не получится то я накосячил ;(
164 Злопчинский
 
21.01.17
03:03
(161) я так и знал...
не определена. скинь плиз

глПросмотрТСЗ(ТаблицаОбъекта,Заголовок+" тип: "+ТипЗначенияСтр(Объект));
165 Злопчинский
 
21.01.17
03:06
надо какую-то хрень сделать
.
типа "обосбобления обработок/отчетов"
сделал внешний отчет/обработку.
жмакаешь в опенкофе кнопарь
.
он бежит по тексту внешней обработки (в рекитах не пистаь формул экспортных) - определяет зависимости от глобального контекста.
выдирает из глобального контекста используемые экспортные процедуры/функции, из них выдирает вызываемые функции/процедуоы - тащит это все НУ ХОТЯ БЫ во внешний текстовый файлик - чтобы это потом вставить в отчет/обработку и получит ВНЕШНИЙ отчет/обработку, которые не сломаются где-то там... снаружи.. за пределами этой конфы...
166 Злопчинский
 
21.01.17
03:17
(161) порисовал кнопочкой штрихкоды...
жмакнул "перегрузит" -1с рухнула...
неаккуратненько как-то, доктор...

если жмакнуть на кнопку-картинку - рухнула 1ска...
167 Djelf
 
21.01.17
10:26
(166) Забыл проверить на пустой базе, а без глПросмотрТСЗ я жить не могу.
На w10x64 держится. Эти стили, они такие стили...
В который раз попытка УФ на 7.7 не удалась. Печаль.
168 vcv
 
21.01.17
12:40
(165) "он бежит по тексту внешней обработки определяет зависимости от глобального контекста."
Девичьи мечты. Только для почти типовых конфигураций. Ответственно заявляю, что, к примеру, в моей конфигурации функция, чем-то аналогичная глПросмотрТСЗ тянет только в первичных зависимостях внешнюю компоненту, обработку, четыре справочника и несколько процедур в глобальнике. Которые в свою очередь тянут много чего.
169 Djelf
 
21.01.17
18:18
(166) А какие ВК у тебя загружены? Проверил обработку на wine, раз 300 перегрузил - не упала. А wine очень чувствительный к некорректным действиям.
170 Злопчинский
 
21.01.17
19:04
глПросмотрТСЗ - опубликуйте уже
171 Djelf
 
21.01.17
21:59
(170) Ты до сих пор используешь ВыбратьСтроку()? Не верю!
Такую обработку, обычно пишут сразу после перенумератора справочника ;)

Обновил тестовою обработку по ШК и созданию АФ, добавил глПросмотрТСЗ  и обработки. Там 2 варианта. Один без зависимостей от вк, другой со стандартным набором.
Зависимость Formex 120+
https://cloud.mail.ru/public/2ckv/96jhuEXXQ
172 Djelf
 
21.01.17
22:09
Ха... удалось наконец создать переключатели и флажки.

// Переключатель Если Ид1 то будет первый в группе
АФ=РасширениеФормы.ДобавитьАтрибут(Идентификатор,13,"Число");
АФ.ИзменитьСтиль(АФ.Стиль,?(Прав(Идентификатор,1)="1",1342308361,1342177289));

// Флажок
АФ=РасширениеФормы.ДобавитьАтрибут(Идентификатор,12,"Число");
АФ.ИзменитьСтиль(аф.Стиль,1342308355);

РасширениеФормы.methCtrlInfo() очень помогло!
173 Злопчинский
 
21.01.17
22:18
Открыл обработку, жмакнул на кнопку Инфо(РФ)
4162, <-CCheckGet<-CDocEditGet<-CEditGet<-CGetCtrl<-CCmdTarget<-CObject
4163, <-CPictureGet<-CDocEditGet<-CEditGet<-CGetCtrl<-CCmdTarget<-CObject
CBrowse::m_colArray
тпДанные.ЦветФонаЗаголовков                = "15453831";
{C:\-\ТЕСТШТРИХ02\ТЕСТШТРИХ02\ПРОСМОТРТСЗ_1.ERT(107)}: Поле агрегатного объекта не обнаружено (ЦветФонаЗаголовков)
174 Злопчинский
 
21.01.17
22:20
не, ваши обработки  - вещи в себе, не обосабливаются...
Поставщик     = СоздатьОбъект("ПоставщикДанныхИТ");
{C:\-\ТЕСТШТРИХ02\ТЕСТШТРИХ02\ПРОСМОТРТСЗ_1.ERT(125)}: Неудачная попытка создания объекта (ПоставщикДанныхИТ)
175 Djelf
 
21.01.17
22:22
(173) "4162, <-CCheckGet" это спамит какая то отладка из formex, все норм. Я пытаюсь вытянуть из значения из функций без параметров.
Чего это... 1с++ то у тебя какой версии? Крайняя из мне известных 3.2.4.3 http://www.1cpp.ru/forum/YaBB.pl?num=1332077808
Мде... надо вк`шки вкладывать в комплект.
176 Djelf
 
21.01.17
22:28
И http://www.1cpp.ru/docum/icpp/html/TableField.html#vtextprovider это уже ооочченннь давно...
177 АЛьФ
 
21.01.17
22:30
Маньяки-извращенцы...
178 Злопчинский
 
21.01.17
22:32
(175) в офисе 3.2.4.0 rc2
дома (тренируюсь сейчас) - старая какая-то 2.5...
ща обновлю из офиса
я дома по 1ске на компе уже тыщу лет не прогал сертезно
179 Злопчинский
 
21.01.17
22:37
запустилось! ...

ВключитьФильтр<<?>>()
Процедура не обнаружена (ВключитьФильтр)
ВыключитьФильтр<<?>>();
Процедура не обнаружена (ВыключитьФильтр)
180 Злопчинский
 
21.01.17
22:43
Перегрузить() - валит систему напрочь
если открыть обработку и ничего не делать - то перегружается кучу раз без проблем.
если открыть обработку, тупо сформировать пару-тройку ШК, то примерно 50-50 падает, если не упала - потыкать еще ШК, перегрузить - и ек..
181 Злопчинский
 
21.01.17
22:43
просто может пригодится наведет на правильные мысли
182 Злопчинский
 
21.01.17
22:45
(171) я использую ПечатьТЗ() - вполне хватает,
твою формочку посмотрю может чисто как пример работы споставщиком, что там еще интересного есть?
183 Злопчинский
 
21.01.17
22:47
Вот лучше бы сделали какое-нить расширение для ТЗ - чтобы если строчка не влазит в колонку - чтобы переносилось на след строку в пределах олной ячейки!
184 Djelf
 
21.01.17
22:48
(177) Ну... эээ.... как бы я там РасширениеФормы только в одном месте не по als применяю ;)

(179) А как оно у меня работает? оО
Обнови 1с++ до последней, может из-за нее?
Но возможно из-за гибридизации картинки с кнопкой.
Как бы и мне поймать вылет?
Вопрос про комплект ВК остается в силе!

(182) Да ничего особенно, просмотр как просмотр, но на ТабличномПоле, простенький фильтр, сортировка и выгрузка в йоксель... Все как обычно, что там наворачивать то?
185 Djelf
 
21.01.17
22:52
(183) Для этого есть Йоксель. У него почти нет проблем при установки высоты строки на автомат.
186 Злопчинский
 
21.01.17
23:03
(185) Йоксель - это моксель, а я про ТЗ
187 Злопчинский
 
21.01.17
23:04
(184) глубоко и подробно - это да, сам люблю похоббить...
но не на этой неделе, сорри. угружен в аут...
188 Злопчинский
 
21.01.17
23:06
(184) с табличным поле - оно мне надо, а то забодался на некорасивых ТЗ делать псевдо-списки/журналы.
Но руки все никак не дойдут - и ребята уже скидывали примерчик-шаблон, если в этот вечер/завтра не сделал/не покопался - все! утонуло... а покопаться - надо вдумчиво! чтобы осело в мозгах, а это дня два три... как минимум.. так и маюсь... ;-)
189 Djelf
 
21.01.17
23:15
(188) Я же тебе упрощенный и почти полный шаблон кидал по почте. Где не разберешься - сразу стучи. Кинул скайп...
С тп легче раз не знаю насколько, тз несколько лет не использую вообще.
190 Злопчинский
 
21.01.17
23:21
(189) а вот здесь такой вопросик в сторону немного..

Для регистра

---------------------------------
УстановитьЗначениеФильтра(<?>,,);
Синтаксис:
УстановитьЗначениеФильтра(<Идентиф>,<Значен>,<Вариант>)
Назначение:
Установить значение фильтра для оптимизации расчетов.
Параметры:
<Идентиф> - идентификатор измерения или реквизита.
<Значен> - значение или список значений.
<Вариант> - необязательный параметр. Число: 0 - не фильтровать; 1 - фильтровать по значению; 2 -  искать вхождение. Значение по умолчанию 1. Для варианта ''2'' :
- если параметр <Значен> - это группа справочника, то осуществляется проверка вхождения в группу;
- если параметр <Значен> - это простой элемент справочника или другой тип значения, то осуществляется просто фильтрация по значению;
- для списка значений осуществляется проверка вхождения в список;
- если пустое значение или пустой список значений, то условие не проверяется.
---------------------------------

Вопрос: чем принципиально отличается (по быстродействию) если для измеренйи регистра с типом "Справочник"

вместо
РегО.УстановитьЗначениеФильтра("Номенклатура",ВыбНоменклатура,1);

всегда писать
РегО.УстановитьЗначениеФильтра("Номенклатура",ВыбНоменклатура,2);

- тогда если ВыбНоменклатура = элемент, то сработает по типу =1, если списокзначений, то сработает по типу =2

?

разные запросы будут? с типом=1 просто "сравнение" при выборке данных, а по типу=2 - не просто сравнение со скалярным значением, а "подзапрос" на минитабличку списказначений? или как?

сильно ли падает по быстродействию если для типа=2 в большинстве будет тип=2..?
191 Злопчинский
 
21.01.17
23:22
(189) так я вот жеж говорю.. утонуло.. и не в первы йраз, а как минимум во второй, еще кто-то кидал то ли mike? то ли mikaelw (?)
192 Злопчинский
 
21.01.17
23:25
(190) .. или лучше вместо
РегО.УстановитьЗначениеФильтра("Номенклатура",ВыбНоменклатура,2);

писать

Если ТипЗначения(ВыбНоменклатура)=11 Тогда //справочник
  РегО.УстановитьЗначениеФильтра("Номенклатура",ВыбНоменклатура,1);
Иначе
  РегО.УстановитьЗначениеФильтра("Номенклатура",ВыбНоменклатура,2);
КонецЕсли;

???
193 Djelf
 
22.01.17
00:04
А попробовать? И лучше для этого новую тему...
194 Djelf
 
22.01.17
00:42
(21) Ёпрст. Посмотри РасширениеФормы.methCtrlInfo() оно тз возвращает.
Судя по всему там находятся изначальные параметры создания атрибутов. Я так понимаю что это не АЛьФ делал, поэтому он и не в курсе...
195 Djelf
 
22.01.17
19:22
(180) Ошибка не из-за создания атрибутов.

(0) АЛьФ что-то портится... Вот тест
https://cloud.mail.ru/public/KKmX/GJxc76KDL
Ничего криминально в нем нет, просто создание шк в цикле с выводом в картинку на форме.
ВК только 120й formex, все остальные убрал.

Удалось получить следующие варианты ошибок на 2008R2
1. Сервис.НарисоватьШтрихкод(Картинка,ТипЧислом,ТестШтрихкода,ТекстНаШтрихкоде);
{D:\BASE1C\ALKO_PROLOG\UPDATES\ТЕСТШТРИХ03.ERT(54)}: Возникла критическая ошибка при выполнении процедуры.
2. Вылет по esc при прерывании теста.
3. Вылет после закрытия обработки и попыткой открыть ее заново.
4. Замерзание на коде Если ОткрытьФорму("Отчет.Обработка#",Конт,Обработка)=1 Тогда

На W10x64 все нормально.
196 Злопчинский
 
22.01.17
19:56
(195) а из-за моих кривых рук?
197 Djelf
 
22.01.17
22:43
(196) Руки то тут причем? Ты просто накаркал бяду...
Пока ты не сообщил что падает - все было хорошо ;)
198 Ёпрст
 
23.01.17
08:45
(194) посмотрел. Не совсем то, что нужно.
Да и ладно, поделку на нифостарте всё равно не смогу обновить.
Забанили там меня.
199 АЛьФ
 
23.01.17
10:18
2(195) Вылет по критической ошибке удалось поймать. Вылетает на формировании штрих-кода "Japanese Post". Без него тест прогоняется нормально.
Форма обработки не закрывается после прогона тестов (процесс зависает при закрытии 1С). Сейчас буду пытать при выводе какого типа ШК это случается.
200 vicof
 
23.01.17
10:19
(200)
201 АЛьФ
 
23.01.17
11:02
Кажется нашел в чем проблема. Прошу потестировать: https://yadi.sk/d/ykjNKGbm38jjui
202 Иван Петров
 
23.01.17
12:10
АЛьФ, а можешь запилить в журналах документов при вводе нового документа перехват списка видов документов и подсовывание своего списка?
Нужно это в ситуации, когда ради возможности отбора в журнале приходится для нескольких видов документов делать общий журнал и при вводе нового документа, там видны, естественно, все виды документов конфигурации.
203 Это_mike
 
23.01.17
12:12
(202) перехватывай инсерт, и команду меню
204 АЛьФ
 
23.01.17
12:22
2(202) У меня что-то типа такого сделано. Только это не в журнале, а при открытии формы документа. Как-то так ( в глобальном модуле):

Процедура ПриОткрытииФормыДокумента(
    ФлагСтандартнойОбработки,
    идВидаОткрываемогоДокумента,
    идОткрываемогоОбъекта,
    идТекущегоЖурнала,
    п4,
    идКопируемогоОбъекта,
    идВидаТекущегоВЖурнале,
    флВводНаОсновании,
    идВидаДокументаОснования,
    флРежимПросмотра,
    п10,
    п11,
    п12,
    п13,
    ПараметрФормы)

Только до ума не доведено пока, т.к. функционал у нас пока не внедрялся.
205 Ёпрст
 
23.01.17
12:24
(202) Это можно сделать штатно в любом общем журнале.
И будет работать везде (и по инсерту и по всем меню, в том числе, в контекстном) - короче, вообще везде.
206 АЛьФ
 
23.01.17
12:25
2(205) Вот только может периодически слетать.
207 Ёпрст
 
23.01.17
12:26
208 Ёпрст
 
23.01.17
12:27
(206) неа, никакое обновление мд это не портит. Только ручная правка компаунда.
209 Ёпрст
 
23.01.17
12:33
210 Djelf
 
23.01.17
12:51
(201) Вроде исправилось. Пока не упало. Спасибо!
Странно что то заметил: на терминалке 2008R2 + Xeon 2.9, загрузка процессора показывается почти нулевая и средняя скорость НарисоватьШтрихкод (без отрисовки) 117мс, а на W10+Amd64 3.6 полная загрузка и 30мс. Xeon как бы не в 3 раза медленнее, он кое где даже быстрее в несколько раз.
211 Djelf
 
23.01.17
12:52
(198) А почему не совсем то? Вроде там есть все изначальные данные по создаваемым атрибутам формы. Или чего то нет?
212 Ёпрст
 
23.01.17
12:56
(211) мне в таком формате надо :
{"2","Код","35","1CEDIT","4153","","","Код","-2568","2","5","0","0","0","2","","0","0","","","","0"},

пришлось его ручками писать самому.
213 Иван Петров
 
23.01.17
13:47
(204) Жаль.
Ну если вдруг появится желание — допили, пригодится. :)
214 АЛьФ
 
23.01.17
14:05
2(213) А чего жаль-то? Функционал можно вполне себе использовать. Просто не все атрибуты перехватываемой функции получилось пока опознать, поэтому просто их прописал, как пN. А так-то вполне достаточно данных для решения указанной задачи.
215 Иван Петров
 
23.01.17
14:18
(214) Хм. А с какой версии это работает?
А то у меня в устойчивой конструкции из подпорок и костылей сейчас не самая свежая 2.0.5.92.
216 АЛьФ
 
23.01.17
14:22
2(215) С сабжевой - 115-й.
217 ADirks
 
24.01.17
08:29
Кстати, хотелка.  А можно запилить метод SendCommand(), ну и PostCommand() до кучи?  Например, в объект Окна.  Бывает полезно иной раз.
218 АЛьФ
 
24.01.17
08:48
2(217) И какому окну должны отправляться сообщения?
219 ADirks
 
24.01.17
08:58
(218) главному конечно
WM_COMMAND же врядли имеет смысл ещё кому-то отправлять
220 АЛьФ
 
24.01.17
09:12
2(219) А пожалуйста: https://yadi.sk/d/ykjNKGbm38jjui
221 Vippi
 
24.01.17
09:26
(220) А спасибо ))
Только в als нового не увидел.
222 АЛьФ
 
24.01.17
09:31
2(221) Просто я набросал, но не тестировал, поэтому в als не вписал. Жду результатов испытания на кошках... :)
223 Vippi
 
24.01.17
09:32
(222) Дык скажи, что и как тестировать.
224 АЛьФ
 
24.01.17
09:33
+(222) Просто добавил объекту "Окна" два метода: SendCommand() и PostCommand(). Оба принимают два параметра, соответствующие wParam и lParam. Возвращают результат работы SendMessage/PostMessage.
225 АЛьФ
 
24.01.17
09:35
Упс... Ошибку нашел. Прошу перекачать сборку.
226 АЛьФ
 
24.01.17
09:36
Русские синонимы методов:
SendCommand/ОтправитьКоманду
PostCommand/ПослатьКоманду
227 Злопчинский
 
24.01.17
11:57
(197) то есть я - нежелательный гость в вашем уютном мирке..? ;-)
228 Злопчинский
 
24.01.17
12:01
(217) а что значит послать команду объекту Окна?
пару строк кода как это и для чего можно использовать? чувствую, что вещь нужная, но так как не понимаю что это то стремаюсь
229 Это_mike
 
24.01.17
12:08
(228) Например, переключать активное окно в 1с
230 Злопчинский
 
24.01.17
12:09
В ПДБ (Порядке Дежурного Бреда)
например... сработало внешнее событие, я беру, создаю окно сообщений свое и плюю в него сообщение - оно вываливается на экран.
1. чтобы юзверь мог в этом окне последней строкой (к предыдущим строкам доступа не имеет, может только листать) мог написать сообщение и жмакнуть энтер (типа как в табло можно строки вводить) и это написанное сообщение "вернулось" в объект этого окна и/или породило внешнее сообщение (в качестве источника события - ссылка на окно, имя источника = "окно")

1. сделать настройку чтобы это окно было невозможно закрыть, т.е. сдвинуть в сторону, переключиться в другое окно и штатно работать - можно, а закрыть нельзя - и чтобы этой настройкой можно было рулить программно, т.е. пользюк написал сообщение, энтер, сообщение ушло, внешнее событие отработало, я получил внешнее событие и разблокировал окно или оставил заблокированным.

2. и режим чтобы окно можно было закрыть/невидимым - но оно существует и при необходимости его показать (с содержимым, если только его не очистили программно)

типа я пытаюсь примерно систему оповещений пользюков о происходящих событиях (чат даже может получиться)

пдб

понятно что это все в том или ином виде можно и штатно реализовать... но вдруг...
231 АЛьФ
 
24.01.17
12:23
2(230) Вот для решения подобных задач и задумывалась "плавающая форма". Но что-то это дело так пока и не удалось заставить работать, как хочется.
232 Злопчинский
 
24.01.17
23:50
(231) а будет?
233 Злопчинский
 
24.01.17
23:55
а есть ли какая-нить фича, чтоб переопределить глобально диалог выбора дат(ы) - как пользовательские реквизиты на формах, так и системные (период журнала, например). например на такой http://catalog.mista.ru/public/580048/

???
234 АЛьФ
 
25.01.17
08:44
2(232) Мне самому интересно доделать, но пока не получается. Фиг его знает получится ли вообще.
2(233) Заменить штатный календарь? Или перехватить функцию ВвестиПериод и системный выбор периода в журнале?
235 vcv
 
25.01.17
09:14
(234) А просто перехватывать системные команды? Мечтается не тащить RWidjets в конфигурацию ради единственно перехвата системных кнопок.
236 Это_mike
 
25.01.17
09:18
(235) нельзя отбирать хлеб у RWijets'а! :-)
237 vcv
 
25.01.17
09:21
(236) А я ему хлеба не даю. Электронами да, подкармливаю :)
238 АЛьФ
 
25.01.17
09:23
2(235) Это как должно выглядеть?
239 vcv
 
25.01.17
09:31
(238) При использовании старой версии RWidjets (в новой функционал потерялся) в глобальнике пишется примерно так:
Процедура ПриПолученииКоманды(пКоманда,пЗаблокироватьКоманду) Экспорт
    Если пКоманда=57607 Тогда // Печать
    ИначеЕсли пКоманда=57609 Тогда // Предварительный просмотр
    ИначеЕсли пКоманда=33328 Тогда // Включение и выключение редактирования таблиц
    ИначеЕсли пКоманда=32786 Тогда // Ввод нового
    ИначеЕсли пКоманда=32881 Тогда // Изменение интервала журнала
...
240 Это_mike
 
25.01.17
09:32
(239) ну тогда уж весь функционал в формекс перенести...
241 ADirks
 
25.01.17
09:34
да чё мелочиться, давайте уже WndProc перехватим наконец то  :))
242 Ёпрст
 
25.01.17
09:45
Да-да, и часть функционала миракле тоже неплохо-бы.
243 Это_mike
 
25.01.17
09:46
(242) (241) какую долю рынка операционных систем вы оставите винде и линуксам?
244 АЛьФ
 
25.01.17
09:52
2(239) Это типа перехватывать то, что в (224) отсылается?
245 vcv
 
25.01.17
10:10
(244) Кажется, да
246 АЛьФ
 
25.01.17
10:37
2(245) А пожалуйста: https://yadi.sk/d/ykjNKGbm38jjui

Кстати, кто там хотел отмену вызова помощи по F1? В примере как раз он:

Процедура ПриПолученииКоманды(парам1, парам2)
    Сообщить("ПриПолученииКоманды :: парам1 = " + парам1 + "; парам2 = " + парам2);
    Если парам1 = 57670 Тогда
        СтатусВозврата(0);
    КонецЕсли;
КонецПроцедуры

Процедура ПриПолученииСистемнойКоманды(парам1, парам2)
    Сообщить("ПриПолученииСистемнойКоманды :: парам1 = " + парам1 + "; парам2 = " + парам2);
КонецПроцедуры
247 Это_mike
 
25.01.17
10:38
(246) осталось сделать добавление меню...
248 АЛьФ
 
25.01.17
10:52
2(247) Ловить системную команду и выводить свое меню. Всего делов.
249 АЛьФ
 
25.01.17
11:01
+(248) Хотя да, криво получается.
250 KoBapeH
 
25.01.17
11:25
Добрый день. Обнаружил проблему в методе вызова произвольной функции "ВыполнитьФункцию". При рекурсивном вызове через этот метод, вываливается в критическую ошибку: "Возникла критическая ошибка при выполнении функции." При этом, в старой сборке 1cpp, куда включены методы формэкса все отрабатывает без проблем. Набросал небольшую демку, при которой происходит ошибка. Версия 1cpp 2.0.3.7.

https://yadi.sk/d/1l3ru4or3AnaKc
251 АЛьФ
 
25.01.17
12:46
2(250) А если так?
https://yadi.sk/d/ykjNKGbm38jjui
252 KoBapeH
 
25.01.17
13:30
(251) Да, стало нормально отрабатывать, спасибо.
253 liap_ok
 
25.01.17
13:59
Добрый день. При установке новой версии компоненты FormEx 2.0.5.121 появился небольшой глюк.
При отображении картинки на модальной форме изображение прорисовывается три раза.
Причём это проявляется только в терминале Windows Server 2003.  На локальном компьютере Windows 7 все нормально.
На старой версии FormEx 2.0.5.109 такого не происходит.
254 АЛьФ
 
25.01.17
14:08
2(253) А если попробовать использовать метод из (88)?
255 liap_ok
 
25.01.17
14:17
Так метод ОтключитьОбновлениеПриРаскраске(1) применяется. Причём при открытии не модальной формы всё нормально.
256 НеБорис Нуралиев
 
25.01.17
14:22
(247) Присоединяюсь к просьбе :)

А вообще, большое тебе спасибо, Альф за создание формекса и за то, что до сих пор не бросил. Судя по тому, что тема висит в топе уже не первую неделю, нас клюшечников не так уж и мало!
257 Иван Петров
 
25.01.17
14:27
(204) Я тебя правильно понял, что предполагается в этой процедуре что-то вроде такого кода:
    ФлагСтандартнойОбработки=0;
    //
    спВидов=СоздатьОбъект("СписокЗначений");
    //
    спВидов.ДобавитьЗначение("ПриходныйКассовый");
    спВидов.ДобавитьЗначение("РасходныйКассовый");
    //    
    Зн="";
    Если спВидов.ВыбратьЗначение(Зн)=1 Тогда
        ОткрытьФорму("Документ."+Зн);
    КонецЕсли;
?
Потому как работает и не верю своему счастью. :)
258 АЛьФ
 
25.01.17
14:28
2(255) К сожалению, у меня не видно тройного перерисовывания, т.к. стоит 2008-й терминал. Могу только предполагать в чем причина. Попробуй вот с этой сборкой: https://yadi.sk/d/ykjNKGbm38jjui
259 АЛьФ
 
25.01.17
14:29
2(257) Ну, что-то типа того. Могу свой текст этой процедуры кинуть поковырять.
260 Иван Петров
 
25.01.17
14:36
(259) Ай спасибо тебе, добрый человек, за эту фичу да и за компоненту вообще. :)
Кидай, конечно. Посмотреть всегда любопытно. Можно даже сюда, если код не порвёт сраницу в лоскуты.
Сам же, наверное, попадал в некротемы по какому-либо интересующему вопросу, где ответ на вопрос кроется в таинственном "кинул на мыло" и дальше тишина. :))
261 АЛьФ
 
25.01.17
14:43
Процедура ПриОткрытииФормыДокумента(
    ФлагСтандартнойОбработки,
    идВидаОткрываемогоДокумента,
    идОткрываемогоОбъекта,
    идТекущегоЖурнала,
    п4,
    идКопируемогоОбъекта,
    идВидаТекущегоВЖурнале,
    флВводНаОсновании,
    идВидаДокументаОснования,
    флРежимПросмотра,
    п10,
    п11,
    п12,
    п13,
    ПараметрФормы)
    
    //Сообщить("----------------------------------------------------------
    //    |идВидаОткрываемогоДокумента = " + идВидаОткрываемогоДокумента + "
    //    |идОткрываемогоОбъекта = " + идОткрываемогоОбъекта + "
    //    |идТекущегоЖурнала = " + идТекущегоЖурнала + "
    //    |п4 = " + п4 + "
    //    |идКопируемогоОбъекта = " + идКопируемогоОбъекта + "
    //    |идВидаТекущегоВЖурнале = " + идВидаТекущегоВЖурнале + "
    //    |флВводНаОсновании = " + флВводНаОсновании + "
    //    |идВидаДокументаОснования = " + идВидаДокументаОснования + "
    //    |флРежимПросмотра = " + флРежимПросмотра + "
    //    |п10 = " + п10 + "
    //    |п11 = " + п11 + "
    //    |п12 = " + п12 + "
    //    |п13 = " + п13 + "
    //    |ПараметрФормы = " + ПараметрФормы);
    
    глКодОперацииНовогоДокумента = "";
    
    Если идТекущегоЖурнала = objMetaDataWork.GetMetaDataID(Метаданные.Журнал("Счета")) Тогда
        идВидаОткрываемогоДокумента    = идВидаТекущегоВЖурнале;
        идВидаТекущегоВЖурнале        = 0;
        идТекущегоЖурнала            = 0;
    ИначеЕсли идТекущегоЖурнала <> 0 Тогда
        Найден = 0;
        Для инд = 1 По Метаданные.Журнал() Цикл
            мдЖурнал = Метаданные.Журнал(инд);
            Если идТекущегоЖурнала = objMetaDataWork.GetMetaDataID(мдЖурнал) Тогда
                Найден = 1;
                Прервать;
            КонецЕсли;
        КонецЦикла;
        Если Найден = 1 Тогда
            сзКодыОпераций = СоздатьОбъект("СписокЗначений");
            
            Если Найти("%ЖурналПодчиненных%", " %" + СокрЛП(мдЖурнал.Идентификатор) + "%") <> 0 Тогда
                ФлагСтандартнойОбработки = 0;
            ИначеЕсли мдЖурнал.Идентификатор = "ДокументыМестаХранения" Тогда
                АктивныйКонтекст = "";
                глСервис.АктивныйКонтекст(АктивныйКонтекст);
                РасширениеФормы = СоздатьОбъект("РасширениеФормы");
                РасширениеФормы.УстановитьФорму(АктивныйКонтекст.Форма);
                Если РасширениеФормы.ПолныйТипОбъекта() = "Журнал.ДокументыМестаХранения.Форма.ЗаказНаПроизв" Тогда
                    глКодОперацииНовогоДокумента= глКодОперации("ЗН");
                    идВидаОткрываемогоДокумента    = objMetaDataWork.GetMetaDataID(Метаданные.Документ("ЗаказНаПроизводство_"));
                    идВидаТекущегоВЖурнале        = 0;
                    идТекущегоЖурнала            = 0;
                Иначе
                    //Сообщить(РасширениеФормы.ПолныйТипОбъекта());
                КонецЕсли;
            ИначеЕсли мдЖурнал.Состав.Количество() = 0 Тогда
                Для инд = 1 По Метаданные.Документ() Цикл
                    мдДокумент = Метаданные.Документ(инд);
                    Если мдДокумент.Журнал.Выбран() = 0 Тогда
                        Продолжить;
                    КонецЕсли;
                    Если мдДокумент.Журнал.Идентификатор = мдЖурнал.Идентификатор Тогда
                        сзКодыОперацийДокумента = глПолучитьСписокКодовОперацийПоВидуДокумента(мдДокумент.Идентификатор);
                        Для оп = 1 По сзКодыОперацийДокумента.РазмерСписка() Цикл
                            текКО = сзКодыОперацийДокумента.ПолучитьЗначение(оп);
                            Если текКО.ВводНового = 0 Тогда
                                Продолжить;
                            КонецЕсли;
                            Если сзКодыОпераций.НайтиЗначение(текКО) = 0 Тогда
                                сзКодыОпераций.ДобавитьЗначение(текКО, СокрЛП(текКО.Наименование));
                            КонецЕсли;
                        КонецЦикла;
                    КонецЕсли;
                КонецЦикла;
            Иначе
                Для инд = 1 По мдЖурнал.Состав.Количество() Цикл
                    мдДокумент = мдЖурнал.Состав.Получить(инд);
                    сзКодыОперацийДокумента = глПолучитьСписокКодовОперацийПоВидуДокумента(мдДокумент.Идентификатор);
                    Для оп = 1 По сзКодыОперацийДокумента.РазмерСписка() Цикл
                        текКО = сзКодыОперацийДокумента.ПолучитьЗначение(оп);
                        Если текКО.ВводНового = 0 Тогда
                            Продолжить;
                        КонецЕсли;
                        Если сзКодыОпераций.НайтиЗначение(текКО) = 0 Тогда
                            сзКодыОпераций.ДобавитьЗначение(текКО, СокрЛП(текКО.Наименование));
                        КонецЕсли;
                    КонецЦикла;
                КонецЦикла;
            КонецЕсли;
            
            Если сзКодыОпераций.РазмерСписка() = 0 Тогда
                Возврат;
            ИначеЕсли сзКодыОпераций.РазмерСписка() = 1 Тогда
                знКодОперации = сзКодыОпераций.ПолучитьЗначение(1);
            Иначе
                сзКодыОпераций.СортироватьПоПредставлению();
                
                знКодОперации = "";
                Если сзКодыОпераций.ВыбратьЗначение(знКодОперации, "Выбор операции") = 0 Тогда
                    ФлагСтандартнойОбработки = 0;
                    Возврат;
                КонецЕсли;
            КонецЕсли;
            
            идВидаОткрываемогоДокумента    = objMetaDataWork.GetMetaDataID(Метаданные.Документ(СокрЛП(знКодОперации.ВидДокумента)));
            идВидаТекущегоВЖурнале        = 0;
            идТекущегоЖурнала            = 0;
            
            глКодОперацииНовогоДокумента = знКодОперации;
        КонецЕсли;
    ИначеЕсли флВводНаОсновании = 1 Тогда
        ДокументОснование    = ЗначениеИзСтрокиВнутр("{""O"",""0"",""0"",""" + идВидаДокументаОснования + """,""0"",""0"",""" + идКопируемогоОбъекта + """}"); //глSQLПолучитьОбъектПоID("Документ", "", _IdToStr(идКопируемогоОбъекта));
        коОснования            = СокрЛП(ДокументОснование.КодОперации.Код);
        сзКодыОпераций        = СоздатьОбъект("СписокЗначений");
        мдДокумент            = Метаданные.Документ(ДокументОснование.Вид());
            
        Для ном = 1 По мдДокумент.ВводимыеНаОснованииДокументы.Количество() Цикл
            мдДокументНаОсновании = мдДокумент.ВводимыеНаОснованииДокументы.Получить(ном);
            сзКодыОперацийДокумента = глПолучитьСписокКодовОперацийПоВидуДокумента(мдДокументНаОсновании.Идентификатор, коОснования);
            Для оп = 1 По сзКодыОперацийДокумента.РазмерСписка() Цикл
                текКО = сзКодыОперацийДокумента.ПолучитьЗначение(оп);
                Если сзКодыОпераций.НайтиЗначение(текКО) = 0 Тогда
                    сзКодыОпераций.ДобавитьЗначение(текКО, СокрЛП(текКО.Наименование) + " (" + СокрЛП(текКО.Код) + ")");
                КонецЕсли;
            КонецЦикла;
        КонецЦикла;
        
        Если сзКодыОпераций.РазмерСписка() = 0 Тогда
            Возврат;
        ИначеЕсли сзКодыОпераций.РазмерСписка() = 1 Тогда
            знКодОперации = сзКодыОпераций.ПолучитьЗначение(1);
        Иначе
            сзКодыОпераций.СортироватьПоПредставлению();
            
            знКодОперации = "";
            Если сзКодыОпераций.ВыбратьЗначение(знКодОперации, "Выбор операции") = 0 Тогда
                ФлагСтандартнойОбработки = 0;
                Возврат;
            КонецЕсли;
        КонецЕсли;
        
        идВидаОткрываемогоДокумента    = objMetaDataWork.GetMetaDataID(Метаданные.Документ(СокрЛП(знКодОперации.ВидДокумента)));
        //идВидаТекущегоВЖурнале        = 0;
        //идТекущегоЖурнала            = 0;
        
        глКодОперацииНовогоДокумента = знКодОперации;
    ИначеЕсли идВидаОткрываемогоДокумента = 0 Тогда
    КонецЕсли;
    
КонецПроцедуры // ПриОткрытииФормыДокумента
262 АЛьФ
 
25.01.17
14:43
+(261) Там упор на наши внутренние фишки, но думаю, что общую мысль получится уловить.
263 Иван Петров
 
25.01.17
14:54
(261) Отлично. Спасибо.
До кучи, присоединяюсь к желающим дождаться запила стабильной "плавающий формы". :)
264 vcv
 
25.01.17
15:38
(246) Спасибо. На беглый взгляд работает нормально. Осталось тестировать.
Непонятно, что такое ПриПолученииСистемнойКоманды, когда оно возникает. Можно пояснить?
265 АЛьФ
 
25.01.17
15:47
2(264) Это перехват сообщения WM_SYSCOMMAND. Когда возникает и какие параметры принимает можно тут почитать:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms646360(v=vs.85).aspx
266 trad
 
25.01.17
15:50
WM_PAINT еще надо перехватить
267 Базис
 
naïve
25.01.17
15:54
Спасибо за FormEx, сколько лет знаю про него, столько же радуюсь!
268 АЛьФ
 
25.01.17
15:55
2(267) На здоровье!
269 АЛьФ
 
25.01.17
16:27
Модераторы, а может кто-нибудь подправить заголовок темы? Уже 123-й релиз выложен за время жизни темы.
270 liap_ok
 
25.01.17
17:26
(258) Спасибо. Частично помогло. При выводе картинки в модальную форму через функцию в реквизите текст или кнопку на форме, перерисовка исчезает. В случаях вывода картинки через процедуры ПриОткрытии(), ПослеОткрытия() или ПослеСозданияФормы() перерисовка происходит после выполнения этих процедур. Со старой версией, при всех вариантах, перерисовка не наблюдается.
271 alyuev
 
26.01.17
00:08
(98) Это ты мою поделку качал по работе со стилями. Брал отсюда http://www.1cpp.ru/forum/YaBB.pl?num=1345736013/4#4.

А вообще смотрю такая жара пошла, когда Альф вернулся.... И столько вкусностей появилось....
272 Djelf
 
26.01.17
00:12
(271) Ага, оно! И кстати по твоей теме...
ПриОткрытиФормы
аф.УстановитьЗависимыйПараметр(192); // не прозрачный
аф.УстановитьЗависимыйПараметр(65728); // прозрачный
Потом уже не работает ;(
273 alyuev
 
26.01.17
01:09
(246) В свое время делал перехват с помощью класса chessman, немного модифицированного: http://www.1cpp.ru/forum/YaBB.pl?num=1359569054/80#80

Так что помимо RWidjets еще и без классов это можно будет сделать. Только класс chessman еще умеет скрывать ненужные кнопки из системного тулбара.

И я так понимаю, что с помощью отправки системных команд SendCommand можно, например, будте вывести список пользователей в режиме предприятия и редактировать его? Т.е. делать то, что мы делали с помощью WinAPI:

Процедура ОткрытьСистемноеОкно(КодОкна=32854) Экспорт //Получить номер команды можно с помощью метода ПриПолученииКоманды() ВК RWidjets //+Al 2014-07-11 11:33:15
    ТекстМодуля = "
    |Public Const WM_COMMAND = &h111
    |Public Sub GetUsersWindow()
    |    Set Wrap = CreateObject(""DynamicWrapperX"")
    |    Wrap.Register ""USER32"", ""GetForegroundWindow"", ""f=s"", ""r=l""
    |    Wrap.Register ""user32"", ""SendMessage""     ,  ""i=hull""    , ""r=l""
    |    Res = Wrap.SendMessage(Wrap.GetForegroundWindow(), WM_COMMAND, "+КодОкна+", 0)
    |End Sub";
    мScrptCtrl = СоздатьОбъект("MSScriptControl.ScriptControl");
    мScrptCtrl.Language = "vbscript";мScrptCtrl.AddCode(ТекстМодуля);
    мScrptCtrl.CodeObject.GetUsersWindow();
КонецПроцедуры

Здесь 32854 - как раз команда открытия окна пользователей
274 alyuev
 
26.01.17
01:26
(272) Немного обновленная версия примера стилей: https://yadi.sk/d/grF78Qp13Av7oF
275 ADirks
 
26.01.17
08:25
С пользователями прикольно конечно, но после сохранения списка слетают параметры связи с SQL. Типа, несанкционированный доступ.
276 Это_mike
 
26.01.17
08:56
(275) опередил :-)
а так, RWidgets'ом этот пункт нормально включается и в режиме предприятия. Посмотреть
277 АЛьФ
 
26.01.17
08:56
2(271) Забавно, что новый релиз FormEx делался в том числе и для создания плоских кнопок. Только я делал на основе картинок, т.к. они мне нужны были для создания видимости тулрара. И для этого даже класс написал: https://yadi.sk/d/tU_ULcha3AxJxK
278 АЛьФ
 
26.01.17
09:04
2(275) Для восстановление dba можно сделать примерно так:
Сервис.УстановитьХэшПароляПользователя("Пользователь", Сервис.ПолучитьХэшПароляПользователя("Пользователь"));
279 АЛьФ
 
26.01.17
09:06
2(270) А если вот так?
https://yadi.sk/d/ykjNKGbm38jjui
280 ADirks
 
26.01.17
09:17
Наконец-то добрался до SendCommand. Оно таки работает, как мне давно надо было :)
Изврат примерно такой (вдруг пригодится кому)


Процедура Таймер_Поиск() Экспорт
    оТаймер_Поиск.Остановить();
    оТаймер_Поиск.УдалитьОбработчик();
    оТаймер_Поиск = Неопределено;
    
    //оСервис = СоздатьОбъект("Сервис");
    //оСервис.ЭмулироватьКлавиатуру("^{INS}", 1, 1);
    cmdCopyToClipboard = 123170;
    оОкна = СоздатьОбъект("Окна");
    оОкна.SendCommand(cmdCopyToClipboard, 0);

    ОткрытьФорму("Обработка.обрПоиск");
КонецПроцедуры

Процедура СобытиеГМ_ПриНажатииКнопкиКлавиатуры(Конт, КодКлавиши, Alt, Shift, Ctrl, Символ, ФСО) Экспорт
    Модификаторы = МодификаторыКлавиатуры(Alt, Shift, Ctrl);
    
    Если КодКлавиши = VK_F5 Тогда
        Если Модификаторы = 0 Тогда
            ФСО = 0;
            
            оТаймер_Поиск = СоздатьОбъект("Таймер");
            оТаймер_Поиск.ЗадатьОбработчикВОбъекте(Сам(Контекст), "Таймер_Поиск");
            оТаймер_Поиск.Запустить(30);
            Возврат;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
281 liap_ok
 
26.01.17
10:19
(279) Спасибо. Помогло. Перерисовки не наблюдается во всех вариантах из (270).
282 АЛьФ
 
26.01.17
10:23
2(281) Теперь надо понаблюдать не будет ли на некоторых системах возникать артефактов отрисовки на модальных окнах.
283 liap_ok
 
26.01.17
10:29
(282) Хорошо. Понаблюдаю. Если замечу, отпишусь.
284 ТочноеЯдро
 
26.01.17
18:06
(0) Снимаю щляпу !
Спасибо большое и с юбилеем :)
285 Duke1C
 
26.01.17
19:06
(282) Альф, красавчик!
(284) +100500
Ждем-с новых плюшеу
286 Duke1C
 
26.01.17
19:07
+ (285) плюшеу=плюшек, естественно
287 АЛьФ
 
27.01.17
12:38
2(284)(285) Спасибо.
288 Это_mike
 
27.01.17
12:39
"формекс неисчерпаем, как атом"©В.И.Ленин :-)
289 Ёпрст
 
27.01.17
12:42
Был еще древний артефакт, при ПКМ, когда своё меню открываешь, оно появлялось не там, где надо.
Это исправил чессман в дюнаврап. Блин, надо вспомнить хотелку.
290 АЛьФ
 
27.01.17
12:52
2(289) При привязке к реквизиту?
291 Djelf
 
28.01.17
22:44
(0) АльФ, вот интересно, а WM_VSCROLL можно перехватить?
При установке стиля оно на экране есть, подсвечивается и тыкается...
Не то чтобы оно было сильно надо, какие то мысли как использовать есть, но поскольку не перехватывается то и продумывать их дальше не интересно ;)
292 АЛьФ
 
30.01.17
09:40
2(291) Это же надо будет не только у главного окна сообщения отлавливать. Боюсь, слишком запарочно выйдет.
293 trad
 
30.01.17
13:58
(291) "какие то мысли как использовать есть" в двух словах можно?
294 KoBapeH
 
30.01.17
14:21
Вопрос к автору: проблема совместимости с Teamviewer будет как-то решаться? Просто сегодня опять столкнулся с тем, что на компе с запущенным TW при запуске падала платформа. Причем падала ровно в момент регистрации Формэкса. После смерти процесса TW, всё заработало. Вроде как это довольно частая проблема.
295 АЛьФ
 
30.01.17
14:28
2(294) Вроде как проблема не со стороны FormEx, а со стороны TW. И обходи этого бага давно уже придумали: http://www.1cpp.ru/forum/YaBB.pl?num=1298298646/16#16
296 Djelf
 
30.01.17
14:58
(293) Первое что в голову приходит - листать списки постранично. Сильно не задумывался над этим...
297 vcv
 
01.02.17
07:21
(246) Проблемка выявилась. Перехватываются события главного меню и главной панели инструментов. А панели инструментов дочернего окна - нет. Например, не перехватывается пиктограмма периода журнала в окне журнала документов.
Можно с этим что-то сделать?
298 АЛьФ
 
01.02.17
09:17
2(297) Перехватываются только сообщения, посылаемые главному окну. Перехват сообщений дочерним окнам так просто сделать не получится.
299 Vippi
 
01.02.17
09:19
(231) Кстати, ПлавающаяФорма нехорошо работет только для ert (не разрушается окно после закрытия).
Для обработки в составе md все нормально.
Даже более чем - можно открыть одновременно несколько плавающих форм.
300 АЛьФ
 
01.02.17
09:19
+(298) потому что (219).
301 АЛьФ
 
01.02.17
09:20
2(299) Там жутко кривой код. Мне он очень-очень не нравится. Надо полностью переделывать.
302 АЛьФ
 
01.02.17
09:21
Кстати, может кто в курсе решения проблемы с 1С++?
http://www.1cpp.ru/forum/YaBB.pl?num=1485841925
303 Vippi
 
01.02.17
09:27
Алексей, а почему в плавающей форме не работает ПослеЗакрытия?
Когда-то вроде работало.
304 АЛьФ
 
01.02.17
09:37
2(303) Фиг его знает. Вроде не трогал давно уже.
305 vcv
 
01.02.17
09:50
(298) Жаль. Фокус обломался, не удастся избавиться от RWidjets. Тогда такой вопрос. И у FormEx и y RWidjets оно наименование процедуры в глобальнике - ПриПолученииКоманды. Только параметры разные. Конфликтов каких-то не будет? Работает вроде без проблем с обоими компонентами одновременно.
Но вдруг что-то незамеченное есть?
306 АЛьФ
 
01.02.17
09:52
2(305) Тупанул. Сейчас переименую в ПриПолученииКомандыГлавнымОкном().
307 Vippi
 
03.02.17
09:21
(0) С днем рождения, Алексей!
Удачи в бизнесе и удовольствия в сексе!
308 АЛьФ
 
03.02.17
09:34
2(307) Спасибо :)
309 vcv
 
03.02.17
10:26
(308) Присоединяюсь к поздравлениям.
Не будет слишком большой наглостью с моей стороны напомнить про (306)?
310 Ёпрст
 
03.02.17
11:40
(302) ConfStat умеет
311 Ёпрст
 
03.02.17
11:40
или GetConfMessages
на нимфостарте валяется
312 Ёпрст
 
03.02.17
11:41
Если я правильно понял, что тебе нужно
313 АЛьФ
 
03.02.17
12:39
2(309) Спасибо.
Название процедуры тогда же исправил.
314 АЛьФ
 
03.02.17
12:41
2(310)(311)(312) Неправильно понял. Мне нужно чтобы класс не вызывали такого подвисания, а не читать сторонней прогой содержимое окна сообщений. Это я могу и в FormEx сделать.
315 trdm
 
03.02.17
13:03
АЛьФ  , с Днем рождения!
316 vcv
 
03.02.17
13:12
(313) Спасибо. Тупил, думал, что опять на ЯДиске будет выложена.
317 АЛьФ
 
03.02.17
13:13
2(315) Спасибо.
318 Ёпрст
 
03.02.17
13:18
(314) ага, посмотрел твой тест на пустом мд-нике на 2012 серваке. Белый "туман" и не лечится :(
319 Ёпрст
 
03.02.17
13:24
Урра!
Я подебил.
Короче, пихай свой класс в ert, а не в текст, и всё работает.
ЗЫ: ещя я void выкинул из объявления класса, вот так теперь:

класс Тест = Тест1.ert{};
320 АЛьФ
 
03.02.17
13:50
2(319) Это не победил, а обошел. Это никак не решает ту же проблему с "ВыполняемыйМодуль".
321 Ёпрст
 
03.02.17
14:28
(320) ну, там же была возможность в классе достучаться до атрибутов самой формы. И разные теги для препроцессора.
Видать из-за этого разное поведение.
322 Ёпрст
 
03.02.17
14:29
Аналогично было, если натягивать активикс на разные контролы - на текст или на кнопку. В каком то из этих методов события от контрола не обрабатывались
323 Ёпрст
 
03.02.17
14:29
в самом классе
324 АЛьФ
 
03.02.17
14:38
2(321) Давай на форуме 1С++ на эту тему общаться.
325 Djelf
 
04.02.17
15:38
(0) Вылетает на 115-124 при открытии Операции/Типовые операции и Сервис/Табло счетов.
Если открыть план счетов и не закрывать, то они могут открываются без вылета. Конфигурация Комплексная Демо с загрузкой только formex.
На 111й вылета нет.
326 Z1
 
05.02.17
15:44
(273, 275) Есть eze файл (автор я )который после изменения
файла пользователей user.usr восстанавливает параметры
sql соеденения с базой 1с sql.

написан давно, исходники на С потеряны, но работает.
могу куда либо выложить, если нужно.
327 АЛьФ
 
06.02.17
09:24
2(325) Можно порядок действий для вылета по шагам?
328 Djelf
 
06.02.17
10:38
(327) Выбираю пункт в меню после запуска и 1с сразу падает.
Хм... под Wine не падает. Только на W10x64.
329 АЛьФ
 
06.02.17
10:40
2(328) В терминале на W2008 не падает.
330 Djelf
 
06.02.17
10:47
Мне это не критично. Не использую. Случайно туда ткнул. Неизвестно где еще может вылезти...
Может неизвестные параметры в КопироватьОбъект в этих окнах как то используются?
331 Djelf
 
08.02.17
21:27
(329) Разобрался почему падает. Сервис/Интерфейс/Шрифты
Какое то сочетание и вызывает вылет. В 2008r2 повторить пока не удалось.
332 Black Kat
 
09.02.17
00:55
АЛьФ, а что нового в версии 2.5.0.124, которая выложена на сайте ? Или номер версии неверный ?
333 АЛьФ
 
09.02.17
08:37
2(332) Все, что описывалось в этой ветке.
334 Злопчинский
 
12.02.17
13:39
АЛьФ, а что посоветуешь в такой ситуации:

//********************************************************************************************************************************
//
Процедура ПослеОткрытия()

    КодШрифт = глСервис.СоздатьШрифт("WebНетТакого Serveroff",32,7); //здесь заведомая ошибка в имени шрифта    
    Если ПустоеЗначение(КодШрифт)=1    Тогда //попытка как-то понять создался или нет...
        Сообщить("не удалось!"); //не отработает этот код
        КодШрифт = глСервис.СоздатьШрифт("Arial Narrow",28,7);
    КонецЕсли;
    Сообщить("создан шрфит="+КодШрифт);
    глРасширениеФормы = СоздатьОбъект("РасширениеФормы");
    глРасширениеФормы.ПолучитьАтрибут("ТЗформа").Шрифт    = КодШрифт;

КонецПроцедуры    //ПослеОткрытия()


- при неверном имени шрифта всё равно возвращается како-йто код.
как можно понять, что шрифт не создался или хотя бы создался, но не тот, который заказывал?
335 АЛьФ
 
13.02.17
10:56
2(334) Боюсь, что мне неизвестна метода определения. Там же просто с переданными параметрами вызывается апишная функция CreateFontIndirect(). А она в случае ошибки названия просто подбирает первый попавшийся шрифт, подходящий под остальные параметры.
336 Mr_Rm
 
13.02.17
11:27
(335) Можно вызвать GetTextFace() для полученного шрифта и сравнить с заказанным.
337 АЛьФ
 
13.02.17
13:53
2(336) Тогда уж надо полноценную работу со шрифтами делать. Или хотя бы нормально проверять при создании, что есть шрифт с таким наименованием.
338 Злопчинский
 
13.02.17
17:03
(337) ...и?
339 АЛьФ
 
14.02.17
09:10
2(338) Боюсь, что не сейчас.
340 Злопчинский
 
14.02.17
15:15
(339) ..пичалька...
341 Злопчинский
 
16.02.17
00:47
качаем с сайта
последняя версия = 124 (так указано)
распаковываем

FormEx.id = 2.0.5.115 - ???
все-таки наверное 124, так как в свойствах DLL = 124

внутри есть папочка Documents - это что?

als внутри Documents МЕНЬШЕ размером чем als в корне - какой брать?

doc внутри Documents БОЛЬШЕ размером чем doc в корне - какой брать?
342 Злопчинский
 
16.02.17
00:55
doc внутри Documents относится к версии версия 2.0.5.0
doc в корне относится к версии версия 2.0.2.0
!!- ладно, берем doc и chm из Documents!!

скорее всего и als надо брать тоже из Documents?
- а вот фиг вам!
это из als который в корне:
{"Item","AST","Версия 2.0.5.121","Версия: 2.0.5.121",

а это из als который в Documents:
  {"Item","AST","Версия 2.0.5.93","Версия: 2.0.5.93",

получается что надо брать als из корня..?

но тут начинает паранойя грызть вообще все вусмерть? может в Documents написано Версия 2.0.5.93 - а на самом деле там другое? какое нить .123 или 124.?
343 Злопчинский
 
16.02.17
00:55
Итого вопрос:
как собрать НОРМАЛЬНУЮ АКТУАЛЬНУЮ сборку?
что откуда брать?
344 Злопчинский
 
16.02.17
01:00
похоже что als надо брать из корня
345 Злопчинский
 
16.02.17
01:03
chm похоже вообще устаревший вусмерть? (еще из состава когда формекс был внутри 1С++?)
346 Злопчинский
 
16.02.17
01:07
в Documents усть файлики INTS - пустые... (может так и надо?)
в телепате лежат аналогичные файлики но непустые - что делать?
347 Злопчинский
 
16.02.17
01:12
Поставил 124 в рабочую базу.. посмотрим, не обматюкают ли меня... завтра...
348 АЛьФ
 
16.02.17
08:44
Значит так... Я в файл с архивом, который с незапамятных времен выложен на сайте, просто добавил новую сборку dll и исправленный als. Все в корне архива. Изначально файл id в архиве тоже подправлял, но потом забил на это. Следовательно. Из архива имеет смысл брать именно саму компоненту и als. Из корня архива. Остальное для солидности там оставлено.
Как-то так...
349 Злопчинский
 
16.02.17
10:00
(348) Ок, учтем.
Однако проблема не в этом
заменил вчера вечером сборку 109beta на 124.
С утра меня обматюкали, даже хуже - просто подняли ото сна ;-)

работаем с 124 сборкой, на попытки запуска внешних обработок выдает "недостаточно прав доступа"

повыгонял всех, откатился на сборку 109beta, на попытки запуска внешних обработок - все нормально.

Права доступа стоят такие:
https://content.screencast.com/users/Che66/folders/Jing/media/4ffc1a02-52e2-431e-81be-2ed41849605a/2017-02-16_0940.png

Запуск внешних обработок идет из _подкаталога_ ExtForms (путь может быть несколько уровней папок)

Глобальных формексовских предопределенных ПриЗагрузкеВнешнегоОтчета - не используется

Итого: ???
350 Злопчинский
 
16.02.17
10:01
что-то не так или я страшно тупой
351 Это_mike
 
16.02.17
10:28
(349) не наблюдаю подобного...
ЧЯНТД?
352 Злопчинский
 
16.02.17
10:30
о, еще что откопал в als
РазрешитьОткрытиеОкна() - теперь, получается, можно не извращаться с ложным закрытием формы..?
353 Злопчинский
 
16.02.17
10:30
(351) да вот тоже.. копаюсь, тестирую.
354 Злопчинский
 
16.02.17
10:36
еще бы что-то типа было бы

ВсегдаПозционироватьФокус(имяАтрибутаФормы)
то есть типа
есть форма, на ней ТЗ, кнопки и полеввода - и вот хотим чтобы при энтере в поле ввода отрабатывала формула и курсор чтобы оставаляс в этой же поле ввода...
355 Злопчинский
 
16.02.17
10:53
(351) непонятно...
воспроизвести не удается.
но я больше нифига вообще не делал.
заменил формекс на старый и все.
непонятно..
спишем (пока) на барабашек
или на мою тупизну (что более вероятно ;-)
356 Vippi_
 
16.02.17
11:44
(352) > РазрешитьОткрытиеОкна()

Это где ты такое нашел? Я что-то не нахожу.
357 Djelf
 
16.02.17
11:59
(355) Есть такая странность, при снятой в правах галке использование любых обработок, переделал вызов обработок на Задача.Выполнить проблема ушла.
И действительно оно странность т.к. какие то вложенные в подкаталоги в ExtForms обработки запускались, а какие то нет.
358 tgu82
 
16.02.17
12:06
(100) Никак не получается сделать название колонок ТЗ в две строки.
Процедура ПослеОткрытияФормы()          
РФорм=СоздатьОбъект("РасширениеФормы");
РФорм.ВысотаЗаголовкаТаблицы("ТЗФорм",2);        
КонецПроцедуры          

Не хочет работать. ТЗФорм формируется после выбора группы номенклатуры, наименования колонок от группы к группе меняются, после в приоткрытии() я не пользуюсь
359 tgu82
 
16.02.17
12:11
(358)+ АЛЬФ - это к Вам вопрос
360 АЛьФ
 
16.02.17
13:57
2(358) Это метод наоборот, чтобы при установке положения строк  "в той же колонке" можно было заголовок урезать до нужной высоты.
Можно попробовать добавить несколько невидимых колонок и поставить им положение "в той же колонке". Тогда шапка раздвинется на несколько строк. Но и высота строк будет соответствующей.
361 tgu82
 
16.02.17
14:09
(360) Спасибо. Но вроде как нет в программных параметрах колонки тз возможности указать "в той же колонке"
362 tgu82
 
16.02.17
14:12
(360) Я в нескольких случаях делал - получалось. Я понял почему вроде - у меня мия колонки было без разделителя строк, а надо с разделителем
363 tgu82
 
16.02.17
14:32
(360) Работает как часики - супер!!!
364 Злопчинский
 
16.02.17
14:34
(357) вот! то есть я не совсем тупой...
365 Злопчинский
 
16.02.17
14:36
(361) ну, формекс же позволяет колонки одной ТЗ располагать друг под другом...
366 serpentt
 
17.02.17
09:57
(0) Здравствуйте, что я делаю не так???

Процедура на кнопке не отрабатывает "ОкноСообщений". Окно сообщений молниеносно Появляться и пропадает.

Перем Окно;
//*******************************************
Процедура Сформировать()
    
    
    Попытка
        Окно = СоздатьОбъект("ОкноСообщений");
        Окно.ПодключитьСистемноеОкноСообщений();
        Окно.Парковать(4);
        Окно.Видимость(1);
        Окно.Сообщить(ТекущееВремя(),6);
        Окно.Сообщить(ТекущаяДата(),9);
    Исключение
        Сообщить("1 "+ОписаниеОшибки());
        
    КонецПопытки;
        
    
КонецПроцедуры
367 serpentt
 
17.02.17
09:59
Если проинициализировать создание объекта "ОкноСообщений" в процедуре ПослеОткрытия() то окно сообщения начинает корректно работать...
368 АЛьФ
 
17.02.17
10:31
2(366) Хм... У меня все работает. Какой релиз компоненты грузится?
369 serpentt
 
17.02.17
10:41
(368) 2,0,5,124
370 serpentt
 
17.02.17
10:55
2 (368) После нескольких перезагрузок и перерегистрирования новой версии компаненты, ЗАРАБОТАЛО.
Извиняйте за беспокойство. Видно чтото может "старое" мешало :(
371 MWWRuza
 
гуру
19.02.17
18:23
Добрый день!
Извиняюсь, если уже обсуждалось...
Задача: Из документа, по началу редактирования строки, вызывается модально форма обработки. В ней, есть процедура ОбработкаВнешнегоСобытия(), для работы сканера по COM-порту. При некоторых условиях, надо из этой формы создавать новый элемент справочника, методом ОткрытьФорму(), или ОткрытьФормуМодально(), без разницы. В форме открытого нового элемента справочника, помимо всего прочего, надо ввести ШтрихКод. Соответствующая процедура в модуле формы справочника тоже есть. Но, она не отрабатывает, потому, что фокус перехвачен предыдущей формой обработки, открытой раньше.
Сейчас я решаю это записью элемента справочника и закрытием обработки, с последующим автоматическим открытием вновь записанного элемента справочника для ввода ШК.
Работает... Но, все это как-то криво... Чувствую, что можно с помощью FormEX сделать все красивее, но, пока не пойму как. Если есть такая возможность, ткните носом плиз...
372 Злопчинский
 
19.02.17
20:31
(371) вводи ШК в обработке и выполняй все действия нужные в обработке. если нужно участие человека причем через работу в открытой форме элемента справочника - ну тут уж никак иначе...
373 doctorzlo
 
22.02.17
10:14
1С77 код в ГМ:

СервЕ=СоздатьОбъект("Сервис");
СервЕ.ПоказыватьИндикаторКлавиатуры(1);            СервЕ.ОбработкаОжидания("ПораЗакрывать1С",600000);
СервЕ.РежимКонфигуратораУСообщений(1);

Всё вроде бы хорошо и отлично, но при "Удаление помеченных объектов...", у меня более 80000 было т.к. базу "сворачивал", 1С закрывается с ошибкой ближе к концу процесса удаления, если убрать строку СервЕ.РежимКонфигуратораУСообщений(1);
то проблем нет... С БД и данными в ней а так же с MD всё хорошо...
374 Ёпрст
 
28.02.17
09:35
(373) Отключи ЖР на время удаления, удалишь раз в 10 быстрее.
375 doctorzlo
 
28.02.17
10:37
ЖР тут вообще не причём, проблема, хотя и не принципиальная, в реализации свойства замечательного РежимКонфигуратораУСообщений этой версии DLL. Потратил некоторое время пока определил что ошибка "...память не может быть..." с закрытием 1С7.7 при удалении пом. объектов вызвана этой компонентой...
376 Злопчинский
 
28.02.17
12:10
(374) а как отключать ЖР? (ни разу не прибегал, ибо не такие объемы обработки)
377 Это_mike
 
28.02.17
12:10
(376) в пофигураторе
378 Ёпрст
 
28.02.17
12:40
(375) ты не поверишь, но он съедает всё время в момент удаления помеченных объектов.
379 Black Kat
 
03.03.17
14:04
Сделал с помощью Formex раскраску строк в справочнике Номенклатура в ТиС 9.2 новым способом. Перестал автоматически фокусироваться курсор на найденном объекте. До добавления раскраски, при входе в подбор и нажатии кнопки "Поиск", товар находился. При двойном клике на найденной позиции, открывалось окно ввода количества и цены. Если в нем нажать "отмена" и закрыть поиск, то подсвечивалась строка найденного товара. Теперь же подсветка не происходит, при этом строка с найденным товаром видна на экране. Но стоит перед поиском выделить любую позицию в таблице, то поиск происходит нормально.
Где может быть ошибка ?
380 Злопчинский
 
03.03.17
17:32
(379) скорее всего просто не прорисовывается курсор. попробуй просто там где проблема "передернуть" стрелками вверх-вниз
381 Злопчинский
 
03.03.17
17:34
(379) это также свидетельствует что фокус после поиска не стоит на табличной части.

у меня похожая проблема. была стандартная многострочная часть справочника. вктивная ячейка всегда подсвечивалась. но когда применил раскраску текущей строки - то если фокус не на МнЧ - то синенкого курсора ячейки не видно...
382 Black Kat
 
03.03.17
21:20
(380) Ну это и есть многострочная часть справочника в подборе. Вверх-вниз подвигал клавишами, фига, не подсвечивается строка. Скорее всего, действительно, нужно фокус устанавливать при открытии формы подбора. Как это можно автоматизировать ?
383 KoBapeH
 
07.03.17
17:18
Добрый день. Замечен ещё один глюк. На работу, в принципе, не влияет, просто не очень приятно и создает некоторые неудобства:
иногда при работе во внешней обработке, при начале растягивания размера окна, слетает переключение курсора обратно на стрелку. В итоге, курсор бегает в виде последнего изменения, например двухсторонняя стрелка, которая ставится  при изменении размера окна, сам обратно не переключаясь. При этом, изменение курсора на другие события отрабатывает и так же "запоминается". И это потом сохраняется до перезапуска платформы. Появилось в новом Формэксе, в старом не повторяется.
384 Злопчинский
 
07.03.17
18:57
(382) порядком следования реквизитов на форме
385 KoBapeH
 
09.03.17
15:14
Я дико извиняюсь, проблема оказалась в некорректно прописанной установке курсора предыдущим погромистом, формэкс работает как надо!
386 Злопчинский
 
09.03.17
15:28
(385) "погромист" - это прямо в точку!!!
387 KoBapeH
 
09.03.17
15:49
UPD Похоже, нашёл в чем проблема: штука в том, что мануале написано для отключения установки курсора нужно ничего не передавать, но в примере указано:
"Сервис.УстановитьКурсор(0);". И так, как такого значения судя по всему нет, то курсор подвисает. Считаю, что в данном случае, пример надо бы поправить на "Сервис.УстановитьКурсор();", так как многие просто копируют из образца, или в самом Формэксе прописать 0 как отключение.
Демка проблемы: https://yadi.sk/d/43548hmE3FMHaN
388 KoBapeH
 
09.03.17
15:52
Да, забыл добавить: глюк проявляется в любой версии формэкса, его почему-то нет только с в сборке с 1cpp.
389 АЛьФ
 
09.03.17
16:22
2(387) Да, ноль в первом параметре - это означает, что во втором параметре передан HCURSOR в числовом виде.
Вообще никак в документации этот момент отражение не нашел :(
390 Black Kat
 
09.03.17
18:20
(384) не стал заморачиваться с обходом, добавил в конце процедуры ПриОткрытии() строку Активизировать("Наименование",0)
391 Злопчинский
 
05.04.17
02:33
У кого как работает? какая версия?
392 Aleksey
 
05.04.17
02:44
АЛьФ
Если не сложно опиши процедуру подключения компоненты в терминале для 100+ пользователей.
Т.е. что отключить в компоненте и лучше не использовать, чтобы компонента не грузила сервак в сотку и не тормозило работу. (ну типа опрос клавиатуры/мышки, раскраску...)

Или лучше не экспериментировать?
393 Злопчинский
 
05.04.17
02:59
Альф,
1. PNG удалось вделать?
2. удалось победить сообщение/проблему с правами доступа из подкаталога экстформс?
394 АЛьФ
 
05.04.17
09:44
2(392) Тут надо по месту смотреть. У нас, например, у некоторых пользователей все нормально, а у некоторых какие-то бяки непонятные всплывают, которые никак не отловить.
Так что только экспериментально можно выяснить. Но, как минимум, при загрузке компоненты отключать все, и включать нужный функционал только на нужных рабочих местах.
395 АЛьФ
 
05.04.17
09:45
2(393) У нас у генерального забил фонтан фантазии и пришлось пока все доработки опять отложить.
396 ЛюбопытнаяЯ
 
11.04.17
14:38
Добрый день. Подскажите, пожалуйста. Может что-то неправильно делаю... Падает 1с при раскраске табличной части документа, если создаю шрифт, например, жирный. И только если строк разукрашенных больше 10-15. Код примерно такой:

//***************************************************************************************
Функция РассчитатьЦветСтроки(Ном)
    ЗначениеВозврата="";
    
    МойШрифт="";    
    ЦветШрифта="None";
    Если ВидПоступления=1 Тогда
        ЦветШрифта=RGB(255,69,0);
        Сервис=СоздатьОбъект("Сервис");
        МойШрифт="FONTSET["+Сервис.СоздатьШрифт("MS Sans Serif",10,8,0,0,0)+"]";
    КонецЕсли;    
    
    ЦветФона="None";
    Если ПерЦена>ЦенаСтарая Тогда
        ЦветФона=СокрЛП(Строка(ЦветПометкиКрасный));
    ИначеЕсли ПерЦена<ЦенаСтарая Тогда
        ЦветФона=СокрЛП(Строка(ЦветПометкиЗеленый));
    КонецЕсли;
    
    Если МойШрифт="" Тогда
        ЗначениеВозврата="FONT["+ЦветШрифта+"] BRUSH["+ЦветФона+"] COUNT[12] INDENT[0]";
    Иначе
        ЗначениеВозврата="FONT["+ЦветШрифта+"] BRUSH["+ЦветФона+"] "+МойШрифт+" COUNT[12] INDENT[0]";
    КонецЕсли;    
    Возврат ЗначениеВозврата;
КонецФункции
//*****************************************************
397 Масянька
 
11.04.17
15:16
Кстати, может АЛьФ тут и не при чем, но я спрошу: при закрытии нескольких окон в конфигураторе (не всегда, когда много) вылазит:
Run-time error '-(2147467259 (80004005)':
Окно с HWND=000C05C4 не существует

Это почему?
398 Масянька
 
11.04.17
15:19
+ (397) Окна закрываются. Кстати.
399 АЛьФ
 
11.04.17
15:29
2(396) Шрифт надо создать только один раз и запомнить в переменной. При выходе из 1С не забыть его уничтожить.
2(397) Ну, Конфигуратор - это явно не FormEx. Скорее всего, что-то из плагинов к Openconf шалит.
400 Масянька
 
11.04.17
15:30
(399) Ясно... И кто виноват? :)
401 trad
 
11.04.17
15:31
(397) скрипты по-выпиливай ненужные...
а потом нужные, по одному
найдешь глючный
402 Масянька
 
11.04.17
15:32
(401) Спасибо.
403 Это_mike
 
11.04.17
15:32
(400) винспаем список окон посмотри-напечатай, икогда ошибка вылезет - посмотри владельца окна
404 Масянька
 
11.04.17
15:33
(403) Вин - чем?
405 Это_mike
 
11.04.17
15:34
(404) WinSpy
406 Это_mike
 
11.04.17
15:35
+(405)Хотя, может быть, сейчс и другие иструменты есть...
407 Chameleon1980
 
11.04.17
15:41
(406) нафейхоа другие, если этот решает вопрос
408 АЛьФ
 
11.04.17
15:44
Если в ошибке написано "Окно с HWND=000C05C4 не существует", то WinSpy ничем не поможет, т.к. окна-то и нет.
409 Chameleon1980
 
11.04.17
15:51
...при закрытии нескольких окон в ...

может оно было

я хз

пробовать может надо
410 Это_mike
 
11.04.17
15:58
(408) ну так до закрытия она когда-то существовало...
411 Масянька
 
11.04.17
16:00
(409) Плавающая (ошибка).
Сейчас вот наоткрывала кучу внешних (больше 30) - закрылось без ругани.
412 Chameleon1980
 
11.04.17
16:04
пилите Шура :)
413 MadDAD
 
12.04.17
09:08
(397) Нашел такое сообщение в исходниках опенконфа. Глубже не копал...
414 Масянька
 
12.04.17
09:15
(413) А в каком?
415 MadDAD
 
12.04.17
09:15
(413) SetError(E_FAIL,"Окно с HWND=%08X не существует.",m_hWnd);

ICfgWindow.h, строка 40. Используется много где, в частности при получении документа из открытого окна.

Надо поискать в скриптах где есть обработчик открытия окон,  например так -
Configurator_OnActivateWindow(w, isActive)
  Set currentDoc = w.Document
416 Масянька
 
12.04.17
09:16
(415) Спасибо.
417 Масянька
 
12.04.17
14:45
Добралась...
<img src="https://i.paste.pics/01745409a98cab742de9fca8941760e3.png"; width="1280" height="1024" alt="Screenshot">
И что с ним делать?
418 Масянька
 
12.04.17
14:46
419 Злопчинский
 
14.04.17
04:40
А можно ли как-то в штатной ТЗ
1. убрать строку заголовков столбцов(чтобы сразу шли строки данных)..?
2. убрать бегунок (независимо все строки ТЗ влезли на экран или часть, главное - отключить бегунок вообще)..?

https://content.screencast.com/users/Che66/folders/Jing/media/b033f9d8-a040-40c8-b737-b494b090f61b/2017-04-14_0436.png
420 Злопчинский
 
14.04.17
04:47
(419) По п.1 следует сделать так (проверено, работает!)
РФорма.ВысотаЗаголовкаТаблицы("ТЗФорма",0);
421 Злопчинский
 
14.04.17
04:57
(420) А счастье было так возможно.. и вот ак возможно .. и вот так...
А вот вам фигушки: при нулевой высоте заголовка криво работает "счетчик" строк, помещающихся на "лсит" ТЗ...
https://content.screencast.com/users/Che66/folders/Jing/media/8d04c149-b592-4e3e-a660-c0d74b66bb6a/2017-04-14_0453.png
422 Злопчинский
 
14.04.17
05:19
Высоту заголовка можно задавать отрицательной

например
=-1 - работает как обычный заголовок (?)
= 0 - не показывает заголовок
= 1 - работает как обычный заголовок

=-2 - уже "кривит"
https://content.screencast.com/users/Che66/folders/Jing/media/57324847-40e8-4b7a-ab68-de42bc60b453/2017-04-14_0501.png

при большом отрицательном значении можно получить вот такой вариант (может оказаться полезным) https://www.screencast.com/t/vyduPyitmXDj
423 Злопчинский
 
14.04.17
05:21
еще, конечно, хотелось бы иметь возможность получать размер листа ТЗ (колво строк на экране) - потому как при назначении на ТЗ какого-нибудь шрифта "слетает" нафиг запрограммированное  через нажатия клавиш листание ТЗ поэкранно (надо знать размер экрана в строках)
424 vcv
 
14.04.17
05:27
(421) А почему бы в таких маленьких окошках не использовать список значений вместо таблицы? Попробовать его раскрасить как надо, высоту строк увеличить...
425 Злопчинский
 
14.04.17
06:32
(424) 1. несколько столбцов 2. не такой уж и маленький, 13 строк вмещается, если постораться то и больше.. но это уже глазкам больно ;-)
426 vcv
 
14.04.17
06:43
(425) Ну так если несколько столбцов, то без заголовков как? Не фэншуйно.
427 Злопчинский
 
14.04.17
06:45
(426) по разному может быть
На таком экране обычно два столбца иногда 3 или 4 редко
Для двухтрех столбцов обычно смысл колонок ясен из контекста
Номерзаказа-дата-чтотополезноп
428 Злопчинский
 
15.04.17
03:28
попутно вопрос, может кто толкнет куда
как получить программно в мокселе вот такую вставку картинки с растяжкой на нескольо объединенных строк? http://clip2net.com/s/3Jw9xeb
429 vcv
 
15.04.17
07:21
(428) В голову приходит такой вариант:
Если в таблице картинка занимает по высоте несколько строк и ты вставляешь/удаляешь строки где-нибудь в середине, картинка автоматически растягивается/сжимается. Только штатная таблица не умеет программно удалять/вставлять строки. Но умеет Йоксель, который с изображениями ведёт себя аналогично.
430 Злопчинский
 
15.04.17
11:35
(429) мысль про йоксель была, но это пока в сторону отложено
431 toy-alur
 
27.04.17
11:33
(428) Строки можно не вставлять новые, а менять размер существующих, как, например, тут: http://catalog.mista.ru/public/74249/
432 Ёпрст
 
27.04.17
11:36
(428) на нимфостарте валялся класс для вставки печатей в произвольную область, не помню ужо, через какую ВК реализовано было, через йоксель или через tabledoc
433 trdm
 
27.04.17
11:47
http://dorex.pro же лежит. Где брать свежак?
434 АЛьФ
 
27.04.17
11:54
2(433) Починил.
435 trdm
 
27.04.17
11:58
Мерси!
436 uno-group
 
27.04.17
15:55
(428)Выводить секцию с уже объединёнными строками и вставленными туда картинками. Чтобы не плодить кучу секций.
можно сделать в одной много и потом у лишних высоту строки делать минимальной.
437 Злопчинский
 
29.04.17
13:31
(434) А будет что-нибудь предпринято в части исключения "глюкофичи" когда при смене формекса (сейчас сижу на 2.0.5.109 beta) на последнюю версию (ставил, откатился назад) начинают выскакивать "недостаточно прав доступа" при интерактивном открытии внешних обработок из вложенных каталогов ExtForms ..?
438 АЛьФ
 
02.05.17
09:00
2(437) Даже примерно не представляю из-за чего такое могло бы быть.
439 Злопчинский
 
02.05.17
13:22
(438) вот тото и оно
Стырые варианты работают, а новый противится
Колдунство
440 Злопчинский
 
02.05.17
13:23
(437) при интерактивном имел в виду когда на панели висит команда отчет-открытьвнешниц
441 АЛьФ
 
02.05.17
15:35
2(440) А в правах как-то ограничено открытие внешних отчетов?
442 Злопчинский
 
02.05.17
19:05
(441) в конфигураторе установлены, точнее дома гляну
443 Злопчинский
 
03.05.17
02:54
вот так стоит https://www.screencast.com/t/JXIL74k27kr
444 АЛьФ
 
03.05.17
14:37
Никак не получается воспроизвести :(
445 Злопчинский
 
03.05.17
15:59
(444) хм, ну если будет интересно\полезно  - возможно смогу вживую через тип продемонстрировать, но это скорее всего толькоивечером каким-нить вне рабочего времени
446 АЛьФ
 
04.05.17
08:33
2(445) Так смысл-то демонстрировать? Мне надо у себя это воспроизвести, чтобы отловить где затык.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn