Имя: Пароль:
1C
1C 7.7
v7: MXL на форме
0 1C_noob_1C
 
25.01.13
12:04
Добрый день.

Подскажите можно ли вывести MXL-файл именно на форме обработки или отчета?

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

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


Таб = СоздатьОбъект("Таблица");
Таб.Открыть(ИмяКаталога + ИмяФайла + ".mxl");
Таб.Защита(0);
Таб.Показать();
1 Лодырь
 
25.01.13
12:07
А таблица в режиме ввода данных не поможет?
2 Mikeware
 
25.01.13
12:09
йоксель...
3 1C_noob_1C
 
25.01.13
12:17
(1) Дело в том, что данная функция будет работать у кассиров.
А у них есть только клавиатура кассира, мышь заблокирована и эти сообщения будут показываться при начале работы системы.
И еще нужна возможность печати сообщения Ctrl+P.
4 Ёпрст
 
25.01.13
12:20
(0)

Запросто.
Штатно, это либо пустаяТаблица или РВД

Но красившее- элемент управления Йоксель или TableDoc
5 Ёпрст
 
25.01.13
12:21
И еще, в модальной форме отображения Таблицы не будет в штатной Таблице.
6 АЛьФ
 
25.01.13
12:21
2(4) Ты не заметил, что модальное окно. Так что со штатной пролетает.
7 1C_noob_1C
 
25.01.13
12:25
Наверно штатными способами никак.
Попробую Йоксель или TableDoc.
Отпишусь о результате
8 1C_noob_1C
 
25.01.13
13:43
Йоксель не подошел, т.к. его методы отображения на форме не льзя запускать из ПриОткрытии.

Из мануала о СоздатьЭлементУправления: "Метод можно использовать только после окончательного создания формы. Поэтому в процедуре ПриОткрытии метод СоздатьЭлементУправления вызывать бессмысленно."
9 Mikeware
 
25.01.13
13:44
(8) ну и созлавай в ПослеОткрытия()
10 monsterZE
 
25.01.13
13:47
(8) прикрути формекс, вызывай из его процедур
11 1C_noob_1C
 
25.01.13
13:47
(9) в 7-ке такого нет)
12 1Сергей
 
25.01.13
13:53
(11) есть
13 monsterZE
 
25.01.13
13:53
14 monsterZE
 
25.01.13
13:55
к (13) точнее тебе вот http://www.1cpp.ru/docum/html/FormEx.html#onactivate
15 Ёпрст
 
25.01.13
13:57
(6) заметил, но поздно.. в (5)
16 Ёпрст
 
25.01.13
13:58
(11) Только в последнем формексе, в модальной форме ПослеОткрытия не работает :)))

Узай ПослеСозданияФормы
17 1C_noob_1C
 
25.01.13
13:58
(11) Понял.
Старался по миниму доп возможностей прикручивать.
18 1C_noob_1C
 
25.01.13
14:01
По сути надо открыть MXL-файл модально.
Может есть попроще метод?

P.S. это не значит, что я не буду пользоваться 1С++ и Йокселем)
19 Ёпрст
 
25.01.13
14:09
(18) а зачем ?
20 1C_noob_1C
 
25.01.13
14:11
(19) зачем все это надо? правильно понял?
21 Ёпрст
 
25.01.13
14:19
(20) ага.
Нафига тебе моксель модальный впёрся ?
Для сообщений - не красиво ни разу..
22 Ёпрст
 
25.01.13
14:20
тогда уж или нормальные объекты пихать, в которых есть передача управления (типа табледок/йоксель/вебброузер/еще какой активикс покрасившее) или забить
23 1C_noob_1C
 
25.01.13
14:21
(22) понял)
24 1C_noob_1C
 
25.01.13
14:23
(21) А открывать надо модально, потому что после сообщений должен открываться пустой чек. А так получается, что чек закрывает сообщение и кассиры "пугаются" или забивают на него.
25 Ёпрст
 
25.01.13
14:24
если тебе чат нужен, посмотри готовый на нетаинет слепленный, на риккцентре валяется
26 Ёпрст
 
25.01.13
14:25
(24) а зачем там моксель нужен ?
Выведи предупреждение или обычный текст на форме и привет
27 1C_noob_1C
 
25.01.13
14:25
(25) не не
Это сообщения администрации кассирам.
28 1C_noob_1C
 
25.01.13
14:26
(26) Это уже есть.
Но его нельзя прокручивать при большом тексте и печатать.
29 Ёпрст
 
25.01.13
14:59
выводи в окно сообщений
30 1C_noob_1C
 
25.01.13
15:04
(29) Предлагал сделать так.
Там будет простой текст, одного шрифта, если я правильно понял. Не подошло(

P.S. Кто девушку ужинает, тот ее и танцует)
31 monsterZE
 
25.01.13
15:04
внешняя форма с тз - заголовок "читай сюда"
с возможностью печати содержимого тз =)
и 100500 вопросов при закрытии формы.. аля уиндоус
32 monsterZE
 
25.01.13
15:06
к (31) - "чтобы закрыть - вычислите ... " часы + минуты.. =)
33 rbserg
 
25.01.13
15:08
(17) > Старался по миниму доп возможностей прикручивать.
еще скажи, что живешь в пещере и готовишь на костре. )))
1С++ не индусы написали.
34 1C_noob_1C
 
25.01.13
15:09
(33) да я понимаю))
Стараюсь сделать типовыми методами, но если не выходит, то...
35 Ёпрст
 
25.01.13
15:10
То пиши в объект Текст его и показывай потом. Его и печатать можно
36 1C_noob_1C
 
