Имя: Пароль:
1C
1C 7.7
v7: Есть ли способ открытия окон по умолчанию на весь экран?
,
0 Georg68
 
29.08.19
06:10
При запуске 1с у нас открывается два окна. Одно - справочник на контроле, там документы всякие, которые в работе. И второе - остатки товаров, которыми пользуются продавцы на местах. Открывается в оконном режиме. И вот я уже несколько лет бьюсь с продавцами, чтобы они развернули после открытия окно на весь экран, а не колупались на маленьком окне целый день. И до них это не доходит, ну такие вот... женщины.
Есть способ на весь экран по умолчанию?
1 Волшебник
 
29.08.19
06:55
WSH.SendKeys()
Alt-пробел
вниз 4 раза
Enter
2 АгентБезопасной Нацио
 
29.08.19
08:26
Формекс.

Максимизировать(<?>)
Синтаксис:
Максимизировать(<Форма>)
Назначение:
Максимизирование окна.
Параметры:
<Форма> - Необязательный параметр.  Объект Форма окна, которое необходимо максимизировать.
По умолчанию - главное окно программы.
3 Kigo_Kigo
 
29.08.19
08:31
4 Emery
 
29.08.19
08:33
Можно еще длл-кку наваять. В секции DLL_PROCESS_ATTACH функции DllMain() можно написать:

HWND hMainWnd = GetForegroundWindow();  // Должно быть hWnd главного окна "1С:Предприятие"

// Получение размеров клиентской области окна
RECT R = {0};
BOOL bResult = SystemParametersInfo(SPI_GETWORKAREA, 0, &R, 0);

MoveWindow(hMainWnd, R.left, R.top, R.right - R.left, R.bottom - R.top, TRUE);

Если мы, допустим, используем фоновый рисунок в клиентской области 1С, то нужно обновить его

// В 1С8х надо принудительно обновить всю клиентскую область
InvalidateRect(hWndMDIClient, &R, TRUE);

А если не используем, то не надо. Здесь хэндл MDIClient’а имеет смысл только для «толстых» форм 1С82 и ниже, например, 1С77. Вычислить его можно путем перебора дочерних окон и поиском подстроки «MDIClient» в имени класса.

Конечно, это все сложно, для обычного технического программиста 1С, но интересующимся могу сказать, что:

а) совсем не обязательно следовать технологии внешних компонент 1С, чтобы загрузить произвольную dll в процесс «семерки» либо «восьмерки»

и

б) я как раз пишу статью на Хабр: «Можно ли в 1С не соблюдать технологию внешних компонент? Или
Как поздравить коллег с помощью 1С?». Там будут картинки, примеры и подробные объяснения на эту тему.
5 АгентБезопасной Нацио
 
29.08.19
08:34
(4) все давно написано. лет 15 назад
6 Emery
 
29.08.19
08:41
(5) > все давно написано. лет 15 назад

15 не было управляемых форм. Как в них использовать произвольные dll, вместо ВК? В статье об этом будет идти речь.
7 АгентБезопасной Нацио
 
29.08.19
08:43
(6) в данной теме вопрос по 7.7, в которой штатно управляемых форм так и не появилось.
8 Emery
 
29.08.19
08:49
(7) > в данной теме вопрос по 7.7, в которой штатно управляемых форм так и не появилось.

Понятно, написано давно, но не обо всем.

Хорошо, расскажите тогда, как в «семерке» быстро загрузить jpg-файл, размером под мегабайт в качестве фонового рисунка? Конвертацию в bmp и FormEx.dll не предлагать.
9 АгентБезопасной Нацио
 
29.08.19
08:53
(8) а почему, собственно, "не предлагать" формекс? который давно стал штатным инструментом.
И нахрена "jpg-файл, размером под мегабайт в качестве фонового рисунка"?

- Доктор,почему когда я приседая кончиком языка дотрагиваюсь до комочка фольги, в
которой до этого пекли картошку, у меня покалывает за ухом. Почему?
- Потому, что у вас слишком дох** свободного времени!
©
10 Emery
 
29.08.19
09:07
(7) > а почему, собственно, "не предлагать" формекс? который давно стал штатным инструментом.

В качестве загрузки фоновых изображений (в bmp по 5-6 мегабайт) он работает очень медленно. Это раз. А для «восьмерки» он вообще не годится. У меня будет предложена универсальная dll.

> И нахрена "jpg-файл, размером под мегабайт в качестве фонового рисунка"?

Ну, вы же пишите, «ВСЁ давно написано, лет 15 назад». Типа, зачем мне писать статью? Я и отвечаю, что там будет куда больше вещей, чем просто распахнуть окно на весь экран. А в ответ классическое: «не читал, но отвергаю!» :) .
11 АгентБезопасной Нацио
 
29.08.19
09:14
(10) зачем человеку " длл-кку наваять. В секции DLL_PROCESS_ATTACH функции DllMain() можно написать"?
вот нахрена? только потому, что кому-то потребовались универсальные ДЛЛ для 7 и 8 с загрузкой 5-мегабайтных изображений в качестве фонового рисунка? не, идиотов в мире, конечно, много, но "с ума каждый по-своему сходит. это только гриппом все вместе болеют"©

Писать статью вам никто не запрещает. вон, ромикс с фиксиным тоже много чего понаписали...
12 Emery
 
29.08.19
09:35
(11)  > идиотов в мире, конечно, много, но "с ума каждый по-своему сходит. это только гриппом все вместе болеют"©

