Имя: Пароль:
1C
 
Как программно поместить печатную форму в заданную область экрана?
0 worker-good
 
17.07.19
13:47
Как программно поместить печатную форму в заданную область экрана? Печатная форма вызывается следующим кодом:

УниверсальныеМеханизмы.НапечататьДокумент(ПечатьДопКурсы(Истина), 1, Ложь, "Печатная форма ""Дополнительные курсы обучения""", Неопределено, Неопределено);
1 Mukrob
 
17.07.19
13:48
что такое заданная область экрана?
по моему платформа запоминает последние настройки пользователя и все последующие формирует так же как и предыдущие., никак не исправить..
2 worker-good
 
17.07.19
13:49
(1) После чистки кеша последние настройки пользователя сбрасываются
3 Mukrob
 
17.07.19
13:51
(2) еще раз поставил как надо и формируешь, как часто нужно кэш чистить? в общем программно область задать нельзя.
4 worker-good
 
17.07.19
13:52
(3) А вот вот этим можно?

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ЗакрыватьПриВыборе = Ложь;
    ЗакрыватьПриЗакрытииВладельца = Истина;
    //ЗакрепитьСправа после открытия формы;
    ПодключитьОбработчикОжидания("ЗакрепитьСправа",0.1,Истина);
КонецПроцедуры

&НаКлиенте
Процедура ЗакрепитьСправа()
    Если ЭтаФорма.ВводДоступен() Тогда
        WSHShell = Новый COMОбъект("WScript.Shell");
        WSHShell.SendKeys("%");
        WSHShell.SendKeys("{DOWN 5}");
        WSHShell.SendKeys("{RIGHT}");
        WSHShell.SendKeys("{UP 5}");
        WSHShell.SendKeys("{ENTER}");
        ОтключитьОбработчикОжидания("ЗакрепитьСправа");
    КонецЕсли;
КонецПроцедуры;
5 Mukrob
 
17.07.19
13:55
(4) не знаю, не встречал такого кода ))) отправляет код с клавиатуры? предположу что наверно нельзя, а если окно развернуто во весь экран?
6 worker-good
 
17.07.19
13:55
(3) Задать положение окна нужно для 250 пользователей, на 4-х терминальных серверах. Итого нужно сделать 1000 настроек окна
7 1Сергей
 
17.07.19
14:01
(6) ну, до  утра ещё полно времени :)
8 worker-good
 
17.07.19
14:02
(7) Шурик, это же не наш метод
9 Mukrob
 
17.07.19
14:02
(6) пользователь самостоятельно окно в нужное ему место переместить не может? предположу на УФ окна вообще нельзя двигать..
10 worker-good
 
17.07.19
14:05
(9) Вот так вот хочет заказчик. Это УФ в обычном толстом клиенте. ЗУП 2.5 КОРП
11 worker-good
 
17.07.19
14:06
(9) Из УФ при нажатии на кнопку открывается обычная печатная форма
12 worker-good
 
17.07.19
14:10
(11) Соврал, из УФ вызывается УФ
13 worker-good
 
17.07.19
14:18
Ну и никто не знает? Всемогущие гуру не заходят на Мисту? А зарплату хотите от 200 т.р. Срамота, не можете справится с элементарной проблемой!
14 ДенисЧ
 
17.07.19
14:19
Нельзя в 1с перемещать произвольно форму штатно.
С тебя 100500 рублей за консультацию
15 worker-good
 
17.07.19
14:20
(14) Так давай внештатные возможности подключим)
16 Mukrob
 
17.07.19
14:20
(13) тебе же уже ответили нельзя перемещать программно окно и темболее в Упр.формах. так как для этого в 1С нет штатного механизма, возможно через костыли или другие программные решения как-то сделать можно, предположу что в веб клиенте работать точно не будет.
17 worker-good
 
17.07.19
14:20
(16) Да мне лишь бы работало в толстом клиенте, на остальные покуй
18 Mukrob
 
17.07.19
14:20
(15) подключай, можешь написать свою DLL хоть на pascal и отлавливать события 1С, цена вопроса?
19 Mukrob
 
17.07.19
14:22
(17) предлагаю решение по шагам
1. Очистить кэш
2. Сделать настройки
3. Сохранить кэш в другую папку
4. написать батник по очистке кэш-а
5. после очистки кэша перезаписывать старым кэшем который в другой папке..