25.01.13
15:11
(35) Примерно дословно: "А там же таблички можно всякие делать и цветом фон выделять.." (
37 Ёпрст
 
25.01.13
15:12
(35) тогда пиши в моксель, показывай его после закрытия формы.
38 1C_noob_1C
 
25.01.13
15:14
(37) А открывать надо модально, потому что после сообщений должен открываться пустой чек. А так получается, что чек закрывает сообщение и кассиры "пугаются" или забивают на него.
39 Ganiev
 
25.01.13
15:15
(0)Всю переписку не читал(Лень) может кто советовал! Сделай таблицу на форме!
40 1C_noob_1C
 
25.01.13
15:15
(37) Весь вопрос в модальном открытии или остановки до закрытия окна.
41 Ёпрст
 
25.01.13
15:15
(39) у модальной формы нет Таблицы
42 Ёпрст
 
25.01.13
15:16
(38) в смысле ? После обработки активизируй свой моксель с красивыми сообщениями и привет.
43 Ganiev
 
25.01.13
15:16
(0)(41)А обязательно модально?
44 Ёпрст
 
25.01.13
15:17
ну или, вк
45 1C_noob_1C
 
25.01.13
15:17
(43) см. 38)
46 Ganiev
 
25.01.13
15:19
Запустить обработку не в модальном режиме а чек вывести ПриЗакрытии();
47 1C_noob_1C
 
25.01.13
15:19
(42) все это выполняется при начале работы системы.
И после сообщений идет открытие пустого чека.
48 1C_noob_1C
 
25.01.13
15:20
(46) Загвоздка в том, что сообщений может быть > 1.
49 Ёпрст
 
25.01.13
15:22
(47) И ?
открываешь модально что-то, это что-то вернёт моксель, его и показываешь.. усё.
50 Ganiev
 
25.01.13
15:23
Блин не помню из модальной обработки можно вызвать не модально другую?
51 1C_noob_1C
 
25.01.13
15:23
(49) может я что-то не понял, но после показа мокселя код пойдет выполняться дальше...
52 1C_noob_1C
 
25.01.13
15:24
(50) вроде можно, но модальная будет все равно поверх всех окон(
53 Ёпрст
 
25.01.13
15:24
(51) И ?
что в этом плохого ?
Дальше откроется твой пустой чек, поверх которого будет открыт твой моксель с сообщениями. Ты не этого хотел разве ?
54 Ёпрст
 
25.01.13
15:25
(50) нет.
Любое открытие формы из модальной будет так же открыто в модальном окне
55 1C_noob_1C
 
25.01.13
15:25
(47) может я что-то не понимаю, но после показа мокселя код будет выполняться дальше
56 1C_noob_1C
 
25.01.13
15:34
Ок. Начну сначала.
ПриНачалеРаботыСистемы выводятся сообщения и после этого открывается пустой чек. Это было сделано с помощью Предупреждение(), где каждое сообщение выводилось отдельно и только после его закрытия шло дальше.
Теперь мне надо сделать эти сообщения более информативнее, "красивее", с таблицами и с возможностью печати. Пока я пришел к способу делать это через MXL-файл.
57 Ёпрст
 
25.01.13
15:35
(56) см. (53)
58 1C_noob_1C
 
25.01.13
15:44
(57) Сообщения может быть не одно и при развернутых на весь экран (как часто и бывает), они перекроют друг друга. При таком варианте, как показала практика, будут читать только последнее сообщение, а на другие просто забивать.
59 1C_noob_1C
 
25.01.13
15:46
(57) Задача "заставить" прочитать сообщение, тем что оно будет висеть пока не закроют.
60 1C_noob_1C
 
25.01.13
15:49
Не спорю, может есть другой способ. Но до него пока не додумался)
61 Ёпрст
 
25.01.13
15:51
(58) И ?
все сообщения пиши в ОДИН моксель.
Как во всех типовых слеплена глТрассировка
62 1C_noob_1C
 
25.01.13
15:56
(61) вариант, но файл быстро раздуется(
63 Ёпрст
 
25.01.13
16:04
тебе не пофик ?
64 Ёпрст
 
25.01.13
16:04
он же один раз покажется и привет.
65 1C_noob_1C
 
25.01.13
16:06
(64) тогда я не понял (58)
66 1C_noob_1C
 
25.01.13
16:06
(64) извини, не (58), а (61)
67 1C_noob_1C
 
25.01.13
16:07
заморочился уже))
68 Ёпрст
 
25.01.13
16:07
Открой типовой Тис/бухню, проводи доки - смотри - там одна табличка всегда показывается.
Сделай по-аналогии, можешь тупо в неё же писать этими же методами.
Её потом и покажешь в ПриНачалеРаботыСистемы.
Усё.
69 1C_noob_1C
 
25.01.13
16:14
(68) Понял "Обработка.Трассировка". Спасибо, попробую.
70 1C_noob_1C
 
25.01.13
17:22
Пока не стал заморачиваться с полным копированием таблицы из файла. Сделал проще.
Сначало октрыл чек, потом в обратном порядке все сообщения MXL, развернув их на весь экран. Они наложились друг на друга в порядке чек и 1..n-ое сообщение. Чтобы добраться до чека нужно будет закрыть все сообщения. Т.к. мыши у кассиров нет, то они смогут закрывать только по порядку, тем самым просмотрят все сообщения.

Огромное спасибо всем за помощь.

P.S. Хотел как лучше, а получилось как всегда))
71 Ёпрст
 
25.01.13
17:31
А чего в одну простыню не хочешь писать ?
Это же проще и удобнее, чем кучка  открытых форм
72 1C_noob_1C
 
25.01.13
17:44
(71) Эти сообщения в основном для кассиров. На кассах установлены "маленькие" мониторы. Они запарятся листать.
Да и для кассиров закрытие каждого окна будет означать, что они с ним ознакомились.