Никогда не понимал, почему люди, скажем мягко, эмоционально не равнодушны к чужим, достаточно безобидным делам? Вам некуда выплескивать свои эмоции? Да, как кто-то сказал: «В этом мире есть много вещей, которые мне не нужны!». И что, надо волноваться по этому поводу? :)

> вот нахрена? только потому, что кому-то потребовались универсальные ДЛЛ для 7 и 8 с загрузкой 5-мегабайтных изображений в качестве фонового рисунка? не,

Например, чтобы красиво было. Вот, специально для вас выгрузил картинку:

http://emery-emerald.narod.ru/Pics/1C/1C82.jpg

В статье будут и другие.

FormeEx.dll отличная библиотека, но даже для «семерки» ее маловато. Кто хочет больших возможностей от 1С, тому нужны дополнительные возможности. Но вам, я понял, не нужны.

> Писать статью вам никто не запрещает. вон, ромикс с фиксиным тоже много чего понаписали...

Ну да, «зачем нужны библиотеки, если есть коран?».
13 Aleksey
 
29.08.19
09:39
(1) тогда уж
WSHShell = СоздатьОбъект("WScript.Shell");
WSHShell.SendKeys("%");
WSHShell.SendKeys("{LEFT}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}");
14 АгентБезопасной Нацио
 
29.08.19
10:06
(12)
>>Например, чтобы красиво было
Красота - это функциональность, а не свистоперделки.
>>FormeEx.dll отличная библиотека, но даже для «семерки» ее маловато.
1с++, Formex, RVidget, Scanprint, Yoksel, RiK_Inet, DialMail (а еще - штатные библиотеки 1с и штатные возможности винды) перекрывают 99.99(9)% потребностей, которые могут понадобиться нормальным людям.
Остальные, впрочем, вполне имеют право хотеть грузить в качестве заставки 5-мегабайтную картинку.
Сводить все это в одну самописную библиотеку... ну разве что это нужно коту, у которого яйца уже отполированы...
15 АгентБезопасной Нацио
 
29.08.19
10:11
+(14) RWidget, конечно...
ну и от 7.7  пора отказываться постепенно. понятно, что на нормальных объемах она будет "летать", в отличие от УФ. Но имхо это не повод...
16 Ёпрст
 
29.08.19
10:23
(13)
тогда уж


WSHShell = СоздатьОбъект("WScript.Shell");
WSHShell.SendKeys("%");
WSHShell.SendKeys("{LEFT}{DOWN 5}{ENTER}");
17 Aleksey
 
29.08.19
10:25
(16) А чё, так можно было что ли?
18 Ёпрст
 
29.08.19
10:29
(17) нужно..
меньше кода- быстрее летит :)
19 andrewalexk
 
29.08.19
10:30
:)
    Addon1C.ShowChild(,1);
    Addon1C.ShowChild(,0);
20 АгентБезопасной Нацио
 
29.08.19
10:31
(18) "тяжелее ли жесткий диск с данными"
и "насколько пробелы в коде замедляют скорость работы"...
эх, прошли времена обсуждения дуршлагов.
21 Злопчинский
 
29.08.19
12:19
(20) зато на 8-ке все обсуждения сводятся по смыслу "поправила дворники, постучала по колесам - все равно не едет, что делать?"
22 Злопчинский
 
29.08.19
12:28
зато вот для 7.7 вопрос. есть макет, в макет выводится картинка. как в момент формирования печформы задавать для "обьекта" макета, куда выводится картинка, строго определенные размеры?
23 Ёпрст
 
29.08.19
12:30
(22) через tabledoc и другие классы, йоксель тот же.
На инфопомойке валяется класс для вставки печатей в уже готовый моксель, поищи
24 Ёпрст
 
29.08.19
12:31
25 Злопчинский
 
29.08.19
12:35
(23) в йокселе про картинки только http://yoksel.net.ru/Ob'ektyVstroennogoJazyka/Jjoksel'Kartinka - но это похоже не то что надо...
26 Злопчинский
 
29.08.19
12:37
(24) ага, спсб
27 Georg68
 
29.08.19
16:21
А можно вернуться к нашим баранам?
Понимания не пришло. Скрипт WSH не срабатывает, может у меня его и нет, как проверить?
По Alt+пробел даже не активно строка развертки. Хм..
https://www.dropbox.com/s/j4362bchu9i234u/раз1.jpg?dl=0
28 Ёпрст
 
29.08.19
16:23
(27) форма модальная поди открывается, да ? :))
29 Georg68
 
29.08.19
16:23
Ну да
30 Ёпрст
 
29.08.19
16:23
ну и не на том окне тыркаешь альтом
31 Ёпрст
 
29.08.19
16:23
(29) Вот с этого и надо было начинать
32 Ёпрст
 
29.08.19
16:24
модальную форму тока формексом можно максимизировать, или еще какой вк.
33 Ёпрст
 
29.08.19
16:24
метод, в (2) написан
34 Georg68
 
29.08.19
16:25
то есть всё сложно и забить?
35 Ёпрст
 
29.08.19
16:25
штатно, модальное окно не растягивается, от слова совсем
36 Georg68
 
29.08.19
16:25
Ясно(
37 Ёпрст
 
29.08.19
16:28
(34) нет никаких сложностей, в ПриОткрытии пишешь


Если Форма.МодальныйРежим() = 1 Тогда
  Окна = СоздатьОбъект("Окна");
  Окна.Максимизировать(Форма);
КонецЕсли;
38 Ёпрст
 
29.08.19
16:28
усё..
ну и формекс перед этим должен быть загружен