*PROFIT*
20 Mukrob
 
17.07.19
14:23
(17) а да, с тебя +100500 рублей за консультацию
21 ДенисЧ
 
17.07.19
14:24
(15) Подключай, см (4) и с тебя 2001000 за консультацию,  с автором (4) поделим
22 worker-good
 
17.07.19
14:25
(21) Так это же я сам код написал в (4) )))
23 ДенисЧ
 
17.07.19
14:26
(22) Значит, с тобой поделимся. Ты как предпочитаешь - поровну или по-честному?
24 Garykom
 
гуру
17.07.19
14:27
Окном 1С можно управлять снаружи, осталось развернуть форму на весь экран и открыть печатную форму в новом сеансе/окне 1С.
25 Mukrob
 
17.07.19
14:27
))))))))))
26 Garykom
 
гуру
17.07.19
14:27
(24)+ *развернуть форму на все окно 1С
27 worker-good
 
17.07.19
14:27
(23) Пипец, да не работает этот код
28 worker-good
 
17.07.19
14:28
(26) Код пожалуйста
29 Mukrob
 
17.07.19
14:30
(26) давным давно еще в DeaD-стве, писал я бота для Lineage суть была простая, ог с интервалом находил "по заголовку программы" нужное окно и в это окно отправлял определенные команды например F2+*wait*+F4

писал на Delphi, думаю наверно по аналогии подобное реализовать можно.
30 worker-good
 
17.07.19
14:31
(29) А в (4) кодом можно реализовать? Я его нашел, только что-то он не работает
31 Mukrob
 
17.07.19
14:31
(30) Для управляемых форм есть свойство: "РежимОткрытияОкна" - Блокировать окно владельца (это оптимально, если форма не типовая).
32 Mukrob
 
17.07.19
14:33
(30) думаю нет, синтаксис не знаю, но по схожести похоже что он просто нажимает клавиши следующего порядка

("%");
("{DOWN 5}");
("{RIGHT}");
("{UP 5}");
("{ENTER}");

открой форму, и нажми в такой же последовательности клавиши на клавиатуре, разве что-то произойдет?
33 Mukrob
 
17.07.19
14:35
(30) да и для действия переместить нет горячей клавиши на сколько я вижу..
34 Йохохо
 
17.07.19
14:36
35 worker-good
 
17.07.19
14:41
(34) И где этот ВинМув можно применить в 1С? WinMove ( "title", "text", x, y [, width [, height [, speed]]] )
36 Mukrob
 
17.07.19
14:47
(35) например батник написать, и реализовать его запуск после открытия формы на клиенте.
37 Йохохо
 
17.07.19
14:48
(35) нигде, не увидит автоит формы
а код в (4) то работает)
38 worker-good
 
17.07.19
14:56
(37) Не работает
39 Йохохо
 
17.07.19
15:04
(38) работает
40 worker-good
 
17.07.19
15:09
(39) не работает. Граждане 1С-ники, прошу рассудить наш спор, кто еще может подтвердить что код в (4) решает мою проблему озвученную выше?
41 Йохохо
 
17.07.19
15:14
(40) а самому слабо?) нажми да проверь
42 worker-good
 
17.07.19
15:15
(41) Проверял, не работает
43 Йохохо
 
17.07.19
15:16
(42) а в зуп 3 работает, ставь зуп
44 worker-good
 
17.07.19
15:20
(43) Какие мы остроумные, а слабо в ЗУП 2.5 решить проблему?
45 Mukrob
 
17.07.19
15:21
(44) любой каприз за ваши бабки.
46 Вафель
 
17.07.19
15:22
нужно сделать форму прикрепленной чтоли?
47 worker-good
 
17.07.19
15:23
(46) Нет, нужно расположить форму в нижней части экрана
48 worker-good
 
17.07.19
15:24
(45) Любой каприз говоришь? Хочу квантовый компьютер
49 worker-good
 
17.07.19
15:26
(45) И искусственный интеллект который будет за меня программировать на 1С
50 worker-good
 
17.07.19
15:27
(45) Как в песне: "Вкалывают роботы, а не человек"
51 worker-good
 
17.07.19
15:31
(43) А как в ЗУП 3 код в (4) отрабатывает?
52 Йохохо
 
17.07.19
15:36
(51) прижимает окно вправо