![]() |
![]() |
![]() |
|
v7: Обработка ожидания FormEx | ☑ | ||
---|---|---|---|---|
0
PZh
03.11.11
✎
12:17
|
Главный плюс этой обработки перед стандартной - это то, что она "вызывается не смотря ни на что".
Но это и минус, т.к. она вызывается и в процессе проведения и при выполнении запросов и это приводит к сбоям. Как нибудь ее можно ограничить? Совершенно точно она вызывает сбой запроса (Запрос.Выполнить() = 0), даже без нагрузки, когда в базе один пользователь. Это хорошо, конечно, для теста "жизнеспособности" кода, но все же... При этом не важно, что происходит в самой обработке. Даже если это простая проверка одной переменки и выход. |
|||
1
andrewks
03.11.11
✎
12:33
|
внешний планировщик тебя спасёт
|
|||
2
Злопчинский
03.11.11
✎
12:48
|
как интересно...
а вот допустим идет проведение - и ту может сработать обработкаожидания..? я всегда блин думал, что обработка ожидания отрабатывает только в простое... ??? |
|||
3
Ёпрст
гуру
03.11.11
✎
12:52
|
(0) сказки.
|
|||
4
Ёпрст
гуру
03.11.11
✎
12:54
|
>>>
она вызывается и в процессе проведения и при выполнении запросов и это приводит к сбоям ну а это вообще бредни. |
|||
5
Злопчинский
03.11.11
✎
12:58
|
(3,4) вот и я как-то в сомнениях...
|
|||
6
PZh
03.11.11
✎
14:14
|
Это не бредни, а факт.
Я не про штатную обработку, а про FormEx. |
|||
7
PZh
03.11.11
✎
14:14
|
(1) что такое внешний планировщик?
|
|||
8
Злопчинский
03.11.11
✎
15:03
|
(6) ну все.. вечером проверять буду.. не дай бог не так окажется - всё, вешайся... ;-)
|
|||
9
Ёпрст
гуру
03.11.11
✎
15:05
|
(6) это именно бредни.
ОбработкаОжидания никак не влияет на проведение документа и ну никак не влияет на выполнение штатного запроса. |
|||
10
Ёпрст
гуру
03.11.11
✎
15:06
|
+9 и уж поверь мне,формекс у нас живёт годами
|
|||
11
PZh
03.11.11
✎
15:30
|
(9)
Ну то что НИКАК - это не правда. Может влиять побочными эффектами (если при проведении используются те же глобальные переменные что и в обработке ожидания). Я сейчас попробую соорудить тестовый пример для запроса. А пока поясню: Работал автомат, который выполнялся через штатную процедуру, всегда все корректно, после единственного изменения - перевода на FormEx - с завидной регулярностью падают запросы. В чем тогда может быть дело? |
|||
12
ЧеловекДуши
03.11.11
✎
15:34
|
(11)А ты в обработчике что делаешь?
Особенно, когда пользователь что-то проводит. И зачем в обработчик от Альфа что либо вставлять? |
|||
13
ЧеловекДуши
03.11.11
✎
15:35
|
+ Может дело в том, что не стоит так делать?...
Может стоит использовать типовой обработчик. |
|||
14
Ёпрст
гуру
03.11.11
✎
15:39
|
(11) без подтвержденного тестового примера - это всё ваши домыслы.
|
|||
15
ЧеловекДуши
03.11.11
✎
15:50
|
+(14)Может тебя удивит, но обработчик от Альфа, работает даже когда 1С отвалилась с ошибкой - "С++ и т.д." :)
|
|||
16
PZh
03.11.11
✎
15:51
|
(12) В обработчике проверяется одно условие и выходит, это инфа 100% и обработчик чистый делал и нечистый в отладчике смотрел.
К тому же это не важно, т.к. Ёпрст3 утверждает что будет работать в любом случае! Что бы там не происходило. На команду: Запрос.Выполнить() - это никак влиять не может, в тексте запроса не используются глобальные переменные! |
|||
17
Ёпрст
гуру
03.11.11
✎
15:52
|
(16) читать умеешь ? См.(14)
|
|||
18
PZh
03.11.11
✎
15:54
|
(17) Я отвечал Человеку Души, если что. Или вы теперь модератор ветки?
|
|||
19
PZh
03.11.11
✎
16:01
|
(17) и вообще см. (11). Я написал достаточно подробно. Команда Запрос.Выполнить() стала довольно часто возвращать 0. Ума не приложу почему.
Если я добьюсь тестового примера изобличающего ошибку, то зачем мне тут распинаться? |
|||
20
Ёпрст
гуру
03.11.11
✎
16:07
|
(19) >>>Команда Запрос.Выполнить() стала довольно часто возвращать 0. Ума не приложу почему.
причин - вагон. И формекс тут вообще ни коим боком, не льсти себе. |
|||
21
PZh
03.11.11
✎
16:16
|
(20) Дело в том, что алгоритмы которые там работают - работают уже более 2-х лет, а единственное изменение - FormEx. Вопрос как он виляет, не льстите FormEx'у.
|
|||
22
Ёпрст
гуру
03.11.11
✎
16:21
|
(21) можешь и дальше заблуждаться, без (14) это всё сказки.
|
|||
23
FN
03.11.11
✎
16:36
|
7.70.027 sql
Formex 2.0.5.92 1C++ 3.0.2.0 bf3 в глобальнике: Сервис.ОбработкаОжидания("глПроверкаЗаданийПланировщика",1000); Сама процедура перебирает элементы небольшого справочника и в зависимости от условий запускает другие обработки отчет (сообщить до Выполнить() и сразу после Выполнить): ... 14:30:19 сработала обработка ожидания 14:30:20 сработала обработка ожидания 14:30:21 сработала обработка ожидания 14:30:22 сработала обработка ожидания 14:30:22 запускаем запрос 14:30:23 сработала обработка ожидания 14:30:24 сработала обработка ожидания 14:30:25 сработала обработка ожидания 14:30:25 запрос окончен 14:30:26 сработала обработка ожидания 14:30:27 сработала обработка ожидания документ (Сообщить первой и последней строкой процедуры ОбработкаПроведения) ... 14:30:40 сработала обработка ожидания 14:30:40 начало обработки проведения 14:30:40 сработала обработка ожидания 14:30:42 сработала обработка ожидания 14:30:42 сработала обработка ожидания 14:30:44 сработала обработка ожидания 14:30:44 сработала обработка ожидания 14:30:46 сработала обработка ожидания 14:30:48 сработала обработка ожидания 14:30:48 сработала обработка ожидания 14:30:49 сработала обработка ожидания 14:30:50 сработала обработка ожидания 14:30:50 конец обработки проведения 14:30:51 сработала обработка ожидания 14:30:52 сработала обработка ожидания .... это писец! О_о |
|||
24
FN
03.11.11
✎
16:49
|
Причем обработкаожидания работает при активных модальных окнах, Вопросах/Предупреждениях.
Не работает при пересчете бух.данных, при смене ТА и тп. |
|||
25
Mikeware
03.11.11
✎
16:51
|
(24) а при вопросике про смену даты - работает?
|
|||
26
FN
03.11.11
✎
16:56
|
(25) Сменилась текущая дата?
РАБОТАЕТ! |
|||
27
Mikeware
03.11.11
✎
16:57
|
(26) Спасибо. Надо в выгонялке поменять. Хотя лень - осталось жить базе 2 месяца...
|
|||
28
FN
03.11.11
✎
16:58
|
Прервать выполнение обработки?
тоже работает |
|||
29
FN
03.11.11
✎
17:06
|
Останавливаю на горячую sql-сервер, 1С-ка выводит окошко SQL state..., потом невосстановимая ошибка ...
А оно, c-цука, работает! спасибо ТС за поднятую проблему - придется переписывать.... |
|||
30
Ёпрст
гуру
03.11.11
✎
17:17
|
(24) и ? Ну работатет, и че ?
ошибок то при этом нет, а уж на выполнение запроса это никак не влияет |
|||
31
PZh
03.11.11
✎
17:19
|
FN
(23) И модуль проведения прерывается - тоже! (29) Пожалуйста! (22) Я сделал тестовый пример в цикле выполняю запросы параллельно с запущенной обработкой результата (всего запроса 4). Результат, выглядит как-то так: 03.11.11 17:10:41 Администратор Я СРАБОТАЛ! 03.11.11 17:10:41 Администратор Я СРАБОТАЛ! 03.11.11 17:10:42 Администратор Запрос04 лажанул! 03.11.11 17:10:42 Администратор Я СРАБОТАЛ! 03.11.11 17:10:43 Администратор Я СРАБОТАЛ! ... 03.11.11 17:13:46 Администратор Я СРАБОТАЛ! 03.11.11 17:13:46 Администратор Я СРАБОТАЛ! 03.11.11 17:13:47 Администратор Запрос01 лажанул! 03.11.11 17:13:48 Администратор Я СРАБОТАЛ! 03.11.11 17:13:48 Администратор Я СРАБОТАЛ! и т.д. Если будет время я соберу исходники и тестовую базу и вывалю все, дабы вас убедить. |
|||
32
Ёпрст
гуру
03.11.11
✎
17:20
|
(31) убеждать в чем ?
у меня всё это есть, и проблем ваших нет. |
|||
33
PZh
03.11.11
✎
17:23
|
(32) В том, что Обработка ожидания из FormEx - оказывает непосредственное влияние на работу команды:
Запрос.Выполнить(); Вызывая ошибку запроса, даже когда в обработке прерывания - не используется обращений к базе данных! |
|||
34
Sserj
03.11.11
✎
17:24
|
(4) Не бредни, хотя конечо зависит что делается в этой обработке.
Я так типа 1САську делал, там сообщения тоже через формексовое ожидание проверялись, ничего не писалось в базу а только из нее читалось, так тоже с необъяснимыми падениям замучался. |
|||
35
FN
03.11.11
✎
17:24
|
(27) как раз в выгонялке этот эффект очень даже полезен.
|
|||
36
Ёпрст
гуру
03.11.11
✎
17:32
|
мне не лень, я проверил:
в обработке: Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Валюты = Справочник.Валюты.ТекущийЭлемент; |Группировка Валюты; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры сч=1; Пока Запрос.Выполнить(ТекстЗапроса) = 1 Цикл сч=сч+1; КонецЦикла; Сообщить("итого выполнено: "+сч); КонецПроцедуры + в глобальничке: Перем Сервис; Процедура Вася() Экспорт а = ТекущееВремя(); Сообщить(а); КонецПроцедуры ...... Сервис = СоздатьОбъект("Сервис"); Сервис.ОбработкаОжидания("Вася",1); после пары минут. надоело ждать, прервал выполнение очередного запроса, в окошке сообщений : итого выполнено: 44557 Дальше бум в сказки верить ? |
|||
37
PZh
03.11.11
✎
17:34
|
(32)
Вот как убедиться: 1. Зацикливаем любой простой запрос к справочнику номенклатуры (желательно быстрый) типа: |Номенклатура = Справочник.Номенклатура.ТекущийЭлемент; |Артикул = Справочник.Номенклатура.Артикул; |Группировка Номенклатура без групп; |Условие(Артикул = Лев(2, = ""20""); 2. Циклим его. В случае ошибки - пишем в лог. 3. Вешаем обработку ожидания (я делал интервал 0.5 секунд), я думаю чем меньше - тем чаще будет детектироваться косяк, что очевидно. 4. В обработке ожидания - единственная команда - записать в лог. 5. Запускаем и радуемся! 6. Приносим извинения за грубый тон. |
|||
38
Ёпрст
гуру
03.11.11
✎
17:35
|
(37)
6. см (36) Жду извинений. |
|||
39
victuan1
03.11.11
✎
17:39
|
Дайте готовый код я потестю
И где можно качать последние версии 1с++? |
|||
40
Mikeware
03.11.11
✎
17:40
|
(39) ты не поверишь....
|
|||
41
Ёпрст
гуру
03.11.11
✎
17:42
|
(39) тут вообще то речь за формекс..
последний вот: http://www.1cpp.ru/forum/YaBB.pl?num=1289651842/35 |
|||
42
Ёпрст
гуру
03.11.11
✎
17:43
|
1cpp там же на форуме, в соответствующей теме
|
|||
43
aka MIK
03.11.11
✎
17:45
|
А что низзя просто выбрать все движения партий за 10 лет по всем товарам и дням? Это будет оочень долго :)
Проверьте, циклы ни к чему |
|||
44
PZh
03.11.11
✎
17:48
|
(39) Сейчас, только почитаю как оформлять код в сообщении.
|
|||
45
victuan1
03.11.11
✎
17:50
|
(41) Зачем мне ссылка на форум?
С форума качать обновления? Моветон. Вот есть 1cpp.ru На главной странице последние релизы объявлены: Рекомендованный стабильный релиз с раздельной загрузкой FormEx: 2.5.0.7 Рекомендованный стабильный релиз c включенным FormEx: 2.0.3.7 У меня они есть. Всё - больше не рыпаюсь. |
|||
46
Mikeware
03.11.11
✎
17:52
|
(45) http://www.1cpp.ru/index.php/Main
там вроде русским по белому... |
|||
47
Ёпрст
гуру
03.11.11
✎
17:52
|
(45) да нам то что ?
главная страница не обновляется года 4, всё что касается новых версий всегда было на форуме поддержки компоненты и в баг треккере. Оставайся на 2 *** |
|||
48
Ёпрст
гуру
03.11.11
✎
17:54
|
(46) да кто ж это читает то ?
трясти нужно сильнее! |
|||
49
PZh
03.11.11
✎
17:55
|
(39) Не успеваю, но я еще вернусь...
Тест продолжается и у меня перестало лажать, когда я закрыл параллельно открытую 1С с автоматом, где постоянный опрос справочника (совершенно другого) выполняется. Т.е. вполне возможно, что этот эффект наблюдается, если обработка ожидания работает на двух экземплярах 1С - на одной тачке. (48) Ёпрст3 попробуй так (экземпляров много наплоди) и поставь интервал запуска побольше. У меня запрос выполнялся примерно 300 мс (не тот который я приводил в сообщении), а интервал был 100 мс, такое вот соотношение. |
|||
50
Ёпрст
гуру
03.11.11
✎
18:00
|
(49) как-нить попробую.
лень всё |
|||
51
victuan1
03.11.11
✎
18:05
|
(47) "главная страница не обновляется года 4"
Т.е. умер 1с++? Так и запишем... |
|||
52
victuan1
03.11.11
✎
18:09
|
(46) почитал. Умер 1сpp, родился icpp (обратно совместимый с 1с++!), внятной ссылки на его сайт нет.
|
|||
53
Mikeware
03.11.11
✎
18:10
|
(52) У тебя плохо не только с чтением, но и с пониманием....
|
|||
54
victuan1
03.11.11
✎
18:12
|
Вообще сайт 1cpp.ru неприятное впечатление производит. Вроде домен русский (ru), а текст вперемешку с английскими фразами.
Явное отсутствие вкуса. (53) У меня всё отлично с пониманием, стабильных рекомендованных релизов нет после 2008 года => проект умер. Или вэбдизайнера сайта надо повесить за яйца. |
|||
55
Mikeware
03.11.11
✎
18:17
|
(54) Заплати и все сделают.
зы. последний релиз - август 10 года. в принципе, я использую наверное 5% от имеющегося. мне достаточно, ничего не падает, критических ошибок нет. И чо им, клепать релизы, чтоб клепать релизы? |
|||
56
Злопчинский
03.11.11
✎
18:18
|
очевидно, что на допфичах типа 1С++ и формекс - апологеты тянут по остаточному принципу, почти все потихоньку перелазят на 8-ку..
|
|||
57
victuan1
03.11.11
✎
18:21
|
(56) Говоря про себя, не говори за всех! ;))
Мой личный опыт говорит, что 8-ка пока не оправдывает ожидания и затраты.7-ка рулит. |
|||
58
ЧеловекДуши
03.11.11
✎
18:22
|
Лучше потестите на версии формекса 2.0.5.101
|
|||
59
ЧеловекДуши
03.11.11
✎
18:23
|
У Formex 2.0.5.92, может и есть ошибки :)
|
|||
60
abfm
03.11.11
✎
18:25
|
даже не в пользу 7.7 думайте головой 3+3=6 очнитесь!
|
|||
61
Mikeware
03.11.11
✎
18:27
|
(60) что сказать-то хотел?
|
|||
62
ЧеловекДуши
03.11.11
✎
18:36
|
||||
63
Злопчинский
03.11.11
✎
19:42
|
(57) текущие проекты имеет смысл тянуть на 7.7
новые - на 8-ке... но так как старые сжиирают все время - 8.ка остается неосвоенной.. это пугает немного ;-) . с другой стороны - отточив нужный функционал на 7.7 - может оказаться на 8-ке собрать конфу "под себя"... будет проще чем разбираться в туевой хуче кода типовых конфиг... все зависит от того, наскольо там внятно написано... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |