Имя: Пароль:
1C
1C 7.7
v7: Легким движением руки модальное окно превращается...
,
0 Тихий омут
 
27.08.12
09:59
В модально открытой обработке программно формирую печатную форму и отправляю её напрямую на принтер - и обработка становится немодальной. В инете рецепта не нашёл. Смириться и забыть?
1 Lokli
 
27.08.12
10:01
А в чем выражается потеря модальности?
2 Wobland
 
27.08.12
10:04
а основная форма обработки вообще способна быть модальной?
3 Lokli
 
27.08.12
10:05
(2) а есть сомнения? :)
4 Wobland
 
27.08.12
10:06
(3) есть
5 Тихий омут
 
27.08.12
10:09
господа, речь о 7.7

код обработки:
Таб=СОздатьОбъект("Таблица");
Таб.Вывести();
Таб.Напечатать(0);
6 Lokli
 
27.08.12
10:09
(4) на сколько я помню, в 7.7 обработка может иметь только одну форму. Поэтому я не совсем понимаю вашу формулировку "основная форма обработки". И потом, приведите мне, пожалуйста, ссылку на документацию где указано, что форма обработки не может быть открыта модально.
7 andrewks
 
27.08.12
10:09
(0) столкнулся с этим ещё года три назад.  прости и пойми
8 andrewks
 
27.08.12
10:11
в принципе, некоторая логика в этом есть - если формируется печатная форма, модальность, как бы, совершенно ни к чему
9 Lokli
 
27.08.12
10:12
(0) я тоже с этим сталкивался, но как-то обошел. Давно это было, сейчас уже не помню. Если подождёшь пару дней, то я доберусь до базы и посмотрю код.
10 Тихий омут
 
27.08.12
10:17
(7) эээх... партия сказала надо - пионер ответил есть)))
(8) задачи бывают разные, у меня - не внешняя печатная форма. а сабжевый прикол с формой - явно баго(фича) семерки
(9) подожду, не тороплюсь. интересен только способ "не в обход" 1с типа прямого вывода в порт принтера и так далее)))
11 Wobland
 
27.08.12
10:18
(6) речь о моих сомнениях или о документации?
12 Lokli
 
27.08.12
10:31
(11) Речь о том, что все сомнения решаются либо с помощью живой проверки на платформе, либо с помощью чтения документации.
13 Wobland
 
27.08.12
10:33
(12) иногда я верю людям на слово ;)
14 Злопчинский
 
27.08.12
13:01
интересно... запомним.
теперь бы еще придумать как обратно вернуть модальность - просто переоткрыть - не всегда удобно
15 mvk
 
27.08.12
16:49
Выводи на печать из другой обработки, открываемой модально из первой :)
Вторую, после печати, программно закроешь.
16 Lokli
 
28.08.12
06:10
(13) а я похоже старый стал, ни кому не верю. :)

(10) Добрался до базы, посмотрел код и вспомнил как оно было. 27 релиз.
Есть модальная форма внешней обработки, из которой хочу печатать сразу на принтер. Печать почему-то упорно не шла (по отладчику видно: макет сформировался, отработала функция Печать()). Долго с этим бился, пока не догадался вынести процедуру печати в отдельную внешнюю обработку, открываемую модально и сразу же закрываемую . В итоге, всё внешне было так, как нужно заказчику.
17 zladenuw
 
28.08.12
06:18
(16) костыль
18 Lokli
 
28.08.12
06:20
(17) предложи не костыль.
19 zladenuw
 
28.08.12
06:32
вызов внешней формы еще раз модально. хотя бред. ты и так модально. в 8 не видел
20 Lokli
 
28.08.12
06:36
(19) Уважаемый, разводить флуд и сравнивать v77 и v8 абсолютно не надо. Большинство из нас и так знает, что восьмёрка круче. Но проблема у ТС на платформе 7.7. Поэтому ваше драгоценное мнение на счет v8 тут абсолютно не впёрлось. ;)
21 Тихий омут
 
28.08.12
07:29
Поэкспериментировал с "каскадным" открытием модальных обработок - открываю первую модально, из неё - вторую модально, в ней выполняю код (5). После выполнения кода: 1. пока открыта форма второй обработки, форма первой вообще недоступна; 2. доступно меню - модальность окна второй обработки утеряна. После закрытия формы второй обработки модальность окна первой также утеряна, но окно "поверх всех"
22 Тихий омут
 
28.08.12
07:32
(16) печать "не шла" - окно отправки задания на принтер появлялось, а принтер молчал как партизан?
зы. внешние печатные формы к моей задаче отношения не имеют
23 Тихий омут
 
28.08.12
07:32
(15) см. (21)
24 Lokli
 
28.08.12
07:49
(22) "не шла" - это значит не появлялось окно печати на принтер и в заданиях принтера не появлялось нового задания.

Посмотрел код в (5) и возник вопрос: а без Вывести() разве нельзя?
Просто 7.7 под рукой нет и нет возможности проверить.
25 Тихий омут
 
28.08.12
07:57
(24) п.1 - была проблема с симптомами именно как в (22). победилась удалением ветки moxel реестра.
п.2. - низзя:
---------------------------
1С:Предприятие
---------------------------
Нет информации для вывода на печать!
---------------------------
ОК  
---------------------------
26 andrewks
 
28.08.12
08:05
это бесполезно. ещё раз читай (8). вывод таблицы отменяет модальность. смирись, и сделай по-другому
27 Lokli
 
28.08.12
09:11
(0)(25) >> В модально открытой обработке программно формирую печатную форму и отправляю её напрямую на принтер

Зачем Вывести()?  Ведь нужно напрямую отправить на принтер или нет? Сразу же воспользоваться методом печати нельзя?
28 Тихий омут
 
28.08.12
09:20
(27) Вывести() - только как пример формирования таблицы, вывод всего макета. На самом деле там всё посложнее, таблица формируется из нескольких секций
29 andrewks
 
28.08.12
09:22
ты таблицу показываешь?
код давай, как на печать выводишь
30 Тихий омут
 
28.08.12
09:31
(29) см. (0), Таб.Напечатать(0), что тут ещё можно добавить? )
Вывести() здесь как простой пример формирования таблицы, результат от способа формирования не зависит. Ещё использую Таб.ПараметрыСтраницы(,,,,,,,,,,,ИмяПринтера), но как показал опыт, всё это несущественно. Важно сочетание модального окна и метода Напечатать() вне зависимости от его параметров. Использование (или неиспользование) метода таблицы Показать() ничего в интересующем аспекте не меняет
31 Тихий омут
 
28.08.12
09:32
+(30) кстати, показывать таблицу перед печатью не хотелось бы; окно параметров принтера также ни к чему