Программно открытая форма документа в цикле - как закрыть её сразу #2885


#0 by NastyFrog
Профи, подскажите, почему, если один док открывать 1)- он закрывается сразу, а если в цикле перебирать 2)- то все документы норовят открыться и вешаются.
#1 by Рупор абсурда
Настя, а скажи пожалуйста, зачем ты так делаешь?
#2 by NastyFrog
В некоторых формах не сами реквизиты - а механизмы их получения в зависимости от действий на форме, опять же некоторые функции - а-ля пересчитать что-нить. Пользователю либо все доки вручную перебирать, либо обработать всё программно.
#3 by Рупор абсурда
Зачем открывать форму? Что происходит при её открытии?
#4 by 327
ОткрытьМодально..... Но когда перед мордой юзера хлопнет формой сотня доков .... юзер придет бить морду программисту ....
#5 by Рупор абсурда
Нечто не умное сказал ... Мож тебе отдохнуть надо?
#6 by gr13
а как можно модально открыть несколько доков?
#7 by NastyFrog
Юзер доков не увидит, мне их обрабатывать. Сейчас попробую модально. Например галочку в форме поставить, или до процы какой-нить достучаться.
#8 by NastyFrog
Можно конечно ПриОткрытии кривить - но тогда конфой туда сюда надо егозить - не всегда возможно.
#9 by Рупор абсурда
Галочка на форме - реквизит дока? Как "стучишься" к процедуре? Колись, девочка, я честно хочу помочь ... И могу!
#10 by NastyFrog
Модально оно и есть модально. Интересно, а закрытьмодально бывает?
#11 by NastyFrog
К процедуре через СтрокуДействий стучусь. А как надо? При установке галочки выполняется какой-нить алгоритм. Соответственно - галочку ставим, Форма.обновить
#12 by Дмитрий
Хоть и неясно зачем это все, но смею предположить, что задержку надо делать после Конт.Форма.Закрыть. Помню еще в 7.5. на тормозном компе пытался программно записать документ и сразу открыть его форму. Так он сволочь не успевал записываться. Пришлось пустой цикл впендюривать - помогло...
#13 by Рупор абсурда
Что ж там за алгоритм такой? Что ж там за процедура такой? Почему их не переписать в той форме, в которой ты цикл свой крутишь?
#14 by NastyFrog
Алгоритм лазает по всяким глФункциям, глПроцедурам и в своем модуле взаимовызовы. Переписывать всё в обработку? А в цикле не успевается с открытой формой всё сделать - следующую открывает? Задержку секудную организовывать?
#15 by Рупор абсурда
Проблемы твои от лени ... :)) Кстати, просто прокрутить цикл для задержки тебе не подойдёт ... Придётся с извращениями делать задержку ...
#16 by NastyFrog
А чьи не от неё? 8)
#17 by Рупор абсурда
Мой совет: Перепиши, будет и правильней, и надёжней ...
#18 by NastyFrog
Спасибо за совет. К сожалению не смогу ему последовать. Буду организовывать "задержку с извращениями".
#19 by Рупор абсурда
Я и прогнал про "задержку с извращениями" ... Достаточно будет цикла ...
#20 by NastyFrog
Надо организовать задержку цикла с извращениями? Будем стараться. Цикла может и достаточно, но так нехочется от извращений отказываться. 8)
#21 by Рупор абсурда
А говорила, что лентяйка ... :))
#22 by NastyFrog
Не помогает ни-фига - все доки норовит открыть - с циклами, задержками. Увы мне, увы. Может всё-таки знает кто.
#23 by NastyFrog
Кто говорила? Ты говорила? (см. 15)
#24 by Рупор абсурда
Эх, блин, точно нужна задержка с извратом ... Хоть и нехорошо несколько раз менять мнение, но ... :)) Ты ж согласилась :))
#25 by NastyFrog
Ты сказала,я согласилась. Каких видов извращений надо придерживаться? Просто минутку подождать не помогает. Всё равно все доки открываются. С задержкой. Дай листинг самого абсурдного извращения. Увести в другую процу? Не помогло.
#26 by Рупор абсурда
Я - мужчина! Ты второй раз ошиблась ... А "Увести в другую процу" это как? Штатными средствами можно только ч/з Форма.ОбработкаОжидания получить такую задержку ...
#27 by Дмитрий
Тут еще надо подумать, где именно эту задержку впихнуть. Я бы попробовал в двух местах: после ОткрытьФорму и после Конт.Форма.Закрыть. ЗЫ. Последний раз на тему задержек так долго общался лет 7 назад )
#28 by NastyFrog
Ну и что, что ты - мужчина. Сказала, значит сказала. А в другую процу увести - в смысле позвать её из основной, а ней(другой) чё-нить потворить. Всё равно сначала все доки открывает. А чем ОбработкаОжидания круче какого-нибудь цикла, кот. минуту крутится?
#29 by NastyFrog
После ОткрытьФорму надо попробовать, после закрыть точно не помогает.
#30 by Рупор абсурда
После ОткрытьФорму смысла нет ... Пока ПриОткрытии в ней не выполнится продолжаться ничего не будет ... Зависит от того, что в ней написано, конечно ... Мож там свои какие-то обработки ожидания ... ЗЫ: А я 15 лет назад :))
#31 by Дмитрий
Есть хороший способ посмотреть, поможет ли тут задержка - прокрутить пару циклов построчно в отладчике. Если все будет нормально открываться и закрываться - дело точно в ней
#32 by NastyFrog
Даже в доке ПриОткрытии Закрыть срабатывает после открытия всех доков
#33 by Дмитрий
Нда, думаю за это время можно было уже ручками все доки подправить )) Надо идти другим путем значит
#34 by NastyFrog
Всем спасибо за старания.
#35 by Рупор абсурда
Упс ... Что-то сразу прощёлкал я этот твой пост ... Пока идёт цикл он не дает другим процессам возможности работать ... Развести их реально можно только ч/з обработку ожидания ...
#36 by NastyFrog
Спасибо, завтра поковыряюсь с ожиданием. Или действительно придется всё в обработку переносить - это точно варикозка на анус.
#37 by Рупор абсурда
>>варикозка на анус. Грубая ты какая ... Но я почему то именно таких и люблю :))
#38 by Дмитрий
Странно, но я вечером вчера эту фигню покрутил, так вроде все открывалось и закрывалось.
#39 by NastyFrog
Не работает, в том смысле, что сначала все доки открывает, потом все по очереди закрывает. Если док-тов не много - всё нормально, иначе 1С вешается из-за обилия открытых форм. Зато появилась идея по периодам доки выбирать -тогда сработает.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С