|
v7: Новая версия FormEx 2.0.5.194 Ø (Волшебник 15.02.2024 21:14) |
☑ | ||
---|---|---|---|---|
0
АЛьФ
14.02.24
✎
21:52
|
Выложил обновление.
Для объекта ОкноСообщений добавлены методы получения и установки координат окна. Добавлена предопределенная процедура ПриВыводеСообщения(). Добавлен новый объект ПрогрессБар. Подробней в als. Информация о доработках в комментах этой ветки: (67),(102),(122),(224),(294),(317),(366),(407) Качать, как обычно, тут: http://dorex.pro/?projects&formex&download |
|||
1
АЛьФ
01.02.24
✎
20:08
|
Прогресс бар можно размещать как на форме, так и в области панели строки состояния.
|
|||
2
Волшебник
01.02.24
✎
20:12
|
Рассмотрите wiki:Фактор_автобуса
Вы молоды и дело ваше живёт, но есть фактор автобуса... |
|||
3
Волшебник
01.02.24
✎
20:15
|
Миста живёт уже 20+ лет и многие ушли в закат.
Пожалуйста, давайте думать о том, что мы все уйдём в закат и зазеркалье. Но что останется после нас в этой реальности? Предлагаю обсудить тему философски. |
|||
4
АЛьФ
01.02.24
✎
20:19
|
2(3) Я в курсе, что Миста младше, чем FormEx.
|
|||
5
Волшебник
01.02.24
✎
20:25
|
(4) И вот моё мега-уважение! 💖
Искусство не горит! |
|||
6
Волшебник
01.02.24
✎
20:27
|
Но простите... Вы меняли адрес сайта в связи с изменением концепции. Было такое?
|
|||
7
АЛьФ
01.02.24
✎
20:29
|
2(6) Какой концепции?
|
|||
8
Волшебник
01.02.24
✎
20:31
|
(7) Вашей концепции. Вы же поменяли адрес сайта. Что поменялось?
|
|||
9
АЛьФ
01.02.24
✎
20:36
|
2(8) Ничего не поменялось. У меня не интернет-проект, на конкретный адрес он не завязан.
Адрес с зоны ru на зону pro менялся в 2011-м из-за регистратора: https://www.1cpp.ru/forum/YaBB.pl?num=1191404333/15#15 |
|||
10
AAA
01.02.24
✎
20:40
|
Лично я желаю Альфу долгих и счастливых лет жизни. Восхищаюсь и 1cpp и Formex. Это великие вещи. И не надо никаких автобусов. По поводу, что останется от нас, то Альф уже оставил, помог своими продуктами многим и многим людям. Я снимаю шляпу.
|
|||
11
andrewalexk
01.02.24
✎
20:42
|
(10) :) 1с++ это конечно хорошо но вот у Павлика в той-сикул был конструктор прямых запросов
|
|||
12
AAA
01.02.24
✎
20:46
|
(11)Напишите свой конструктор.
|
|||
13
АЛьФ
01.02.24
✎
20:49
|
2(11) Вроде и для 1С++ был конструктор в виде плагина OpenConf.
|
|||
14
Волшебник
01.02.24
✎
20:57
|
(10) 👍💖🔥
|
|||
15
Волшебник
01.02.24
✎
20:58
|
(10 >> И не надо никаких автобусов.
Это от нас не зависит, к сожалению... |
|||
16
andrewalexk
02.02.24
✎
06:20
|
(12) :) вроде моя фраза предельно примитивная а ты не понял ...слышал айфон да не знаешь где он
|
|||
17
АЛьФ
02.02.24
✎
09:01
|
Огромное спасибо всем, кто не постеснялся кинуть в меня денежкой со странички загрузки.
|
|||
18
АЛьФ
02.02.24
✎
09:06
|
2(3) А ведь и правда... Раньше тема с первой страницы улетала за ночь на вторую-четвертую. А сейчас утром в будни на первой странице темы прошлого дня. Т1С так же умирала постепенно.
|
|||
19
АгентБезопасной Нацио
02.02.24
✎
09:09
|
(11) У Берездецкого конструктор, имхо, получше...
|
|||
20
GrayS19
02.02.24
✎
09:11
|
Огромное спасибо АЛьФу от всех пользователей 7.7, которые хоть и не подозревают о существовании Formex, но благодаря ему пользуются более удобной программой со значительно улучшенным (по сравнению со стандартным) интерфейсом
|
|||
21
АгентБезопасной Нацио
02.02.24
✎
09:44
|
(20) 1с++, FormEx, Yoksel и RWidget - вообще "джентльменский набор" для клюшек.
|
|||
22
andrewalexk
02.02.24
✎
09:47
|
(19) (13) :) увы опенконф у меня не запускается как и той сикул - приходится ручками клепать запросики
|
|||
23
АЛьФ
02.02.24
✎
11:23
|
2(22) Почему не запускается? Чем обосновывает такое свое поведение?
|
|||
24
mishaPH
02.02.24
✎
11:29
|
(13) да он есть и работает
(0) а с 1с++ интеграцию не планируете поддерживать? |
|||
25
АЛьФ
02.02.24
✎
11:38
|
2(24) Нет, давно уже пути разошлись. Да и утеряно умение компиляции 1С++ из исходников.
|
|||
26
mishaPH
02.02.24
✎
11:40
|
(25) т.е. лучше взять 1с++ без формекса последнего + формэкс? конфликтов нет?
|
|||
27
АЛьФ
02.02.24
✎
11:49
|
2(26) У нас именно так и работает уже много лет. Вроде как без конфликтов.
|
|||
28
AAA
02.02.24
✎
11:51
|
Поддерживать сейчас просто бессмысленно. Мавр сделал свое дело. 7.7 без внешних вкусностей давно бы уже умерла, как умерили 8.x обычные формы Но сейчас работать на бантики 7.7 уже просто бессмысленно. Это только для гурманов. В этом Волшебник прав, что нет смысла улучшать этот функционал. Им никого не удивишь и развитие уже просто ради забавы.
7.7 все равно не спасти: 1 - скоро просто не установить 2 - дизайн 3 - интеграция с внешним миром (это никак) 4 - типовые (кто сделает типовую а ля БП3) Причем, скорее всего, БП3 и убивает, душит 7.7. |
|||
29
mishaPH
02.02.24
✎
11:58
|
(28) так на 7.7 типовых и нет. тисы которые не типовые давно да нет смысла их поддерживать, самописки которые работают дорабатываются и развиваются в принципе.
|
|||
30
mishaPH
02.02.24
✎
11:59
|
большинству у кого 7.7. нет смысла переходить на 8ку ради перехода ( если бизнесом управляет грамотный человек а не прог который просто с 77 не хочет иметь дело) а для всего остального можно 8ку поставить рядом типовую и наладить мост для обменов и прочего и дешевле и проще
|
|||
31
mishaPH
02.02.24
✎
12:00
|
(0) прогресс бар это круто. надеюсь он не жрет ресурсов так как сообщить и состояние штатное
|
|||
32
mishaPH
02.02.24
✎
12:01
|
[559.1 Kb]
[версия: 2.0.5.185 от 01.02.2024] [скачиваний: 13251] кол во скачиваний как бы говорит само за себяю о нужности |
|||
33
АЛьФ
02.02.24
✎
12:02
|
2(28) 7.7 убьет только 2038-й год. Все остальное абсолютно не критично для ее жизнеспособности. Это ж только инструмент. Если инструмент справляется со своими задачами, то какой смысл его менять?
|
|||
34
АЛьФ
02.02.24
✎
12:03
|
2(32) Не, ну счетчик скачиваний давно уже не сбрасывался и всегда работал криво. Много кто качает по прямой ссылке, которая не учитывается, кто-то с ЯД.
|
|||
35
АЛьФ
02.02.24
✎
12:04
|
2(31) Это обычный виндовый бар, тормозить не должен.
|
|||
36
Djelf
02.02.24
✎
12:48
|
(35) Действительно, совсем не тормозит.
А вот в ПриВыводеСообщения какая-то странность. Если ТекстСообщения="З=1/0;" Тогда //так не работает СтандартнаяОбработка=0; ИначеЕсли Найти(ТекстСообщения,"1/0")>0 Тогда //так работает СтандартнаяОбработка=0; Иначе Сообщить("Не работает: "+ТекстСообщения); КонецЕсли; Это же шикарно, давно хотелось после сообщения об ошибке и аварийном прерывании не выводить 1/0 |
|||
37
mishaPH
02.02.24
✎
12:54
|
(35) (36) обязательно попробую
|
|||
38
АЛьФ
02.02.24
✎
13:00
|
2(36) Не понял с "работает / не работает". Можно чуть подробней?
Для аварийного прерывания лучше использовать "Сервис::ОстановитьВыполнение()", наверное. |
|||
39
Djelf
02.02.24
✎
13:08
|
(38) Не сравниваются строки напрямую, я и СокрЛП пробовал, и РазделительСтрок прибавлял с сравнению. Не работает и все тут...
А через Найти находит. Сервис.ОстановитьВыполнение() работает, только натыкано уже много где 1/0, не помню уже почему я это не использовал, какая-то причина видимо была... |
|||
40
АЛьФ
02.02.24
✎
13:11
|
2(39) Посмотрю про сравнение.
ОстановитьВыполнение до недавних пор выдавало "Ошибка при выполнении процедуры" - v7: Формекс ОстановитьВыполнение() |
|||
41
Djelf
02.02.24
✎
13:18
|
(40) Точно! Вот из-за этого и не использовал. Писал Сообщить(""+(1/0)+" Это не ошибка!"); ;)
Это очень полезное изменение. |
|||
42
АЛьФ
02.02.24
✎
13:19
|
2(39) Кажется понял в чем дело. Сообщение об ошибке - это единый текст в две строки, поэтому и не работает сравнение.
|
|||
43
Djelf
02.02.24
✎
13:23
|
(42) В (39) я пытался это обойти, почему-то не получилось.
Но вторую пустую строку imho лучше резать заранее. |
|||
44
АЛьФ
02.02.24
✎
13:31
|
2(43) Там дальше могут возникнуть проблемы внутри 1С, если в ошибке отрезать лишнюю строку. Опять же непонятно какую вторую пустую строку резать, а какая реально нужна в сообщении.
|
|||
45
АЛьФ
02.02.24
✎
13:37
|
2(36) Вот так можно:
Если СтрПолучитьСтроку(ТекстСообщения,1) = "т=1/0;" Тогда |
|||
46
trdm
02.02.24
✎
14:07
|
А не напомните технологию а-ля восмерошного поля с педалью ввод по строке?
Где-то была обработка, как-то запямятовал. типа когда курсор стоит в поле выбора справочника, начинаешь набирать, а тебе выпадающий список представлается с выборомю |
|||
47
АгентБезопасной Нацио
02.02.24
✎
14:27
|
(46) почту напомни, или в телегу (@mikeware) стукнись. Скину класс Садовникова (но после выходных). Или Спроси У Алексея Диркса, у него явно это поновее...
|
|||
48
trdm
02.02.24
✎
14:46
|
Дык почта в профиле.
|
|||
49
trdm
02.02.24
✎
14:47
|
Хотелось бы конечно нечто асинхронное, ведь ввод текста и поиск может идти параллельно.
|
|||
50
Djelf
02.02.24
✎
14:52
|
(45) Спасибо! Так работает.
Пожелание: добавь в ALS описание этого момента, он не очень понятен с первого раза. |
|||
51
АЛьФ
02.02.24
✎
15:10
|
2(50 Добавил: "(следует обращать внимание, что в сообщениях об ошибках всегда передается минимум две строки: собственно текст с ошибкой и строка кода, в которой произошла ошибка)"
|
|||
54
mishaPH
02.02.24
✎
15:21
|
(2) (53) Я всегда поминаю трамвай.
|
|||
55
АЛьФ
02.02.24
✎
15:26
|
2(53) Я понял. Только кому было интересно ковырять этот проект, давно уже поимел от меня исходники. Могу выложить исходники и настроенную машину для oracle virtualbox для их сборки. Но оно кому нужно? Сомневаюсь.
|
|||
56
Djelf
02.02.24
✎
15:29
|
(51) Ну еще бы решение проблемы "СтрПолучитьСтроку(ТекстСообщения,1) " мы все уже постоянно начинаем тупить на ровном месте ;)
+(0) Изменения/Дополнения INTS по ПрогрессБар, ОкноСообщений, ПанельСтрокиСостояния, Сервис, РасширениеФормы, Окна от 2024/02/02: https://cloud.mail.ru/public/x4SF/x5JSfdAjY Вроде ничего не забыл? Могу сгенерировать, это просто. |
|||
57
АЛьФ
02.02.24
✎
15:33
|
2(56) Спасибо.
|
|||
58
Djelf
02.02.24
✎
15:47
|
(55) Мне надо, мне всегда все такое надо, я не жадный, я экономный!
И хотя меня старательно пинают в сторону снеговика, я как проевляюсь какое-то время, пытаюсь работать и для ВК на клюшках. Сколько ВК и своей работы мы потеряли уже из-за закрытого/спрятанного на сдохнувшем hdd/sdd кода? Неимоверно... |
|||
59
АЛьФ
02.02.24
✎
15:59
|
2(58) Ок. Постараюсь на выходных подготовить и выложить.
|
|||
60
trdm
02.02.24
✎
16:46
|
(58) я это давно понял.
https://github.com/trdm/alterplast |
|||
61
trdm
02.02.24
✎
16:52
|
(58) > И хотя меня старательно пинают в сторону снеговика, я как проевляюсь какое-то время, пытаюсь работать и для ВК на клюшках.
не знаю, меня прям хорошо так заворожили пакетные запросы из v8 и возможность електить из таблицы значений. Правда в 1С++ этотоже вроде есть, просто не разжовывал. |
|||
62
mishaPH
02.02.24
✎
16:57
|
(61) в 1с++ все это есть + даже работа и создание вирт таблиц в скуле.
|
|||
63
trdm
02.02.24
✎
17:11
|
(62) Да, я что-то такое припоминаю, но это когда работаешь на SQL, а тут прилетает dbf-ная БД само собой без 1С++ с тоской вспоминаешь встроенное в v8 богатство :)
|
|||
64
trdm
02.02.24
✎
17:12
|
Эх, где все эти теплые ламповые альтернативы.....
|
|||
65
Злопчинский
03.02.24
✎
08:41
|
(58) ну, если поскрести по сусекам здравствующих клюшечников - найдётся вам. Надо ещё сайт по йокселю С грабить каким-нить телепортом в документацию.
|
|||
66
Djelf
03.02.24
✎
08:44
|
(65) Скачай "Документация для COM-сервера:" http://yoksel.net.ru/files/release/yoksel_comserver_doc.rar
Там все есть. |
|||
67
АЛьФ
03.02.24
✎
11:29
|
Исходники и выгрузку виртуальной машины выложил. Проверяйте, получится ли установить и собрать.
Архив с исходниками надо распаковать в папку и эту папку подключить к виртуалке, как диск Z. |
|||
68
Злопчинский
03.02.24
✎
11:33
|
(66) о, спасибо!
|
|||
69
Guk
03.02.24
✎
11:48
|
(0) на самом деле до сих пор на клюшках сидишь? а говорил ЕРП внедряешь ;)...
|
|||
70
Djelf
03.02.24
✎
11:50
|
(67) Скачать пока не получается, браузерми не ясно что не так, проверил wget`ом
wget http://www.dorex.pro/files/?formex_scr.zip HTTP-запрос отправлен. Ожидание ответа… 404 Not Found whet http://www.dorex.pro/files/?formex_ova.zip HTTP-запрос отправлен. Ожидание ответа… 500 Internal Server Error |
|||
71
MWWRuza
03.02.24
✎
12:26
|
Ага, это по ссылке "Скачать" страницы "Проекты":
в ГуглХроме отображается. |
|||
72
АЛьФ
03.02.24
✎
12:25
|
2(69) Не говорил.
2(70) Попробуй без знака вопроса в адресе. |
|||
73
MWWRuza
03.02.24
✎
12:32
|
Без вопроса - 404.
|
|||
74
АЛьФ
03.02.24
✎
13:21
|
Вроде поправил, проверяйте. Неверно указал на страничке имя файла.
|
|||
75
vde69
03.02.24
✎
13:49
|
интересно сколько еще баз 7.7 активно используется во всем мире
|
|||
76
Djelf
03.02.24
✎
13:49
|
(74) Теперь качается.
|
|||
77
AAA
03.02.24
✎
15:14
|
(75)у меня на вскидку 6 + пара бухгалтерских
|
|||
78
Злопчинский
03.02.24
✎
20:37
|
У меня мелких клиентов штук 6, обращаются нечасто, но регулярно, при том что специально не ищу (другими делами занят).
|
|||
79
ЯнСмит
03.02.24
✎
21:04
|
(75) как минимум шесть постоянных, ну и еще кто-нибудь периодически обращается, т.ч. осанну 7.7 петь рановато )))
|
|||
80
АЛьФ
03.02.24
✎
21:43
|
2(75) У нас основная управленческая база на 7.7. Но постепенно перетягиваем на собственную восьмерочную конфигу.
Бух и зарплата, естественно, на типовых восьмерках. |
|||
81
Злопчинский
03.02.24
✎
21:46
|
(80) ну, у нас попроще. на БП3 пораньше перешли, торговая 77 еще живая, вторая фирма на УНФ по минимум ведется, богатство возможностей как-то не особо и нужно....
|
|||
82
Злопчинский
03.02.24
✎
21:47
|
Причем основным драйвером перехода на 8-ку - было возможность с ЭДО работать (бо заплатить мну за сделание ЭДО для 77 их жаба заела да и я особо этим не горел). По факту этим ЭДО в 8-ке по-моему по минимум пользуются...
|
|||
83
GrayS19
05.02.24
✎
08:49
|
(75) В Беларуси 2 франчайзи - Мисофт и Юкола выпускают обновления для ТИПОВОЙ бухгалтерии 7.7 Процентов 60% знакомых фирм формата директор+бухгалтер+пару_продаванов сидят на 7.7. Те, кто спрашивают про восьмерку - прайс любого из франчайзи им в помощь, и как-то сразу, посчитав стоимость перехода, остаются на 7.7.
|
|||
84
AAA
05.02.24
✎
09:17
|
У меня не работает метод Создать() у ПрогреесБара. Объект ПрогрессБар создался, а его метод не выполняется, ругается на неверное количество параметров, хотя все параметры являются необязательными и я пробовал различные комбинации. У кого получилось, может поделитесь фрагментом кода?
|
|||
85
AAA
05.02.24
✎
09:19
|
(83)в Беларуси своя история. У нас в городе совсем иная. Новый предприятия ставят БП3. Большая проблема найти бухгалтера, который знает 7.7. Как ни смешно, но это для некоторых является существенным мотивом для перехода на БП3
|
|||
86
ADirks
05.02.24
✎
09:50
|
(84)
ФормЭкс = СоздатьОбъект("РасширениеФормы"); Атр = ФормЭкс.ПолучитьАтрибут("текстПрогресс"); оПрогресс = СоздатьОбъект("ПрогрессБар"); оПрогресс.Создать(1, тз.КоличествоСтрок(), Атр, 1); оПрогресс.Заголовок = Раздел; тз.ВыбратьСтроки(); Пока тз.ПолучитьСтроку() = 1 Цикл оПрогресс.Позиция = тз.НомерСтроки; ... КонецЦикла; |
|||
87
Chai Nic
05.02.24
✎
10:00
|
А где этот прогресс-бар рисуется?
|
|||
88
АЛьФ
05.02.24
✎
10:03
|
2(84) У метода Создать() параметр Родитель является не обязательным только если до вызова этого метода в атрибуте Родитель указан родительский элемент.
Но что-то у меня там какой-то глюк. Стал готовить тестовый пример для демонстрации, стало вылетать. Плюс в названии атрибута "МинмальнаяПозиция" пропустил букву. |
|||
89
АЛьФ
05.02.24
✎
10:06
|
2(87) Поверх реквизита, который задан в атрибуте "Родитель". Или на панели строки состояния, если создается через атрибут Прогресс объекта "ПанельСтрокиСостояния".
|
|||
90
ADirks
05.02.24
✎
10:57
|
(88) кстати, про глюки:
Панель = СоздатьОбъект("ПанельСтрокиСостояния"); Панель.НайтиПоКоду(0); //работает а вот Панель.НайтиПоНаименованию("СтрокаСостояния"); //не работает При обращении к реквизитам панели сообщает "... Панель не выбрана!" С пользовательскими панелями та же история. |
|||
91
mdao
05.02.24
✎
11:26
|
Скажите есть ли подобное:?
Картинка = ФормЭкс.ПолучитьСкриншот(Окно); (33) и что в 38г.вообще не запустится? или будут ошибки связанные с датами? |
|||
92
АЛьФ
05.02.24
✎
11:38
|
2(90) Странно. Посмотрю в чем дело.
2(91) Вообще не запустится. А если и обойти это прерывание запуска, будут проблемы с датами. ПолучитьКартинку(<?>,,,) Синтаксис: ПолучитьКартинку(<Лево>,<Верх>,<Ширина>,<Высота>) Назначение: Метод предназначен для получения части формы в виде объекта Картинка (см. документацию 1С:Предприятия). Параметры: <Лево> - координата начала вырезаемой области по горизонтальной оси <Верх> - координата начала вырезаемой области по вертикальной оси <Ширина> - ширина вырезаемой области <Высота> - высота вырезаемой области ЗАМЕЧАНИЕ: Метод работает только после физического открытия и отображения окна формы. ПРИМЕР: Процедура ПолучитьКартинку(Карт) // процедура вызывается из объекта Картинка, расположенного на печатной форме Перем Лево,Верх,Ширина,Высота; ФормаРасш = СоздатьОбъект(''РасширениеФормы''); АтрТекст = СоздатьОбъект(''АтрибутФормы''); АтрТекст.УстановитьАтрибут(Форма,''Табл''); АтрТекст.ПолучитьКоординаты(Лево,Верх,Ширина,Высота); Карт.УстановитьКартинку(ФормаРасш.ПолучитьКартинку(Лево,Верх,Ширина,Высота)); КонецПроцедуры |
|||
93
Serginio1
05.02.24
✎
12:20
|
(0) Хоть давно и не пользуюсь 1С, но в своё время активно использовал 1С++.
Респект и уважуха! Так держать! |
|||
94
ADirks
05.02.24
✎
13:02
|
Ещё такой момент по прогресс-бару: после разрушения объекта ПрогрессБар его визуализация остаётся до тех пор, пока не будет произведено какое-нибудь стандартное действие, видимо вызывающее отрисовку всех окон 1С (например, при открытии диалога в модальном режиме, открытие формы элемента справочника, формы документа). Такое поведение наблюдается как для прогресс-бара на форме, так и в панели состояния.
Предложение: если нельзя с этим поборотся автоматически, при уничтожении объекта, то сделать явный метод, возвращающий штатный вид контролу-хозяину. |
|||
95
Злопчинский
05.02.24
✎
13:24
|
(85) на Бух 7.7 налоговый учет сделан сложнее чем на БП3, а так - все одновалентно, БП3, конечно, поудобнее.
|
|||
96
АЛьФ
05.02.24
✎
13:27
|
2(94) Не наталкивался на такое поведение. По идее должно посылать "паинт" родительскому окну после уничтожения. Проверю.
|
|||
97
Злопчинский
05.02.24
✎
13:36
|
(91) локСервис = СоздатьОбъект("AddIn.ICQ");
ИмяФайлаДляСохранения = КаталогПользователя()+Формат(ТекущаяДата(),"Д ГГГГММДД")+"-"+СтрЗаменить(ТекущееВремя(),":","")+".jpg"; локСервис.SpyScreenShot(ИмяФайлаДляСохранения,75); . я в своей главной конторе повесил кнопку на панель главного окна, деффки если проблема - жмак! мне автоматом письмо приходит на емайл со скриншотом. . https://infostart.ru/1c/tools/14618/ |
|||
98
ADirks
05.02.24
✎
14:07
|
(96) Похоже, что это у меня тут какой-то аяяяй наблюдается. Какое-то, понимаешь, отложенное разрушение объектов... Выглядит как будто-бы объекты разрушаются при создании каких-то других объектов.
Короче, к прогресс-бару проблема отношения не имеет. |
|||
99
Djelf
05.02.24
✎
14:11
|
(97) И никто не догадался кликер включить и пойти покурить на полчасика? Чтобы ты в срочном порядке обратил внимание на проблему...
|
|||
100
Злопчинский
05.02.24
✎
15:17
|
(99) не вьехал про что это ты. типа заспамить меня шквалом писем? ту так я и возмутиться могу... в основнйо конторе у меня народ нормально приучен был. есть проблема - я ее решаю максимально быстро как могу. некритичная - ка кправило к завтрашнем у рабочему дню... от того что меня спамить будут - быстрее не будет ;-)
|
|||
101
АгентБезопасной Нацио
05.02.24
✎
15:37
|
(100) типа "призвать к сексу в предельно извращенной форме" :-)
|
|||
102
АЛьФ
05.02.24
✎
21:41
|
2(94) Не удалось воспроизвести. У меня нормально родительский отрисовывается, когда прогресс уничтожается. Нужен тестовый пример.
2(90) Поправил. Еще несколько мелких глюков поправил. Выложена сборка 188. |
|||
103
АЛьФ
05.02.24
✎
21:42
|
А собрать из исходников получилось у кого-нибудь?
|
|||
104
Базис
naïve
06.02.24
✎
00:16
|
Спасибо за твой труд. Когда в Бразилии надо что-нибудь простое учесть - делаю на 77, зная что это будет работать долго и надёжно (это про срочный отзыв платформы v8, например).
Ну и к 2037 надо бы написать клон семёрки. |
|||
105
AlexKimp
06.02.24
✎
07:47
|
(104) что-то было лет 10-15 назад. 2с, что ли, называлась. опенсорс, из существенных отличий от кошерных клюшек, если мне не изменяет память, - наличие более одной ТЧ в справочниках и документах
|
|||
106
AlexKimp
06.02.24
✎
08:04
|
(104) нагуглил. https://www.gpl2c.ru/
|
|||
107
Djelf
06.02.24
✎
08:45
|
(103) Да, собралось без проблем.
|
|||
108
trdm
06.02.24
✎
10:44
|
(106) Что сказать, оно работало. Не без глюков, но раотало.
|
|||
109
mishaPH
06.02.24
✎
10:54
|
(108) ну организовать много табличных частей в 7ке при прямых запросах тоже не сильно большая проблема. И даже кода будут минимально. Одновременно только редактировать не одну табличную часть не выйдет. но это вроде тоже не проблема. Но у клюшек нет гемора с интерфейсной частью по крайней мере
|
|||
110
Злопчинский
06.02.24
✎
11:14
|
Собралась банда убийц 1с?
|
|||
111
ADirks
06.02.24
✎
11:38
|
(94) С неразрушением объектов интересная шляпа получается.
Если прогресс-бар создавать в некоем классе (Фабрика), и экземпляр этого класса хранится в глобальной переменной, то объект не разрушается как положено, а разрушается в момент вызова _любой_ функции, возвращающей значение, из класса Фабрика. Где-то накосячено с Release, я так полагаю. -------- например ----------- // в ГМ Перем Фаб Экспорт; Процедура ПриНачалеРаботыСистемы() ... Фаб = СоздатьОбъект("ТФабрика"); КонецПроцедуры // в классе ТФабрика Функция Nope() Экспорт Возврат 0; КонецФункции Функция ПрогрессБар(МинПоз, МаксПоз, Заголовок) Экспорт Панель = СоздатьОбъект("ПанельСтрокиСостояния"); Панель.НайтиПоКоду(0); оПрогресс = СоздатьОбъект("ПрогрессБар"); оПрогресс.Создать(МинПоз, МаксПоз, Панель, 1); оПрогресс.Заголовок = Заголовок; Возврат оПрогресс; КонецФункции // в обработке Процедура тест_Фаб() Фаб = СоздатьОбъект("ТФабрика"); Прогресс = Фаб.ПрогрессБар(1, 100, "печать "); Прогресс.Позиция = 50; КонецПроцедуры Процедура тест_Фаб2() Фаб.Nope(); КонецПроцедуры ------------------------ после вызова тест_Фаб() прогресс-бар остаётся в строке состояния после вызова тест_Фаб2() панель возвращается в незамутненное состояние Собственно, это поведение наблюдается и для любых пользовательских классов. И возможно и для штатных объектов тоже. если оформить функцию без возврата - то разрушение объекта не происходит Функция Nope() Экспорт КонецФункции |
|||
112
ADirks
06.02.24
✎
11:41
|
*исправление
Процедура тест_Фаб() Прогресс = Фаб.ПрогрессБар(1, 100, "печать "); Прогресс.Позиция = 50; КонецПроцедуры |
|||
113
trdm
06.02.24
✎
12:10
|
(109) > Но у клюшек нет гемора с интерфейсной частью по крайней мере
Концепция поля в v8 в УФ меньше гемороя дает. Я бы клон писал с новой концепцией. |
|||
114
АЛьФ
06.02.24
✎
12:14
|
2(111) Как-то я мало что в этом понял... И ваще не понимаю как это можно с моей стороны поправить.
Есть метод ПрогрессБар::Удалить(), может он поможет в этой ситуации? |
|||
115
ADirks
06.02.24
✎
12:28
|
(114) Это косяк 1С++. Я его просто описал, раз уж разбирался.
Метод Удалить() да, помогает. |
|||
116
trad
06.02.24
✎
14:04
|
(115) это косяк движка, просто ++ его проявил
ссылки по теме: https://www.1cpp.ru/forum/YaBB.pl?num=1207661901/30#42 https://www.1cpp.ru/forum/YaBB.pl?num=1212645215 https://www.1cpp.ru/forum/YaBB.pl?num=1493108879 |
|||
117
Злопчинский
06.02.24
✎
14:23
|
Ой, блин, там много умных слов.
А для дебилов, которые только на 1С погромируют, можно какое-то резюме неаписать, что делать-то? или чего не делать? |
|||
118
Djelf
06.02.24
✎
15:17
|
(117) Не делай того креативного, что ты раньше не делал и будет все как раньше. Ничего же от этого за столько лет не сломалось?
|
|||
119
Arbuz
06.02.24
✎
17:46
|
АЛьФ У объекта ОкноСообщений не хватает метода для прокрутки вниз на последнее сообщение, т.к. если уменьшать размер окна сообщений, то положение становится на верхней видимой строке до уменьшения окна и новые нижние сообщения не видно.
PS это на запаркованном внизу окне |
|||
120
alyuev
06.02.24
✎
19:41
|
Альфу - не качал еще, но всё равно спасибо!
Пока мы здесь - базы работают и развиваются на 7.7. Перевели на болгарский учет (бухгалтерский, налоговый). Используется вместо "Микроинвест ДельтаПро". Хотя от кирпича (в виде ракеты, например) никто и не застрахован. Особенно в наше-то время... |
|||
121
Волшебник
06.02.24
✎
20:09
|
Да, охренеть, сколько ещё семёрочников! 🔥
💖 Миста вас всех поддерживает! 1С — наше фсё!!! |
|||
122
АЛьФ
06.02.24
✎
20:57
|
2(119) Добавил.
ПоказатьСтроку(<?>) ShowLine(<?>) Синтаксис: ПоказатьСтроку(<НомерСтроки>) Назначение: Позиционирует окно сообщений на указанной строке. Параметры: <НомерСтроки> - номер строки, на которой надо спозиционировать окно. Если -1, то окно позиционируется на последней строке. |
|||
123
Djelf
06.02.24
✎
21:05
|
(121) Пока ты нас дустом не начнешь поливать, мы еще возможно и размножаться будем...
|
|||
124
Волшебник
06.02.24
✎
21:14
|
(123) Есть вероятность, что страна откатится к 1Сv7. Ну санкции так могут сыграть...
|
|||
125
АЛьФ
06.02.24
✎
21:16
|
2(124) Смешно.
|
|||
126
Злопчинский
06.02.24
✎
21:26
|
(122) а есть методы получения количества строк и перебора строк окна сообщений не прибегая к сохранению ОС в файл?
|
|||
127
AAA
06.02.24
✎
21:27
|
Представил Нуралиева на горке, катится к 7.7 на фанерке
|
|||
128
AAA
06.02.24
✎
21:29
|
Пока есть Злопчинский будет и 7.7. "Гвозди бы делать из этих людей, в мире бы не было крепче гвоздей"
|
|||
129
Злопчинский
06.02.24
✎
21:30
|
Хотя для чего это может понадобиться - хз...
. И тогда уже вполне может пригодиться типа ОС.ПоказатьСтроку("здесьсимвроьнастроканакоторвюпозиционируетсяОСеслинайденаАеслиненайденаТрНаПоследнюю) |
|||
130
Djelf
06.02.24
✎
21:38
|
(127) Не надо, ну прошу, не надо это представлять, а то ведь я тоже представляю уже:
Когда был Нургалиев маленький, с кудрявой головой. Он тоже бегал в валенках. По горке ледяной. |
|||
131
Волшебник
06.02.24
✎
21:39
|
(128) Смешно...
|
|||
132
Злопчинский
06.02.24
✎
21:40
|
(128) это я еще 1С++ и всякие ТП не освоил (ввиду отсутствия серьезных проектов) за кучу лет штрымдяча на 77 всякое.. прост особо надобности не было... Вполне хватало шттаных возможностей...
.. а то бы.. я бы .. да бы.. . Ясное весеннее утро. Светит солнышко, щебечут птички... Молодая графиня просыпается, и слышит прекрасную музыку. От нахлынувших на нее чувств она вскакивает, набрасывает халатик и выбегает в гостиную. Там за роялем сидит поручик Ржевский. — Ах, поручик! Это вы так прекрасно играете?! — Да так, anekdotov.net, сударыня, [зв]издячу-с помаленьку! |
|||
133
Злопчинский
06.02.24
✎
22:26
|
Djelf trdm victuan MMRuzа и иже с ними - вот кто (тут все убрал про просьбе культурных людей, заменив на) топчет клаву от души...
. ЗЫ: приходится уточнить во избежание: я в хорошем смысле, восхищен! |
|||
134
АЛьФ
06.02.24
✎
21:46
|
2(126) Могу сделать получение текущего содержимого в виде строки.
|
|||
135
Злопчинский
06.02.24
✎
21:52
|
(131) Над кем смеетесь.. над собой смеетесь...
. Да, я шут, я циркач… Так что же? Пусть меня так зовут вельможи, Как они от меня далеки, далеки, Никогда не дадут руки. |
|||
136
mishaPH
06.02.24
✎
21:53
|
ну вам смешно в 7ка жива еще. Самое смешное. что можно не пользоваться регистрами бух итогами и расчетом и.. оболочка клюшек не подлежит лицензированию. при 1с++ и форексе все можно организовать в принципе. Я сейчас на 7.7 в которой до 500 юзеров одновременно
|
|||
137
Злопчинский
06.02.24
✎
21:53
|
(134) угу, может оказаться полезным...
Только предусмотреть что текст в окне сообщений может оказаться достаточно большим (как строка), а в 77 вроде максимальный размер строки - 32Кб..? |
|||
138
Djelf
06.02.24
✎
21:55
|
(133) Тебя точно не сломали? Обозвать "всякими" ну... не комильфо. Ну хоть АЛьФ`а так не обозвал...
|
|||
139
Волшебник
06.02.24
✎
21:57
|
Круто
|
|||
140
mishaPH
06.02.24
✎
22:03
|
на бывшей работе 7ка от пр-ва до сбыта. 7 лет пыжатся чтобы на другую систему перейти а сумели заменить только часть функционала ПУБ 77. Пар знакомых тоже на клюшках, даже помогаю запросиками 1с++ не сложными правда в качестве консультации. Короче не убить
|
|||
141
Волшебник
06.02.24
✎
22:05
|
(140) Семёрка ещё сырая...
|
|||
142
Злопчинский
06.02.24
✎
22:06
|
(138) ну, Альф - это святое!
|
|||
143
AAA
06.02.24
✎
22:07
|
(132) Не освоить табличное поле это позор. Это самые вкусности - табличное поле, прямые запросы,индексированная таблица. Ну и конечно Йоксель - отчеты с группировками. В 7.7 бы улучшить дизайн и сделать табличные части справочников и несколько табличных частей документов и тогда бы ваще!!
|
|||
144
AAA
06.02.24
✎
22:08
|
(141)Так все 1с сырые и это вина не Альфа.
|
|||
145
AAA
06.02.24
✎
22:10
|
(140)аналогичная история. Мотивы озучивать не буду, не поверите) Сам бы не поверил) Но двигаться надо..
|
|||
146
Djelf
06.02.24
✎
22:10
|
(140) Не... эту стюардессу мы в 2038 закопаем (она тогда точно умрет), но потом все равно выкопаем.
Есть же примеры типа dbeng32 от Wirth, который держит dbf больше 2х гигов. Мы что тупее? |
|||
147
Злопчинский
06.02.24
✎
22:15
|
(143) ну вот если понадобилось бы - освоил бы. А так - большая часть моей деятельности была в налаживании процессов, а не в кодинге. ИТЗ юзаю помаленьку, Йоксель - тоже... Все по мере надобности. Вот последний проектик был - разброс цены 2К-6К. 2К - будет просто и быстро сделано, 6К - будет сделано хорошо. Как думаешь - что заказчик выбрал...?
|
|||
148
Злопчинский
06.02.24
✎
22:16
|
(143) "В 7.7 бы улучшить дизайн и сделать табличные части справочников и несколько табличных частей документов и тогда бы ваще!!"
- ну и сделали бы надстройку из ТП для форм списков справочников и журналов, чтобы готовым блоком использовать... |
|||
149
mishaPH
06.02.24
✎
22:22
|
(146) ну как ты думаешь. если пофиксили все начиная от защиты, скуль выше 2000 и т.п. эту фигню не изменят?
|
|||
150
АгентБезопасной Нацио
07.02.24
✎
08:27
|
(148) Это называется "ПоставщикДанных"
Расширения к табличному полю Описание Изначально объект «ПоставщикДанных» имеет следующие встроенные расширения: • ПоставщикДанных.Справочник (ТипЗначений: Справочник.Идентификатор) • ПоставщикДанных.Документы (ТипЗначений: Документ.Идентификатор) • ПоставщикДанных.Журнал (ТипЗначений: Журнал.Идентификатор) • ПоставщикДанных.Регистр (ТипЗначений: Регистр.Идентификатор) • ПоставщикДанных.Операции (ТипЗначений: Операции) • ПоставщикДанных.Проводки (ТипЗначений: Проводки) • ПоставщикДанных.ТабличнаяЧасть (ТипЗначений: ТабличнаяЧасть.Идентификатор) • ПоставщикДанных.ИндексированнаяТаблица (ТипЗначений: ИндексированнаяТаблица) • ПоставщикДанных.СписокЗначений (ТипЗначений: СписокЗначений) • ПоставщикДанных.ДеревоЗначений (ТипЗначений: ДеревоЗначений) • ПоставщикДанных.Отбор (ТипЗначений: Отбор) |
|||
151
АЛьФ
07.02.24
✎
09:01
|
2(137) Тогда, наверное, лучше получать количество строк и содержимое строки по номеру. При желании можно будет считать все окно сообщений хоть в строку, хоть в текст.
|
|||
152
АЛьФ
07.02.24
✎
09:02
|
Кто-нибудь смотрел новое получение стека вызовов?
|
|||
153
ЯнСмит
07.02.24
✎
09:20
|
(143) Вкусности-то вкусности конечно, но еще бы описание ко всему этому зоопарку нормальное бы, а то приходится по крупинкам на форумах собирать ...
|
|||
154
АЛьФ
07.02.24
✎
09:25
|
2(153) А чем не устраивает штатная документация?
https://www.1cpp.ru/docum/icpp/html/ |
|||
155
ЯнСмит
07.02.24
✎
10:28
|
(154) о как, спасибо большое, как-то прошло мимо =(
|
|||
157
alyuev
07.02.24
✎
13:10
|
АЛьФ. Загрузил 188 и 189 версию. Окно сообщений спряталось при старте. И в дальнейшем выводимых сообщений не видно. Теперь нужно как-то активировать по-умолчанию, чтобы отображалось окно? До этого использовали 147ую версию.
|
|||
158
АЛьФ
07.02.24
✎
13:18
|
2(157) На системное окно по умолчанию ничего не должно влиять.
|
|||
159
alyuev
07.02.24
✎
13:21
|
При загрузке использую эти методы:
|
|||
160
alyuev
07.02.24
✎
13:21
|
РасширенноеОкноСообщений=СоздатьОбъект("ОкноСообщений");
РасширенноеОкноСообщений.Парковать(1); // РасширенноеОкноСообщений.Очистить(); РасширенноеОкноСообщений.ПодключитьСистемноеОкноСообщений(); РасширенноеОкноСообщений.ПерехватСистемныхСообщений(1+2+4+8+16+32+64+128+256+512);//Перехватываем все сообщения РасширенноеОкноСообщений.СтильКакМодуль(1);//Вызывать после Перехвата! Иначе стиль не применится. РасширенноеОкноСообщений.Видимость(1); //Показываем здесь, после всех установок, чтобы не мелькало |
|||
161
АЛьФ
07.02.24
✎
13:26
|
2(160) Использовать ПерехватСистемныхСообщений после ПодключитьСистемноеОкноСообщений не имеет смысла. В это окно и так все сообщения идут. ПерехватСистемныхСообщений для того, чтобы дублировать некоторые сообщения в своем окне.
А в целом ничего криминального не вижу. Предлагаю для начала поставить ПодключитьСистемноеОкноСообщений сразу после создания объекта. |
|||
162
Arbuz
07.02.24
✎
13:56
|
Я ажно прослезился, ребята.
Может произойдёт чудо как-то и вынут на белый свет исходники семёрки. Вряд ли, конечно, да и лють страшные они же, судя по тому, что уже отреверсили. |
|||
163
Злопчинский
07.02.24
✎
15:12
|
(162) "Спасибо, поржал"
Это ж капитализьм, за копейку удавятся.. |
|||
164
Djelf
07.02.24
✎
16:27
|
Поскольку в FormEx сейчас появляются новые свойcтва и методы, причесал свою древнюю обработку FormEx2INTS, требует 1С++ для использования Объекта Информатор.
Замечание: эта обработка вытащит все недокументированные и не стабильные свойства и методы. Что делать с файлами *.ints надеюсь вы и сами знаете.... https://cloud.mail.ru/public/ZouA/pFQdBXPtf |
|||
165
mishaPH
07.02.24
✎
15:21
|
(164) а что она делает?
|
|||
166
Djelf
07.02.24
✎
16:40
|
(165) Создает файлы подсказок (*.ints) для Объектов после точки, для скрипта Intellisense под OpenConf.
|
|||
167
Arbuz
07.02.24
✎
15:25
|
(152) Посмотрел бегло. Ух ты ж, даже в ОбработкаБлокировкиОбъекта() видно стэк вызовов! Не показывает только номер строки из ПриНачалеРаботыСистемы(), но это ерунда.
(122) Как-то не совсем у меня работает. Была у меня идея при появлении сообщений увеличивать окно сообщений и через некоторое время уменьшать до одной строки. Отдельно из обработки работает ПоказатьСтроку(), а в глобальном обработчике ожидания, после УстановитьКоординаты() почему-то не меняет строку. Может я чего-то накосячил, пока нет времени разбираться. |
|||
168
Eiffil123
07.02.24
✎
17:17
|
(33) а что случится в 2038 году?
|
|||
169
Djelf
07.02.24
✎
17:19
|
(169) 1С 7.7 налетит на звездную ось и разрушится...
Погугли, это просто... |
|||
170
mishaPH
07.02.24
✎
17:22
|
||||
171
Волшебник
07.02.24
✎
19:48
|
(170) Сыровата система...
|
|||
172
АЛьФ
07.02.24
✎
20:16
|
2(172) Ну, так поэтому мы над ней еще и работаем.
|
|||
173
Волшебник
07.02.24
✎
20:24
|
(172) Я вас всех клюшечников поддерживаю. Я просто не понимаю ваш статус. Вы получили исходники семёрки и можете её дорабатывать?
|
|||
174
Волшебник
07.02.24
✎
20:23
|
Сразу отвечаю, нет. Семёрка умерла по исходникам.
Значит мы имеем дело с тушкой или трупом, которую пытаются оживить через плагины/расширения... Мёртвое тело не даст живых всходов. Это в Библии написано. Семёрка морально умерла, потому что исходники семёрки похоронены. |
|||
175
Djelf
07.02.24
✎
20:27
|
(174) Не согласен. У нас есть исходники, частично, но этого для такой простой платформы достаточно.
|
|||
176
AAA
07.02.24
✎
20:30
|
Не верю, что исходники закопали или сожгли. Где то они есть )
|
|||
177
AAA
07.02.24
✎
20:31
|
(174)"Мёртвое тело не даст живых всходов" - я атеист, но сомневаюсь в точности Вашей фразы. Для христиан нет мертвого тела, потому что нет смерти
|
|||
178
AAA
07.02.24
✎
20:34
|
И подозреваю, что у разработчиков обсуждаемых вкусностей был какой то доступ к исходникам.
|
|||
179
mishaPH
07.02.24
✎
20:42
|
(174) (173) А создается ощущение, что при малейшем ее упоминании прям ярость какая-то спонтанная. А при попытках кого-то спросить что-то прям агрессия. С закрытием веток
|
|||
180
АЛьФ
07.02.24
✎
20:48
|
2(173) Зачем исходники?
2(174) У тебя есть исходники v8? Их отсутствие как-то мешает тебе в работе? |
|||
181
Волшебник
07.02.24
✎
20:49
|
(179) И что? Это моё личное.
|
|||
182
АЛьФ
07.02.24
✎
20:52
|
2(178) Могу показать кусочек кода, из которого я сейчас выцепляю место хранения маркера сообщения.
Подробности.text:23019F40 sub_23019F40 proc near ; CODE XREF: CMainMessageHandler::WriteMessage(char const *,CMessageInfo &,int)+9C↑p .text:23019F40 .text:23019F40 var_4 = dword ptr -4 .text:23019F40 LineNum = dword ptr 4 .text:23019F40 .text:23019F40 push ecx .text:23019F41 push ebx .text:23019F42 push ebp .text:23019F43 push esi .text:23019F44 push edi .text:23019F45 mov edi, [esp+14h+LineNum] .text:23019F49 mov esi, ecx .text:23019F4B mov eax, edi .text:23019F4D xor edx, edx .text:23019F4F mov ebp, [esi+8] .text:23019F52 mov ecx, [esi+4] .text:23019F55 shr eax, 4 .text:23019F58 div ebp .text:23019F5A test ecx, ecx .text:23019F5C mov ebx, edx .text:23019F5E mov [esp+14h+var_4], ebx .text:23019F62 jz short loc_23019F84 .text:23019F64 mov eax, [ecx+ebx*4] .text:23019F67 test eax, eax .text:23019F69 jz short loc_23019F80 .text:23019F6B .text:23019F6B loc_23019F6B: ; CODE XREF: sub_23019F40+34↓j .text:23019F6B cmp [eax+8], edi .text:23019F6E jz short loc_23019F78 .text:23019F70 mov eax, [eax] .text:23019F72 test eax, eax .text:23019F74 jnz short loc_23019F6B .text:23019F76 jmp short loc_23019F80 .text:23019F78 ; --------------------------------------------------------------------------- .text:23019F78 .text:23019F78 loc_23019F78: ; CODE XREF: sub_23019F40+2E↑j .text:23019F78 test eax, eax .text:23019F7A jnz loc_2301A033 .text:23019F80 .text:23019F80 loc_23019F80: ; CODE XREF: sub_23019F40+29↑j .text:23019F80 ; sub_23019F40+36↑j .text:23019F80 test ecx, ecx .text:23019F82 jnz short loc_23019FB2 .text:23019F84 .text:23019F84 loc_23019F84: ; CODE XREF: sub_23019F40+22↑j .text:23019F84 lea ebx, ds:0[ebp*4] .text:23019F8B push ebx ; unsigned int .text:23019F8C call ??2@YAPAXI@Z ; operator new(uint) .text:23019F91 mov ecx, ebx .text:23019F93 mov edi, eax .text:23019F95 mov edx, ecx .text:23019F97 xor eax, eax .text:23019F99 shr ecx, 2 .text:23019F9C mov [esi+4], edi .text:23019F9F mov ebx, [esp+18h+var_4] .text:23019FA3 rep stosd .text:23019FA5 mov ecx, edx .text:23019FA7 add esp, 4 .text:23019FAA and ecx, 3 .text:23019FAD rep stosb .text:23019FAF mov [esi+8], ebp |
|||
183
АЛьФ
07.02.24
✎
20:51
|
2(181) Зачем же тогда выносить это на публику?
|
|||
184
Волшебник
07.02.24
✎
20:51
|
(180) v8 развивается, выпускаются новые релизы.
Ваша мёртвая v7 умирает. "Оставьте людям хоронить своих мертвецов" (в Библии написано). Я человек верующий, хотя это к делу не относится. Просто признайте, что Вы работаете с трупом. |
|||
185
Волшебник
07.02.24
✎
20:54
|
(183) Потому что v7 — важная часть моей личности (архивная часть)
|
|||
186
Chai Nic
07.02.24
✎
20:54
|
Семерка работает на любом железе последних 30 лет. А восьмерка? Там даже "тонкий" клиент настолько толстый, что требует проц с SSE2.
|
|||
187
АЛьФ
07.02.24
✎
20:55
|
2(184) Хорошо, признаю. Мы работаем с трупом.
|
|||
188
Волшебник
07.02.24
✎
20:55
|
(186) Семёрку надо убить. Если она ещё где-то работает, то не должна.
|
|||
189
Волшебник
07.02.24
✎
20:58
|
(187) Ну вот и славно. Клюшечники = трупоеды, получается.
|
|||
190
AAA
07.02.24
✎
20:58
|
(185)и что? Все должно быть так как Вы думаете ?
|
|||
191
АЛьФ
07.02.24
✎
20:59
|
2(189) Получается, что так.
|
|||
192
АЛьФ
07.02.24
✎
20:59
|
2(188) Кому надо?
|
|||
193
AAA
07.02.24
✎
21:00
|
(192)тому кто все за всех решил
|
|||
194
Волшебник
07.02.24
✎
21:01
|
(190) Конечно, нет. Не должно быть. Просто Вы признали сей факт.
А я думаю по-другому. Миста как форум готова принять всех, включая трупоедов-клюшечников. |
|||
195
Волшебник
07.02.24
✎
21:03
|
(192) Никому
|
|||
196
AAA
07.02.24
✎
21:03
|
(194)лично я ничего не признавал
|
|||
197
Волшебник
07.02.24
✎
21:04
|
(196) А мы Вашу личность даже не инспектировали, если чо
|
|||
198
MWWRuza
07.02.24
✎
21:08
|
Ээээ...
Я чего-то не понял, с окном сообщений что стало? Нет, я конечно читал всю тему, но, думал, для использования новых возможностей надо что-то делать :-) Раньше был отдельный метод, для того, что-бы длинные строки разбивать построчно... Я сейчас никаких методов для этого не применял, просто при старте системы ФормЕкс загружен, но, длиннющую строку, которую я в Сообщить() вывел для отладки(просто посмотреть, что запрос работает), выкинуло в табло как так и надо: Получается, для таких лентяев как я, это просто суперское облегчение:-)))) Ничего писать специально не нужно, достаточно загрузить новый ФормЕкс, и убогое табло 1с77 превращается в вполне приличное! Раньше, делать табло многострочным, не всегда руки доходили, это нужно было в основном "для себя"... А тут, "оно само!" Супер :-) АЛЬФ, спасибо! |
|||
199
AAA
07.02.24
✎
21:05
|
(197)Без комментариев.
|
|||
200
Волшебник
07.02.24
✎
21:06
|
(199) Я тоже слежу за вами.
|
|||
201
АЛьФ
07.02.24
✎
21:12
|
2(198) Разбивку длинных строк я раньше сделал, еще до публикации этой сборки.
|
|||
202
Волшебник
07.02.24
✎
21:14
|
Теперь вопросы к Альфу:
Может хватит уже? |
|||
203
АЛьФ
07.02.24
✎
21:15
|
2(202) Чего именно "хватит"?
|
|||
204
Волшебник
07.02.24
✎
21:16
|
Что имеем: Альф распространяет свои гнилые/правильные исходники через мисту.
|
|||
205
Волшебник
07.02.24
✎
21:17
|
При этом Альф ненавидит мисту.
|
|||
206
Волшебник
07.02.24
✎
21:18
|
Где гарантия, что исходники Альфа не будут содержать закладку для пользователей мисты?
|
|||
207
AAA
07.02.24
✎
21:19
|
Умора...)
|
|||
208
Djelf
07.02.24
✎
21:20
|
(194) Ты оскорбляешь пользователей и программистов на 1с 7.7 по признаку использования ими платформы 1С 7.7, подобное в России не приветствуется.
Еще более странно подобное выслушивать от создателя и супер-модератора форума, в котором разделены подфорумы платформ 8.3 и 7.7. Господа, переходите на более трезвые и адекватные варианты своих сообщений, иначе кажется что ваш ЗОЖ чем-то странным разбавлен... |
|||
209
Волшебник
07.02.24
✎
21:19
|
Доверия нет, понимаете?
|
|||
210
АЛьФ
07.02.24
✎
21:20
|
Понятно.
|
|||
211
Волшебник
07.02.24
✎
21:20
|
Миста-Альф - потеряно доверие
|
|||
216
mishaPH
07.02.24
✎
21:23
|
(214) значит не в курсе.
с какой конфигурации начиналась 8ка? и почему с нее |
|||
222
MWWRuza
07.02.24
✎
21:33
|
(201) Значит я просто давно не обновлял Формекс.
Я знал, что можно так делать: Перехватчик=СоздатьОбъект("Перехватчик"); Перехватчик.ВключитьРазбиениеДлинныхСтрокДляМетодаСообщить(); И вообще, это не из ФормЕкса, а из 1с++ Но, что и без этого, оно само так работает, для меня сегодня было открытием :-) |
|||
223
Djelf
07.02.24
✎
21:33
|
(215) Ну и правильно, незачем слабовидящим исправлять свои очепятки.
Так всех и победим. |
|||
224
АЛьФ
07.02.24
✎
22:01
|
Выложил новую сборку. Добавил два метода:
КоличествоСтрок() LinesCount() Синтаксис: КоличествоСтрок() Назначение: Возвращает количество строк, выведенных в окно сообщений. ПолучитьСтроку(<?>,,) GetLine(<?>,,) Синтаксис: ПолучитьСтроку(<НомерСтроки>,<ТекстСообщения>,<МаркерСообщения>) Назначение: Метод предназначен для получения строки из окна сообщений. Параметры: <НомерСтроки> - номер строки. Нумерация строк с нуля. Отрицательное значение задает номер строки с конца (с последнего выведенного и вверх); <ТекстСообщения> - необязательная переменная, в которую вернется текст сообщения; <МаркерСообщения> - необязательная переменная, в которую вернется маркер сообщения. |
|||
225
Волшебник
07.02.24
✎
22:02
|
(223) Вы ерунду говорите. У нас все просто и прямо.
|
|||
226
Волшебник
07.02.24
✎
22:03
|
(224) Зачем??!
|
|||
227
АЛьФ
07.02.24
✎
22:04
|
2(226) Чтобы люди пользовались.
|
|||
228
Волшебник
07.02.24
✎
22:05
|
(227) Ну ок
|
|||
230
mishaPH
07.02.24
✎
22:33
|
(220) + 229
1с8 начиналось с HR модуля. 1с персонал такой проект знаком? и на какой он платформе. ну и последний вопрос. фамилию мою знаете? если да не помните такую из прошлой жизни? 8ка уже мертва. она устарела к современным технологиям. 7ка останется легендой а про 8ку очень быстро в мире потреблядства и прогов кодеров а не 1с ников забудут. |
|||
231
Злопчинский
07.02.24
✎
23:59
|
(222) так еще можно делать несколько окон сообщений, управлять их положением/парковкой, сохранять содержимое в файл одной командой
|
|||
232
MWWRuza
08.02.24
✎
00:04
|
(224) Вопрос - а чему равна длина строки? Если я вывожу в табло методом Соббщить(<Стр>) огромную строку(это JSON, прилетевший из ЧестногоЗнака), одной длинной строкой, то в табло оно сейчас разбивается на кучу строк. Отлично! Но, хочется понять, по сколько символов эти куски будут?
(231) Ок. Супер. А из ГМ эта процедура будет работать? |
|||
233
Злопчинский
08.02.24
✎
00:09
|
(232) обычная процедура, видимость переменных только учти или параметрами сделай
|
|||
234
Злопчинский
08.02.24
✎
00:11
|
(232) длина строки - ну посмотри у себя выше на какую длину бьет...
если мне не сильно отшибло память - ругалось когда примерно 190 символов строка длинее была |
|||
235
Злопчинский
08.02.24
✎
00:17
|
(232) проверил, бъет на строки по 450 символов
|
|||
236
Злопчинский
08.02.24
✎
00:20
|
АЛьФ, было бы удобно имеет "настроечный параметр" (для окна сообщений? у каждого ОС - свой настроечный параметр -атрибут?), задающий размер "короткой" строки при делении "длинной строки" для вывода в ОС, по умолчанию пусть будет, например, 80 символов ( ;-)дань перфокарте) ну или как сделал 450
|
|||
237
Злопчинский
08.02.24
✎
00:21
|
.. потому что часто окно сообщений - для визуального осмотра/контроля, и когда осматриваемая инфа вылазит за "границу" окна - не сильно удобно...
|
|||
238
DimVad
08.02.24
✎
09:16
|
(188) // Семёрку надо убить. Если она ещё где-то работает, то не должна.
Знаю предприятие, где работает учётка на клиппере. Года 3 назад они искали для неё программиста сопровождать и поддерживать. Сейчас в связи с СВО у них появились не слабо деньги (продукция стала очень востребована) и они хотят всё учётное перегнать на erp. Посмотрим что будет :-) |
|||
239
Волшебник
08.02.24
✎
09:29
|
(238) Последняя версия Clipper была выпущена в 1997 году, как раз когда я впервые познакомился с 1С. Тогда я застал 1С Зарплата для DOS и фирма купила 1С 7.0, на которой я и начал писать.
Ну и долго мы будем тащить за собой этот багаж? |
|||
240
mishaPH
08.02.24
✎
09:31
|
(239) сколько нужно бизнесу ибо он платит и он знает. что делать. не нам учить их жизни. я в начеле 00х работал в оптовке автозапчастей. Так контора федерал могул в финке в то время работала на чем-то стародосовском и прекрасно работала
|
|||
241
trad
08.02.24
✎
09:46
|
(188) // Семёрку надо убить. Если она ещё где-то работает, то не должна.
(239) // Ну и долго мы будем тащить за собой этот багаж? Ну так и не тащите, начните с себя. Удалите раздел 7.7, запретите ветки про клюшки |
|||
242
AAA
08.02.24
✎
09:52
|
(241)проблема в том, что от этого 77 не умрет, просто ее здесь не будет )
И утверждалось, что она труп и все 77 шники трупоеды. Но как можно убить труп? Живой труп ?)) |
|||
243
Волшебник
08.02.24
✎
09:53
|
(241) Подожду пока
|
|||
244
Волшебник
08.02.24
✎
09:54
|
(242) Живой труп — это зомби
|
|||
245
trad
08.02.24
✎
09:55
|
(242) в (241) лишь призыв к Волшебник быть последовательным, а не спор труп/не труп
|
|||
246
АЛьФ
08.02.24
✎
09:56
|
2(241) Форум и так уже умирает. Это его не добьет, конечно, но станет лишней каплей яда для умирающего.
|
|||
247
Волшебник
08.02.24
✎
09:57
|
(246) О, прикольно. Теперь миста будет соревноваться с семёркой: кто кого переживёт
|
|||
248
trad
08.02.24
✎
09:58
|
(243) Зачем тогда других призывать к действию, агитировать, а самому стоять в сторонке?
Действуйте! |
|||
249
АЛьФ
08.02.24
✎
09:59
|
2(247) Не будет, конечно.
|
|||
250
Волшебник
08.02.24
✎
10:00
|
(248) Разрешите мне самому решать, когда и как действовать, ок? Спасибо.
|
|||
251
mishaPH
08.02.24
✎
10:00
|
ну да. не убили ЗОЖЕм форму, добить запретом клюшек.
|
|||
252
Волшебник
08.02.24
✎
10:01
|
Клюшечники-трупоеды включили обиженку...
|
|||
253
trad
08.02.24
✎
10:02
|
(250) Взаимно
|
|||
254
АЛьФ
08.02.24
✎
10:06
|
2(250) Не возражаю.
|
|||
255
AAA
08.02.24
✎
10:14
|
Эти трупоеды способствовали развитию 1С, продвигали ее в массы, позволили захватить рынок. Без внешних компонент типовые решения 1с выглядят унылр и скучно, и не будь всего этого добра от Альфа и его друзей, еще непонятно, как бы и что было сейчас.
У предприятия есть решение, легкое, быстрое, во всем его устраивает. И куда ему двигаться с него: - Розница - УТ 11 - БП 3 - КА 2 - ERP 2 В типовых много чего напихано, но ступудово нет многого, что нужно клиенту. Лицензии, железо, внедрение, обучение и что в итоге? Прибыль увеличится? за счет того, что кассир при выдаче денег будет как и все остальные сжирать своей сессией 3 гига оперативки? Типовые сложны, запутаны. часто нелогичны, практически недокументированы. Практически такой же самопал, ну чуть чуть есть пыльца промышленного продукта. И в чем развитие? десяток платформ, бесконечные метаданные для удаления и много чего еще. Да, много нового, местами интересного, много сделано в плане интеграции. Но все очень и очень не безоблачно и не безупречно |
|||
256
mishaPH
08.02.24
✎
10:18
|
(255) ВР был прогом стал эффективным манагером сейчас. вот его и бесит что деньги мимо утекают видимо
|
|||
257
АЛьФ
08.02.24
✎
10:26
|
2(256) Я бы не сказал, что он когда-то был прогом.
|
|||
258
DimVad
08.02.24
✎
10:56
|
(239) // Ну и долго мы будем тащить за собой этот багаж?
Вопрос интересный. Вот есть учётки на клиппере. Сейчас они крутятся под DOSBox на компах с "десяткой". Если надо будет перенести под линукс - вообще без проблем. Нужно ли в самом клиппере что-то новое ? Так ведь он - просто язык для удобной работы с dbf, и больше ничего. Если надо что-то передать в современную программу (например, 1С) то он просто пишет во внешний файл типа obmen.dbf - и бери себе... Теперь такой момент. Вот на предприятии привыкли что всё в учетной системе сделано строго под них. Там есть ТОЛЬКО кнопочки которые нужны на конкретном рабочем месте. Делают именно то, что нужно конкретному предприятию. На разных рабочих местах - разные экзешники. Ну мы же не монолит какой-нибудь :-) И вот теперь они займутся горячим кексом с erp с надеждой что "всё там будет и уже правильно". Типа "erp придёт - порядок наведёт..." :-) Посмотрим что они через пару годиков скажут... и будут ли в их речи цензурные слова... |
|||
259
mishaPH
08.02.24
✎
11:10
|
(258) интересно а есть ли ерп вообще внедренные.
Забавно наблюдать все эти внедрения на предприятиях. где 99% причин провала это как раз попытка заставить людей делать что-то сверх их итак же забитой работой жизни. Особенно смешны выглядят руководители и манагеры которые думают, а вот пусть параллельно и там и там что то делают. Итого все эти внедрения далее бух не идет. |
|||
260
DimVad
08.02.24
✎
11:24
|
(259) Мне кажется тут вся фишка в том, что считать "внедрением". Варианты :
1. На хорошо знакомом мне предприятии продолжает работать УПП которая сбрасывает данные в erp. Которую "тоже внедрили" :-) 2. Точно есть те, что УПП вытеснили полностью, erp работает, но финансы предприятия это никак не улучшило. Ибо продажи не увеличились и себестоимость не упала. Просто потратили деньги на переход. Фирма 1С называет это "успешным внедрением" :-) 3. Внедрить так, чтобы окупить переход и прибыль получить... будем добры - возможно в РФ и существуют предприятия, которым это удалось. Не могу отрицать такую возможность :-) p.s. Кстати, на том предприятии где клиппер чаще всего работал один-единственный программист с ЗП как у мастера в цехе. И был доволен :-) Никаких лицензий... |
|||
261
АЛьФ
08.02.24
✎
11:29
|
2(259) У нас в таком режиме новые собственники хотели внедрять ЕРП. Прям глаза горели. Благо все заглохло еще на этапе нашей им просьбы написать чего они хотят получить от системы для начала.
|
|||
262
mishaPH
08.02.24
✎
11:32
|
(260) ну и вот вопрос. а УПП то чем далее мешало работать? управление заводом пр-во это как торговля. Раз внедрил под свои процесс, подправил процессы немного если надо и все. Далее как в торговле работает годами. Чего нового может быть в управлении производством то.
|
|||
263
АгентБезопасной Нацио
08.02.24
✎
11:32
|
(258) Ну, одной работой с данными сейчас дело не ограничивается. А интерфейсные возможности у клиппака так себе. Хотя я на нем делал даже некоторое подобие олап-кубика с дрилл-дауном... Но все равно, достаточно уныло.
Блокировками при сетевой работе тоже надо самостоятельно заморачиваться (забавно, что в 93 я делал не так, как в клюшках - "постепенные расчеты и запись в базу", а как в современных конфигах на УФ - "все считаем, складываем в таблицы, и единоразово пишем"). (260) Лицензии на клиппер тоде надо было покупать. У меня даже где-то валяется лицензионный комплект клиппера+NG к нему - на 5-дюймовках... |
|||
264
DimVad
08.02.24
✎
11:35
|
(261) Помню у нас так же внедряли упп. Тоже новые собственники, и тоже мы их просили написать что они хотят.
Ответ был такой "у вас две недели чтобы решить увольняетесь вы или внедряете упп" :-) УПП внедрили а через несколько лет выкинули и поставили какой-то специализированный софт. Я точно не знаю - я был уже в другом месте. С т.з. старого отдела деньги на внедрение упп пошли нереальные. Вот я и думаю - у нас тут нынче разные санкции... Долго ли ещё мы будет в эти игры играть... |
|||
265
DimVad
08.02.24
✎
11:40
|
(263) Лицензия на клиппер - только для разработчика. У меня ещё валяется, как и на клиппертулз :-)
А написанную на клиппере программу можно потом ставить миллиарду пользователей без лицензии. Блокировки там идут на запись - при разумном подходе конфликта блокировок вообще не бывает. Сложность нулевая - просто блокируется текущая запись. Интерфейсные возможности - ну я быстренько сделал свою оконную библиотеку. Под алфавитно-цифровой режим это вообще не проблема. |
|||
266
АгентБезопасной Нацио
08.02.24
✎
11:49
|
(265) Да, клиппертулз я забыл - тоже в комплекте...
Интерфейсные я тоже писал... А насчет блокировок - зависит от реализации. Если делать "итоги" ("аналог RG"), но на блокировки наталкиваешься... |
|||
267
Злопчинский
08.02.24
✎
11:51
|
да вообще даже... насколько нужно использование графического гуя?
|
|||
268
АЛьФ
08.02.24
✎
12:32
|
А вот такая еще мысль возникла: нужна ли в окне сообщений возможность ставить закладки и перемещаться по ним?
|
|||
269
DimVad
08.02.24
✎
12:44
|
(266) "итоги" я делал только помесячные.
Типа "рассчитаем сальдовку" на начало текущего месяца. В программе хранится по какой месяц итоги рассчитаны. Когда важны оперативные итоги то функция берёт сальдо и смотрит начисления и оплаты за текущий период по данному договору. Всё, никаких блокировок. Никаких "вы тронули старый период и всё накрылось", кстати :-) |
|||
270
Злопчинский
08.02.24
✎
12:45
|
(268) хм... смысл? это если только несколько ОС, и каждое ОС - на отдельной закладке. Но такое мне кажется будет противоречить настройкам каждого ОС отдельного и тогда придется изобретать что-то типа ОС.ПрикрепитьНаЗакладку...
. это чисто ВПДБ |
|||
271
DimVad
08.02.24
✎
12:46
|
(267) Нужно только для построения красивых картинок для высшего руководства (делается другими программами). Для операторов нафиг не надо. Ибо сильно тормозит работу т.е. требует больше операторов - больше денег.
|
|||
272
АЛьФ
08.02.24
✎
12:53
|
2(270) Имеются ввиду букмарки, как в Конфигураторе по Alt+F2 ставятся.
|
|||
273
Злопчинский
08.02.24
✎
13:46
|
(272) а, да, это дело нужное, вполне пригодится
|
|||
274
Arbuz
08.02.24
✎
17:05
|
Какой-то прорыв на кринжопровóде...
|
|||
275
Злопчинский
08.02.24
✎
17:39
|
(274) у программиста два состояния. Или тупняк, или поперло.
|
|||
276
Волшебник
модератор
08.02.24
✎
19:57
|
Ладно, живите [v7 на мисте]... Но я за вами буду тайно наблюдать. Возможно даже буду проверять исходники. Просто буду глазеть, что тут происходит...
|
|||
277
Злопчинский
08.02.24
✎
19:46
|
(276) Это правильно, это хорошщо. Истинные ценности не отпускают...
|
|||
278
Волшебник
08.02.24
✎
19:52
|
(277) Помню свои корни...
|
|||
279
AAA
08.02.24
✎
19:55
|
Альф он хитрый, все исходники в машинных кодах
(278)а я вот не помню, без рода. без племени, без корней. |
|||
280
Волшебник
08.02.24
✎
20:02
|
Я помню как меня чморили клюшечники за секцию v8... Они прямо требовали выделить эту хрень (v8) в отдельную секцию с возможностью "Скрыть". Всё было реализовано тогда.
Теперь реальность изменилась. Теперь v7 в меньшинстве. Но миста поддерживает v7. Обратите внимание: Я лично другого мнения (ну было выше), но это моя личная точка зрения, которая не совпадает с форумом и реальностью. На мисте есть секция v7. Вам там рады. |
|||
281
Злопчинский
08.02.24
✎
20:04
|
(280) мне вообще везде рады.
|
|||
282
Волшебник
08.02.24
✎
20:05
|
(281) Вы просто хороший человек. Это не связано с платформами.
|
|||
283
Волшебник
08.02.24
✎
20:13
|
Ещё раз проговорю: v7 - ОК
На мисте есть секция v7, где всем рады. ( Нужен ведущий секции что ли? ) Я лично НЕ поддерживаю v7, а поддерживаю v8 по личным причинам (личная биография). Но моё личное мнение не является "мнением форума", которого не бывает, ибо форум просто движок, а буквы "v7" просто разделитель учёта. Итак, раздел "v7" будет жить, пока там будут создавать ветки и писать сообщения. Вы уж простите мои каменты типа "Семёрка ещё сырая" под каждой веткой. |
|||
284
alyuev
08.02.24
✎
20:18
|
(160). Сделал тест на голой базе. Загружен только Формекс. Если сделать так:
Рез=ЗагрузитьВнешнююКомпоненту(КаталогПрограммы()+"FormEx.dll"); РасширенноеОкноСообщений=СоздатьОбъект("ОкноСообщений"); РасширенноеОкноСообщений.Парковать(4); РасширенноеОкноСообщений.ПодключитьСистемноеОкноСообщений(); То Окно сообщений или не паркуется или пропадает. Но если сначала вызвать ПодключитьСистемноеОкноСообщений, а потом Парковать - то выполняет парковку нормально. |
|||
285
Волшебник
08.02.24
✎
20:22
|
(284) У Вас Одесса всё ещё Украина, а в интересах "Книга Урантии", может поэтому?
|
|||
286
mishaPH
08.02.24
✎
20:27
|
(283) ну и то дело
|
|||
287
Asmody
08.02.24
✎
20:28
|
(283) предлагаю ветки про v7 сопровождать вот этой эмозькой ⚱️
|
|||
288
alyuev
08.02.24
✎
20:29
|
(285) И тут Остапа понесло... К чему крокодилы с ящиками мешать?
(284) На 147й версии Формекс - Парковать до ПодключитьСистемноеОкноСообщений() не отрабатывает (т.е. при любом значении параметра ничего не меняет, но при этом и окно не прячет! |
|||
289
Волшебник
08.02.24
✎
20:30
|
(288) Сами не смешивайте
|
|||
290
Волшебник
08.02.24
✎
20:31
|
(287) Нельзя. Мы же толерантные.
|
|||
292
alyuev
08.02.24
✎
20:44
|
(289) Учетка заполнялалась давно. Что будет дальше с Одессой - время покажет. Главное - было бы к тому времени кому поменять учетку... А интересы - и страна (город, мирское) - это параллельные реальности... На сём предлагаю закончить эту полемику оффтоп...
|
|||
293
Волшебник
08.02.24
✎
20:45
|
(292) Да, пишите по делу, иначе Вас заблокируют
|
|||
294
АЛьФ
08.02.24
✎
22:12
|
Сборка 191.
Добавил предопределенную процедуру ПриВыводеСтрокиСостояния(). В объект ОкноСообщений добавил атрибут МаксимальнаяДлинаСтроки и методы: УстановитьЗакладку, ЕстьЗакладка, ПолучитьЗакладку, ОчиститьЗакладки. |
|||
295
АЛьФ
08.02.24
✎
22:16
|
2(284) Поясню как работает изнутри:
ос = СоздатьОбъект("ОкноСообщений"); // тут создается дополнительное невидимое окно сообщений ос.Парковать(4); // для созданного окна передается команда парковки ос.ПодключитьСистемноеОкноСообщений(); // созданное дополнительное окно уничтожается и объект подключается к системному окну Если планируется работа с системным окном, то его надо подключать (ПодключитьСистемноеОкноСообщений) до вызова каких-либо иных методов работы с окном. |
|||
296
АЛьФ
08.02.24
✎
22:18
|
+(294) В этой сборке несколько "потрогал" старые методы объекта ОкноСообщений, причесывал код, поэтому могут вылезти глюки.
|
|||
297
MWWRuza
09.02.24
✎
03:07
|
+(236) задающий размер "короткой" строки при делении "длинной строки" для вывода в ОС, по умолчанию пусть будет, например, 80 символов ( ;-)дань перфокарте) ну или как сделал 450
То, что в (294) - МаксимальнаяДлинаСтроки хорошо, но, в идеале было-бы "подстраивать" длину строки автоматом к ширине ОС, что-бы не нужно было по горизонтали прокручивать, или где-то задавать длину принудительно... Ну, это так, мысли в слух, "на подумать", если это не слишком сложно. Или "МаксимальнаяДлинаСтроки" вынести на страничку свойст ВК в меню сервис, как "ВключитьРаскраску": Это было бы удобно именно для системного ОС, не которое программно создается, а которое по умолчанию само работает :-) |
|||
298
АЛьФ
09.02.24
✎
09:02
|
2(297) Автоматом максимальную длину строки не получится подстраивать под ширину окна. Я вообще не знаю почему 1С ввели это значение вместо обычного "переноса по словам". При уменьшении значения максимальной длины приходится очищать окно сообщений, иначе из-за ранее выведенных строк большей длины возникает системное предупреждение "Длина строки превышает...".
И в параметры не вижу смысла выносить это значение. Заморочек много, а толку - ноль. Максимальную длину имеет смысл менять только для отладочных сообщений. ИМХО. Проще в коде прописать. А если дать менять пользователям, то могут возникнуть разнообразные нехорошие эффекты. |
|||
299
АЛьФ
09.02.24
✎
11:41
|
Вопрос.
Может стоит сделать отдельный объект "СистемноеОкноСообщений", который будет наследником объекта "ОкноСообщени", но для которого при создании будет автоматом подрубаться системное окно? Это позволит избежать некоторых недоразумений и упростит работу с системным окном, если дополнительные не нужны. С другой стороны это упрощение можно сделать и просто глобальной функцией, которую везде использовать в качестве замены СоздатьОбъект(): Функция ПолучитьСистемноеОкноСообщений() Экспорт Результат = СоздатьОбъект("ОкноСообщений"); Результат.ПодключитьСистемноеОкноСообщений(); Возврат Результат; КонецФункции |
|||
300
Злопчинский
09.02.24
✎
12:42
|
(299) я бы не стал дополнительную такую заморочку делать... Если работу с ОС уже делают в коде, то сделать типа как функция приведена - это вообще ни о чем...
|
|||
301
Злопчинский
09.02.24
✎
12:59
|
(294) АЛьФ, "В объект ОкноСообщений добавил атрибут МаксимальнаяДлинаСтроки" - по умолчанию какое значение?
|
|||
302
АЛьФ
09.02.24
✎
13:01
|
2(301) По умолчанию то, которое система ставит. Насколько я понимаю, 497 (т.е. 500 минус перенос строки и какой-то маркер внутренний).
|
|||
303
Злопчинский
09.02.24
✎
13:36
|
(302) а под количеством строк, номером строки и прочими аналогичными операциями понимается - насколько я разумею - количество маркеров/сообщений
то есть Сообщить("Строка1"+РазделительСтрок+"Строка2"); Сообщить("Строка3"+РазделительСтрок+"Строка4"); и ОС.КоличествоСтрок() - вернет = 2, так? |
|||
304
АЛьФ
09.02.24
✎
13:54
|
2(303) Нет, это именно количество выведенных строк. Т.е. в данном примере вернет 4.
А если Сообщить(СтрокаДлиной_1100); то вставит переносы строк и количество вернет 3. |
|||
305
Злопчинский
09.02.24
✎
14:05
|
(304) так-с... Значит ОС.ПолучитьСтроку(2,ТекстСообщения) вернет в ТекстСообщения - "Строка3" (нумерация с 0: 0,1,2..) - так?
|
|||
306
АЛьФ
09.02.24
✎
14:08
|
2(305) Да.
|
|||
307
Злопчинский
09.02.24
✎
14:18
|
АЛьФ, тогда уже прям так просится и что-то типа
ОС.НайтиСтроку(ИскомаяСтрока,НаправлениеПоиска); возвращает номер найденной строки или -1 (потому что 0 возвращать нельзя, это номер первой строки) НаправлениеПоиска: 1 - прямой поиск, -1 - обратный поиск. или (а может даже И) типа как ФС.НайтиПервыйФайл/ФС.НайтиСледующийФайл типа СтрокаПоиска = "чешем ЧСВ"; НомерСтроки = ОС.НайтиПервуюСтроку(СтрокаПоиска,1); //1- прямо,-1 обратно) Пока НомерСтроки <> -1 Цикл //что-то делаем с найденной строкой (ставим маркер, например) НомерСтроки = ОС.НайтиСледующуюСтроку(); КонецЦикла; |
|||
308
Злопчинский
09.02.24
✎
14:23
|
...и типа метод для ЗАМЕНЫ строки/подстроки в ОС
типа ОС.ЗаменитьСтроку(НомерСтроки,ИсходнаяПодстрока,СтрокаЗамены); ОС.ЗаменитьСтроку(12456,"Было","Стало"); . возвращает 1 - если успешно, 0 - если в НомерСтроки нет ИсходнаяПодстрока . Если НомерСТроки не задан (параметр опущен или меньше нуля) тогда замена происходит по всем строкам ОС, возвращает 1 - если есть хотя бы одна замена, 0 - ни одной замены. . Возможно, еще параметр типа УчитыватьРегистр. |
|||
309
АЛьФ
09.02.24
✎
14:23
|
2(307) Да, тоже думал об этом. Но тогда уж по аналогии с закладками сделаю:
ОС.НайтиСтроку(НомерСтрокиНачалаПоиска,ИскомаяПодстрока,НаправлениеПоиска); |
|||
310
АЛьФ
09.02.24
✎
14:24
|
2(308) Для этого сделана предопределенная ПриВыводеСообщения(). В ней можно менять текст сообщения и маркер.
|
|||
311
Злопчинский
09.02.24
✎
14:28
|
.. но тут (в 308) возможен вариант когда в результате замены строка превысит установленный предел длины строки - в этом случае замена не выполняется, результат возвращается как "неудача", но это работает только для замены по конкретной строке, если замена по всему ОС - тогда (подумать) замены не происходит, результат операции зависит от того есть ли другие успешные замены.
. Возможно, ОС.ЗаменитьСтроку возвращает СЗ (ТЗ?) с номерами строк успешных замен (НомерСТроки,1) и номерами строк неуспешных замен (НомерСТроки,-1). Для ОС.ЗаменитьСтроку(НомерСтроки,...) - в возвращаемом СЗ (ТЗ) будет всего одно значение/строка... |
|||
312
АЛьФ
09.02.24
✎
14:31
|
2(311) Зачем менять уже выведенные строки?
|
|||
313
Злопчинский
09.02.24
✎
14:33
|
(310) ээээ! "это другое", я полагаю, что использование ПриВыводеСообщения будет существенно "притормаживать" процесс вывода строк в ОС. И ПриВыводеСообщения() работает только при формировании ОС, а процесс формирования когда закончился - ОС все еще существует и можно уже с ним работать ОТДЕЛЬНО, а не в процессе его формирования... ОС вообще можно наполнять не единоразово, а по этапам/шагам с перерывами, и возможность манипулировать уже наполненным ОС на каком-то из шагов без увязки с предысторией формирования ОС - наверное пригодилась бы...
. Но тут смотри сам по возможностям, все это ВПДБ |
|||
314
Злопчинский
09.02.24
✎
14:33
|
(312) "Шоб було!"
|
|||
315
Злопчинский
09.02.24
✎
14:34
|
ВПДБ = в порядке дежурного бреда
|
|||
316
АЛьФ
09.02.24
✎
14:36
|
2(313)(314) Тогда уж логичней делать выгрузку ОС в объект Текст и работать там как угодно.
|
|||
317
АЛьФ
10.02.24
✎
16:46
|
Добавил перенаправление системных локальных предопределенных процедур типа ПриОткрытии, ВводНового и проч. в глоабльный модуль. Первый параметр в глобальных процедурах - контекст формы, в которой сгенерирована локальное событие. Если в глобальной установить статус возврата в 0, вызов локальной не происходит.
Добавил в объект ОкноСообщений метод: НайтиСтроку(<?>,,) Синтаксис: НайтиСтроку(<НомерСтроки>,<СтрокаПоиска>,<Направление>) Назначение: Метод для очистки всех закладок в окне сообщений. Параметры: <НомерСтроки> - номер строки. Нумерация строк с нуля. Отрицательное значение задает номер строки с конца (с последнего выведенного и вверх); <СтрокаПоиска> - строка, которая ищется в окне сообщений; <Направление> - необязательное направление поиска: 1 - вниз, -1 - вверх. По умолчанию - 1 (вниз). |
|||
318
Злопчинский
11.02.24
✎
13:17
|
(317) "Назначение:
Метод для очистки всех закладок в окне сообщений." - явно индусский код методом копи-паста ;-) В ALS тоже присутствует |
|||
319
Злопчинский
11.02.24
✎
13:23
|
"<СтрокаПоиска> - строка, которая ищется в окне сообщений;"
именно СТРОКА (которая была выведена через СООБЩИТЬ, с учетом разделителейстрок) или ПОСЛЕДОВАТЕЛЬНОСТЬ символов? . если в ОС выведено - траляляля АЛЬФ тырыпыры - бугагашеньки ЗЛОП растопыры . и используем конструкцию ОС.НайтиСтроку(0,"АЛЬФ",1) - результат поиска будет успешный или как? . И какой результат возвращается методом? номер найденной строки? если да - то как результат метода или в первом параметре? Если поиск неуспешный - что где возвращается? . Имхо чуть ширшее надо написать в ALS |
|||
320
АЛьФ
11.02.24
✎
14:12
|
2(319) Начиная с указанной строки (включая ее) в указанном направлении в каждой строке ищется указанная подстрока, как методом Найти(). Поиск регистронезависимый. Дошли до строки, где есть подстрока, вернули номер. Дошли до конца/начала не найдя, вернули -1.
|
|||
321
Злопчинский
11.02.24
✎
14:39
|
(320) Понятно.
. А чем, кстати, ALS делается? |
|||
322
Djelf
11.02.24
✎
14:48
|
+(318) Еще одна ошибка в als: ОкноСообщений.Прогресс, нет там такого.
|
|||
323
АЛьФ
11.02.24
✎
14:56
|
²(321)
|
|||
324
АЛьФ
11.02.24
✎
14:56
|
2(321) вручную.
|
|||
325
АЛьФ
11.02.24
✎
14:57
|
2(323) поправлю.
|
|||
326
Злопчинский
11.02.24
✎
14:58
|
Инфо из соседней ветки: 192 релиз с ошибкой, в продакшен не ставить.
. А можно ли глобально перехватить открытие формы?/tail#56 |
|||
327
Злопчинский
11.02.24
✎
15:16
|
(322) да, ругается Поле агрегатного объекта не обнаружено на типа ОС.Прогресс
|
|||
328
АЛьФ
11.02.24
✎
15:19
|
2(327) Не туда описание атрибута вставил. Должно быть в объекте ПанельСтрокиСостояния.
|
|||
329
АЛьФ
11.02.24
✎
15:25
|
Прошу глянуть тестовую сборку отсюда: https://disk.yandex.ru/d/SaGiKhu0fjokHw
|
|||
330
Злопчинский
11.02.24
✎
15:30
|
(329) Проверил, ПриУдаленииЭлемента/Документа - отрабатывает норм
|
|||
331
АЛьФ
11.02.24
✎
15:34
|
2(330) Спасибо. Тогда выкладываю в качестве сборки на сайт.
|
|||
332
Злопчинский
11.02.24
✎
15:37
|
еще бы хорошо в ALS добавить
|
|||
333
Злопчинский
11.02.24
✎
15:39
|
и (немного) напрягает в "новых" возможностях нумерация всякого с 0 (нуля), идет вразрез с принятым штатно в 77 нумерацией всякого (РазмерСписка(), номера строк СЗ, ТЗ, прочее) с единицы...
|
|||
334
АЛьФ
11.02.24
✎
15:40
|
2(332) В следующий раз добавлю.
|
|||
335
АЛьФ
11.02.24
✎
15:43
|
2(333) Тут уж я вряд ли что-то буду менять.
|
|||
336
Злопчинский
11.02.24
✎
15:47
|
(335) кактусовод, елы-палы... ;-)
|
|||
337
Злопчинский
11.02.24
✎
15:48
|
буду сюда информационно кидать ошибки в словах и падежов
|
|||
338
Злопчинский
11.02.24
✎
15:48
|
вот
|
|||
339
Злопчинский
11.02.24
✎
15:50
|
новый
|
|||
340
Злопчинский
11.02.24
✎
15:51
|
поворот
|
|||
341
Злопчинский
11.02.24
✎
16:09
|
вот тут ALS редактор https://infostart.ru/1c/tools/14338/
на 10-ке без доп.бубнов ругается |
|||
342
АЛьФ
11.02.24
✎
16:13
|
2(338-340) Лучше текстом кидать, мне будет проще искать.
2(341) В Нотепад++ мне привычней. Грамотность моя не повысится от использования других инструментов. |
|||
343
Chai Nic
11.02.24
✎
17:21
|
Прошу проверить ещё один баг. Если в форме журнала документов обратиться к реквизиту атрибута расширения формы, то 1с вылетает.
Тестовая процедура, в модуле формы журнала. Процедура ПослеОткрытия() Расш=СоздатьОбъект("РасширениеФормы"); Расш.УстановитьФорму(Форма); Для Сч=1 по Расш.КоличествоАтрибутов() Цикл Атр=Расш.ПолучитьАтрибут(Сч); Тест=Атр.Тип; // вылетает если делать вот это (не обязательно Тип, если обращаться к Формула - то же самое), но вылетает не сразу, а после завершения процедуры КонецЦикла; КонецПроцедуры |
|||
344
Злопчинский
11.02.24
✎
17:59
|
(343) подтверждаю. приведенный выше код вышибает 1Ску бесповоротно. Вылетает при выходе из процедуры - на выполнении КонецПроцедуры. Проверял на абсолютно пустой пустой форме журнала.
|
|||
345
АЛьФ
11.02.24
✎
18:05
|
2(343) Падение в этом примере связано с тем, что атрибуты нумеруются с 0. Т.е. цикл должен быть таким:
Для Сч=0 по Расш.КоличествоАтрибутов()-1 Цикл |
|||
346
Chai Nic
11.02.24
✎
18:09
|
(345) Понял. Ну ладно, учтем это как фичу.
|
|||
347
АЛьФ
11.02.24
✎
18:10
|
2(346) Поправил, чтобы не падало. Там классическая ошибка была: "строго больше" вместо "больше или равно".
|
|||
348
АЛьФ
11.02.24
✎
18:10
|
+(347) В следующей сборке будет учтено.
|
|||
349
mishaPH
11.02.24
✎
18:19
|
гм. народ. автор жжет.. кидайте скорее свои хотелки, пока добрый и есть время ;)
|
|||
350
АЛьФ
11.02.24
✎
18:21
|
2(349) Поздно... С понедельника возьмусь за восьмерочные задачи.
|
|||
351
Злопчинский
11.02.24
✎
20:09
|
(345) я в (333) был предельно бдителен...
|
|||
352
Злопчинский
11.02.24
✎
20:12
|
(350) космополит...
|
|||
353
Злопчинский
11.02.24
✎
22:51
|
(345) "Для Сч=0 по Расш.КоличествоАтрибутов()-1"
если количество атрибутов = 10, от 0 до 9 - то почему не сломалось при цикеле от 1 до 10 на ПолучитьАтрибут(10)..? |
|||
354
АЛьФ
12.02.24
✎
09:04
|
2(353) Выходя за пределы массива элементов, не всегда попадаешь в область памяти, которая вызывает падение. Можно попасти и в мусор, оставшийся от прошлой формы. Т.е. будут какие-то данные получены.
|
|||
355
Chai Nic
12.02.24
✎
11:33
|
После установки свежего релиза поломалась расшифровка таблицы в бухгалтерских отчетах. В вызов глобальной процедуры ОбработкаЯчейкиТаблицы() попадает первым параметром контекст, вместо параметра расшифровки. Эта процедура изначально штатная с определенным поведением, даже в глобальнике. Если уж передавать туда контекст, то как необязательный параметр и после всех стандартных.
|
|||
356
АЛьФ
12.02.24
✎
11:52
|
2(355) Вот ведь зараза какая... Спасибо. Буду вечером чинить.
Проблема со сквозным вызовом через доп.глобальники. Надо поставить исключения на процедуры, которые в штатной версии могут быть и в модуле формы, и в глобальнике. Помимо ОбработкаЯчейкиТаблицы() есть еще такие? |
|||
357
АгентБезопасной Нацио
12.02.24
✎
11:57
|
(356) Кстати, а перехватчик потом не перехватит еще и событие из глобальника?
|
|||
358
AAA
12.02.24
✎
12:22
|
Есть милый мультик "Каникулы Бонифация". Догадайтесь, кто тут Бонифаций, кто Бабушка и кто наглые зверушки )
|
|||
359
Chai Nic
12.02.24
✎
12:54
|
(356) ПриУстановкеОтбора() ещё такая же
|
|||
360
Злопчинский
12.02.24
✎
13:27
|
такс.. тогда откатываемся на 191 релиз
|
|||
361
АЛьФ
12.02.24
✎
13:28
|
2(357) Понятия не имею. Проверять надо.
2(360) Нельзя же быть таким оптимистом! |
|||
362
Злопчинский
12.02.24
✎
13:40
|
(361) эти косячки они просто последствия от использовании снеговика ;-) это ж как ковид... непонятно чем аукнется...
|
|||
363
Злопчинский
12.02.24
✎
13:40
|
(357) я об этом сразу подумал, но так как перехватчики не юзаю то и забил...
|
|||
364
Arbuz
12.02.24
✎
17:52
|
Может для имён перехваченных процедур какой-нибудь префикс завести?
|
|||
365
АЛьФ
12.02.24
✎
20:34
|
2(364) Думал над этим. Но от озвученных глюков это не избавило бы.
|
|||
366
АЛьФ
12.02.24
✎
20:36
|
Выложил новую сборку.
Исправил обнаруженные глюки. Добавил пару методов объекту Сервис: ВерсияFormEx и ДоступнаяВерсияFormEx. Первый метод для получения текущей версии компоненты, второй для запроса с сайта выложенной версии. |
|||
367
АЛьФ
12.02.24
✎
20:36
|
Может кто-нибудь из модераторов поправит заголовок темы? Текущая сборка уже 2.0.5.194.
|
|||
368
Chai Nic
13.02.24
✎
08:55
|
Кстати, возник вопрос. По какой причине может не срабатывать УстановитьПеременнуюКонтекста()? Возвращает 0, то есть, не удалось установить переменную. Однако, если обращаться через точку, то всё работает. Но нужно обращаться по заранее неизвестному имени. Суть задачи - обнулить реквизиты на форме, где введен счет, который не относится к списку разрешенных для пользователя.
Например в ПослеОбновленияФормы: Сервис=СоздатьОбъект("Сервис"); Сообщить(Сервис.УстановитьПеременнуюКонтекста(Конт,"Счет",СчетПоКоду("00"))); // выдается 0 в возвращаемом значении Сообщить(Конт.Счет); // значение не меняется Конт.Счет=СчетПоКоду("00"); Сообщить(Конт.Счет); // а так всё работает |
|||
369
АЛьФ
13.02.24
✎
09:10
|
2(368) Метод УстановитьПеременнуюКонтекста() работает именно с переменными модуля, а не с реквизитами формы.
|
|||
370
Chai Nic
13.02.24
✎
09:20
|
(369) А как быть с реквизитами формы?
|
|||
371
Chai Nic
13.02.24
✎
09:23
|
+(370) Через "Значение" в атрибуте расширения формы не срабатывает тоже.
|
|||
372
АЛьФ
13.02.24
✎
09:24
|
2(371) А вот как раз должно бы было срабатывать. Я посмотрю.
|
|||
373
Chai Nic
13.02.24
✎
10:02
|
А кстати, почему-то не глобализована предопределенная процедура ОбработкаВыбораЗначения. Например, ПриНачалеВыбораЗначения в глобальнике цепляется нормально, в отличие от.
|
|||
374
АЛьФ
13.02.24
✎
10:28
|
2(373) Хороший вопрос. Следующий вопрос.
Из-за исторически сложившегося числового представления версии компоненты, максимальный номер сборки - 255. Чувствую, что такими темпами скоро перейдем к версии 2.0.6. |
|||
375
AAA
13.02.24
✎
10:35
|
(374)а почему нельзя нумеровать просто + 1?
|
|||
376
АЛьФ
13.02.24
✎
10:55
|
2(375) Потому что числовой номер версии формируется, как шестнадцатиричное число. Сейчас 0х020005С2. Как дойдет до FF, перейдет в другой разряд.
|
|||
377
Arbuz
13.02.24
✎
17:16
|
На тему ОкноСообщений: получается, что в рамках одной процедуры нельзя изменять размеры окна и выводить в него сообщения/устанавливать строку. Установка строки не срабатывает, а если изменять размер, то у меня окно вообще не отрисовывается до конца работы 1С кода.
Может можно было бы сделать метод Сервису, который перерисовывал бы интерфейс, как при завершении потока пользовательского кода 1С, а потом продолжал код? По логике методы "ложного закрытия". был такой оператор у васика DoEvents() PS Изменение размера я делаю в ПриВыводеСообщения() и/или в Сервис.ОбработкаОжидания() |
|||
378
Злопчинский
13.02.24
✎
17:27
|
(377) у меня вроде норм
. Перем ОС; //====================================================================== Процедура кнПоказать() ВыбЗнач =0; ВвестиЧисло(ВыбЗнач,"введи номер строки",10,0); ОС.ПоказатьСтроку(ВыбЗнач); КонецПроцедуры // кнПоказать //******************************************* Процедура Сформировать() ОС.УстановитьКоординаты(100,100,200,700); Для ы=0 по 50 Цикл ОС.Сообщить(""+ы+": выполнено в Сформировать"); КонецЦикла; Для ы=1 по 100000000 Цикл КонецЦикла; //Предупреждение("Ждем"); КонецПроцедуры . При этом цикл в Сформировать струячит, все строки выведены в ОС, при этом ОС - можно мышью таскаит/прикреплять - а цикл все струячит... |
|||
379
Arbuz
13.02.24
✎
17:55
|
(378) Видимо у меня проблема в том, что изменение размеров происходят в событии ПриВыводеСообщения()
|
|||
380
Злопчинский
13.02.24
✎
18:17
|
(379) это ты сильно извратился...
|
|||
381
АЛьФ
13.02.24
✎
19:52
|
2(371) У меня устанавливается. Возможно, какие-то особые условия. Нужен тестовый пример.
2(373) А это глобальная проблема. Если нет в модуле локальной процедуры, то и глобальная не вызывается. Буду думать. |
|||
382
Злопчинский
13.02.24
✎
20:07
|
(381) " Если нет в модуле локальной процедуры, то и глобальная не вызывается."
- это и других локальных касается? если да - то в ALS неплохо бы указать. |
|||
383
АЛьФ
13.02.24
✎
20:12
|
2(382) Разбираюсь сейчас с этим моментом.
|
|||
384
Злопчинский
13.02.24
✎
21:42
|
(383) я вот ни разу бы не догадался что если нет локальной - то и глобальная не отрабатывает
|
|||
385
trdm
13.02.24
✎
21:47
|
(384) +++
|
|||
386
АЛьФ
13.02.24
✎
21:50
|
2(384) Пока нашел, что для трех процедур (ПриВыбореСтроки, ПриНачалеВыбораЗначения, ОбработкаВыбораЗначения) 1С сначала ищет их в модуле, а потом вызывает функцию исполнения предопределенной процедуры. Почему только для эти трех, а не для всех - великая загадка разработчиков 1С...
Причем в самой функции исполнения потом все равно опять проверяет их наличие в модуле. Буду думать как обойти это недоразумение. Пока побеждает мысль при компиляции модуля виртуально добавлять эти функции, если их нет. Но не знаю каким боком это где-то еще может вылезти. |
|||
387
АЛьФ
13.02.24
✎
22:06
|
+(386) О! Нашел способ проще.
|
|||
388
Злопчинский
13.02.24
✎
22:09
|
(387)
Уже топор занёс палач, Толпа кричит ему... |
|||
389
АЛьФ
13.02.24
✎
22:37
|
Что-то я уже совсем туго соображаю... Годы берут свое...
Прошу погонять тестовую сборку на предмет глобализации процедур. В частности указанных трех. Ну и не сломал ли я вообще чего-нибудь попутно. Тестовая сборка тут: https://disk.yandex.ru/d/SaGiKhu0fjokHw |
|||
390
Злопчинский
13.02.24
✎
22:45
|
(389) Спокойствие, только спокойствие. Пусть будет утешением, что не только ты один туго соображаешь с годами...
|
|||
391
Arbuz
14.02.24
✎
14:43
|
(380) Ну, почему же извратился... Идея в том, что окно это скручивают до минимума и не смотрят, что там сыпется. Думалось, что при получении сообщения надо восстанавливать (менять) размер окна. Однако, видимо, в событии ПриВыводеСообщения() нельзя манипулировать окном сообщений, что не разу не изврат, а само собой напрашивающаяся потребность.
|
|||
392
Arbuz
14.02.24
✎
15:42
|
(378) Провёл некие эксперименты.
1) Ты попробуй убрать из своей Сформировать() ОС.УстановитьКоординаты() и сразу возможность перемещать окно, пока "струячит" твой цикл, пропадает, хотя всё отображается. 2) А если заранее Парковать(1) (не в Сформировать(), но в ней оставить УстановитьКоординаты()), то и будет поведение, которое я описывал. Так что проблема не конкретно в ПриВыводеСообщения(), а в том, что паркованное окно не обновляется. |
|||
393
АЛьФ
14.02.24
✎
15:50
|
Похоже, что критические проблемы новой сборки при работе в компании с перехватчиком. Выбивает напрочь.
|
|||
394
Arbuz
14.02.24
✎
15:58
|
(393) Может тогда и не надо транслировать события в глобальник — есть же "штатный" Перехватчик? Ну, или сделать трансляцию опционально включаемой?
|
|||
395
Arbuz
14.02.24
✎
16:01
|
|
|||
396
Chai Nic
14.02.24
✎
16:10
|
(394) Какой же это штатный.. это гемор со всякими там классами 1с++. В формексе удобнее так то. Лучше эту фичу сохранить, но сделать её опциональной.
|
|||
397
АЛьФ
14.02.24
✎
16:11
|
2(395) Как включается показ времени (через параметры или методом)?
|
|||
398
АЛьФ
14.02.24
✎
16:12
|
2(394) Если не получится подружить с перехватчиком, то сделаю включаемой. Дело в том, что в FormEx и раньше была эта трансляция для вызовов в доп.глобальниках. И все работало нормально. Но вот последние изменения что-то поломали.
|
|||
399
Arbuz
14.02.24
✎
16:14
|
(397) Через параметры
|
|||
400
АЛьФ
14.02.24
✎
16:19
|
2(399) У меня нормальная получается ширина. Судя по скрину, виндовая тянулка окна закрывает часть панели часов. Добавлю ширину по умолчанию.
|
|||
401
Arbuz
14.02.24
✎
16:23
|
(400) Даже в максимизированном окне такая же картина. Вин7
|
|||
402
Злопчинский
14.02.24
✎
17:18
|
Даёшь внедреж!
|
|||
403
Злопчинский
14.02.24
✎
19:20
|
(396) поддерживаю!
|
|||
404
АЛьФ
14.02.24
✎
20:48
|
Придется все же добавлять префикс к перенаправляемым процедурам. Иначе код перехватчика не нашел как обойти.
Префикс будет "Глобальная_" и "Global_". Это только для процедур, которые обрабатывает перехватчик: ПриОткрытии, ВводНового, ВводНаОсновании. Вроде как остальные и так работают нормально. Если у кого-то есть возражения, то говорите сейчас либо молчите навеки. Или все же для всех сделать префикс, чтобы единообразно было?... |
|||
405
Волшебник
14.02.24
✎
20:50
|
(404) Что скажет Архитектура?
|
|||
406
АЛьФ
14.02.24
✎
21:03
|
2(405) Промолчит.
|
|||
407
АЛьФ
14.02.24
✎
22:21
|
Выложил тестовую сборку: https://disk.yandex.ru/d/SaGiKhu0fjokHw
Добавлены префиксы для предопределенных процедур. Исправлена отрисовка окна сообщений после установки координат. Расширена панель отображения времени. |
|||
408
Ёпрст
14.02.24
✎
22:04
|
(404) Перехватчик, будет перехватывать ити глобальные процы ?..
Непонятно зачем, но так, на всякий И еще, если создавть доп глобальник, например, в них будут отрабатывать эти "перенаправляемые процедуры" ? Жалко клюшек нет, поиграться |
|||
409
АЛьФ
14.02.24
✎
22:23
|
2(408) И перехватчик перехватывает, и перенаправление в глобальные работает.
Через доп.глобальники должно все проходить. Это дело не проверял, тупо лень, а на работе мы их не используем. |
|||
410
Злопчинский
14.02.24
✎
22:42
|
(404) "Или все же для всех сделать префикс, чтобы единообразно было?..."
- я за этот вариант. ибо это проще, а то здесь играем, здесь не играм, здесь рыбка лежала... |
|||
411
Ёпрст
14.02.24
✎
22:55
|
(409) Еще такой момент прояснить для себя:
после срабатывания Глобальная_ПриОткрытии(), потом будет вызов ПриОткрытии() той, что в форме объекта описана ? ЗЫ: в перехватчике можно этим управлять просто было, вызывая или не вызывая оригинальное событие |
|||
412
АЛьФ
14.02.24
✎
23:06
|
2(411) Да, потом будет вызов ПриОткрытии, которая в форме. Или, если сброшен статус возврата, то прерывается выполнение.
|
|||
413
АЛьФ
14.02.24
✎
23:06
|
2(410) Так в итоге и сделал.
|
|||
414
Ёпрст
14.02.24
✎
23:18
|
(412)
А..если универсально сделать, как в Перехватчике, из глобальной сделать вызов локальной, и по результатам или выполнить код ниже, или нет. Ну, чтоб свой код в глобальной был бы -перед -вместо -после на выбор. Не ? |
|||
415
АЛьФ
14.02.24
✎
23:20
|
2(414) Подумаю.
|
|||
416
Ёпрст
14.02.24
✎
23:40
|
(415) Эх, жалко нет клюшек в конторе, так бы тебе еще работы накидал, на год вперёд :)
|
|||
417
Ёпрст
14.02.24
✎
23:53
|
(415) Тему плавающих окошек, подзабросил ?
Было бы удобно прикреплять к форме вторую форму в нужном месте и сплиттер между ними. |
|||
418
Злопчинский
15.02.24
✎
00:38
|
(412) "Да, потом будет вызов ПриОткрытии, которая в форме. Или, если сброшен статус возврата, то прерывается выполнение."
- если в глобальной Глобальная_ПриОткрытии будет СтатусВозврата(0) - то локальная ПриОткрытии - НЕ ВЫЗЫВАЕТСЯ и ФОРМА НЕ ОТКРЫВАЕТСЯ - так? |
|||
419
Chai Nic
15.02.24
✎
08:54
|
(413) С учетом префикса, может тогда вернуть собственную глобализацию ОбработкаЯчейкиТаблицы и ПриУстановкеОтбора, которую убрали из-за конфликта со штатной?
С префиксом они не будут конфликтовать со стандартными обработчиками, а будут дополнять их. Иногда было бы полезно иметь Контекст в этих обработчиках, а штатные методы его не предоставляют. |
|||
420
АЛьФ
15.02.24
✎
09:26
|
2(419) С процедурами, которые сами имеют глобализацию, есть другие проблемы. Не готов сейчас в это ввязываться. В этих процедурах контекст можно получить с помощью метода Сервис::АктивныйКонтекст.
2(417) Плавающие и прикрепляемые окна - это было две разные идеи. Но там не удалось в существующий функционал вписаться. Надо делать свою реализацию окон-родителей. Т.к. в практику у меня не пошло, так и забросил эту тему. 2(418) Так. |
|||
421
Chai Nic
15.02.24
✎
09:59
|
(420) "В этих процедурах контекст можно получить с помощью метода Сервис::АктивныйКонтекст."
Понял, спасибо. Ну тогда действительно нет смысла. |
|||
422
Ёпрст
15.02.24
✎
10:01
|
(420)
>>>2(418) Так. Вооот, об чем и речь, что это не совсем удачно. Лучше сделать как в (414) чтоб был выбор. |
|||
423
АЛьФ
15.02.24
✎
11:18
|
2(422) Думаю мысль, чтобы если глобальная - это функция, то возвращаемое этой функцией значение и задавало дальнейшее движение вызова.
|
|||
424
АгентБезопасной Нацио
15.02.24
✎
11:36
|
(422) (423) Но ведь если юзать перехватчик, то используя ВыполнитьОригинальноеСобытие - и делаешь как надо: "перед", "после" или "вместо"?
|
|||
425
Chai Nic
15.02.24
✎
11:40
|
(423) Да, хорошая идея. Не запрещено же в 1с вызывать функцию как процедуру. Глобальная_*() можно сделать функциями, с возвращаемым значением, влияющем на.
|
|||
426
Ёпрст
15.02.24
✎
11:42
|
(424) да. Я и предлагал Алексею реализовать тоже самое.
|
|||
427
АЛьФ
15.02.24
✎
11:59
|
2(424)(426) Нынешний код вызова предопределенных процедур не заточен под такую работу.
Исходники выложены. Как раз их собираюсь на выходных обновить. Если кто-то реализует, то велком. |
|||
428
alyuev
15.02.24
✎
13:12
|
(152) Всё работает замечательно! На 191й версии. Подробнее ответил тут - ПолучитьСтекВызова() в модуле класса#9
|
|||
429
АЛьФ
15.02.24
✎
15:10
|
2(428) На самом деле стек ломается, если идет переход через глобальные функции. Но это в самой 1С проблема с реализацией стека. Была даже мысль сделать свой стек. Но уж больно это заморочно получается с непонятной пользой. В принципе нынешнего исправления вполне хватает для повседневных задач. ИМХО.
+(407) Есть глюк с ПриЗавершенииРаботыСистемы. Если в ней поставить СтатусВозврата(0), то выскочит дополнительное окно "Ошибка при выполнении модуля! Завершить работу системы?". Возможно, где-то еще проявляется. Вечером буду разбираться. |
|||
430
АЛьФ
15.02.24
✎
21:02
|
Возвращаясь из той ветки.
Итак, решил сделать одним методом. Сервис::УровеньТрассировки(НовыйУровень, ШаблонИмениФайла) Возвращает уровень трассировки до выполнения метода. Оба параметра необязательные. НовыйУровень - число, которое задает устанавливаемый уровень, 0 - отключает трассировку. ШаблонИмениФайла - задает имя файла, куда пишется трассировка. Если в имени есть [МоментЗапуска], то в этом месте прописывается момент времени начала выполнения кода. По умолчанию: КаталогИБ() + "\SYSLOG\Трассировка_[МоментЗапуска].txt" Теперь вопрос. Какие уровни трассировки надо делать? Пока в голову приходит что-то типа: 1 - ид модуля, полное имя модуля, номер строки. 2 - добавляется текст строки 3 - добавляются значения переменных, которые доступны в текущий момент исполнения Смущает, что уже третий уровень дает очень большую массу информации. Зачастую ненужной, которая будет дублироваться многократно. Есть у кого-нибудь мысли как сделать трассировку максимально полезной и гибкой? |
|||
431
Волшебник
15.02.24
✎
21:11
|
Меня вообще смущает вся ветка.
|
|||
432
Злопчинский
15.02.24
✎
21:12
|
ну, редко когда в тексте строки прямо много переменных...
по уровню 3 - выводить переменные используемые для текущей строки, если переменная типа СЗ/ТЗ - то возможно просто упоминание переменной без вывода значений (?) . может быть третий параметр - строковое значение с перечислением имен переменных, значения которых надо логировать (при входе и выходе из процедур/функций и/или при изменении значения такой переменной) . какие-то настроечные/инишные файлв не очень хорошо наверное использовать, но м.б. параметром имя файла со всякими настройками (продумать синтаксис настроек) типа тот же список переменных для логирования или имена процедур/функций для исклдчения из трассировки/логирования..? |
|||
433
Волшебник
15.02.24
✎
21:13
|
(432) Не надо дурдома.
|
Форум | Правила | Описание | Реклама | Секции | Поиск | Книга знаний | Вики-миста |