|
Программные клики в 1с. | ☑ | ||
---|---|---|---|---|
0
Креатив
23.09.21
✎
11:14
|
В продолжении ветки ЗУП 3.1. Перерасчёт всех сотрудников оптом в увольнении списком.
Как в 1С эмулировать нажатие кнопок/ссылок (запускать выполнение команд). Пользователям лень заходить в расшифровку каждой строчки, нажимать на пересчитать и ок. |
|||
1
Смотрящий
23.09.21
✎
11:16
|
(0) Спроси их про деньги. Им их не лень получать ?
|
|||
2
ДенисЧ
23.09.21
✎
11:19
|
(0) Нарисуй им кнопку "пересчитать расшифровку всех строк"
|
|||
3
GANR
23.09.21
✎
11:23
|
(0) Совершенно ненужная вещь. Нужно просто сделать кнопку, которая массово пересчитает все, что они поштучно кликают как говорит (2).
|
|||
4
Креатив
23.09.21
✎
11:26
|
(2)(3)Если вы про программное дублирование кода пересчёта, то такая мысль была. Но как только 1С поменяет алгоритм расчёта(законодательство изменится), придётся снова всё переделывать.
|
|||
5
Жан Пердежон
23.09.21
✎
11:27
|
(4) а дублировать то зачем?
|
|||
6
Мимохожий Однако
23.09.21
✎
11:29
|
(4) Они не про это
|
|||
7
Kassern
23.09.21
✎
11:32
|
(0) как то так тебе надо?))
Процедура ЭмуляцияДляПрокрастинации() ТвояКнопка(неопределено) //вот так можешь юзать кнопку) КонецПроцедуры |
|||
8
Креатив
23.09.21
✎
11:33
|
(5)(6)Я посмотрю, где расположены процедуры и функции по расчёту. Если окажется, что в форме строки документа, то я пока не представляю, как их запустить.
|
|||
9
Креатив
23.09.21
✎
11:34
|
(8)+ из основной формы документа.
|
|||
10
Kassern
23.09.21
✎
11:34
|
(0) а если уж совсем хочешь по хардкору, то....))
Shell= Новый COMОбъект("Wscript.Shell"); Shell.SendKeys(... |
|||
11
Мимохожий Однако
23.09.21
✎
11:36
|
(9) Включи отладчик, сделай точку останова на команды пользователей по кнопкам и все эти команды запихни в одну кнопку с перебором строк
|
|||
12
Bigbro
23.09.21
✎
11:46
|
я делал как в (10) когда надо было кнопки посылать.
|
|||
13
mikecool
23.09.21
✎
11:48
|
в конфигураторе: сервис - запустить для записи журнала действий пользователя + (10)
))) |
|||
14
mikecool
23.09.21
✎
11:48
|
сейчас придет Гений и выдаст мегарешение с использованием стиральной машины
|
|||
15
Креатив
23.09.21
✎
12:05
|
(11)Загвоздка в том, что формы две. Основная и форма строки, которая расшифровывает каждую строчку в отдельности. И в ней происходит расчёт.
|
|||
16
Kassern
23.09.21
✎
12:10
|
(15) вы думаете, что там с принципами ООП все плохо? Полюбому расчет из какого то общего модуля происходит и к нему можно программно постучаться
|
|||
17
Креатив
23.09.21
✎
12:12
|
(16)Проверю.
|
|||
18
Креатив
23.09.21
✎
12:37
|
(16)Ситуация ещё хуже, чем я думал. Большинство действий производится в модуле формы строки. Есть отсылки к общим модулям при расчёте среднего и чего-то ещё. Плюс ещё создаётся документ уволнение(без последующей записи) и там какие-то манипуляции происходят.
Получается то же дублирование. Тупиковый путь. |
|||
19
Креатив
23.09.21
✎
12:40
|
Попробую осуществить следующий план.
1. В основной форме вызвать команду расшифровки, открывающую форму строки с добавлением своего параметра. 2. В форме строки при открытии проверять наличие параметра. И выполнять команды расчёта и нажатия кнопки ок. |
|||
20
GANR
23.09.21
✎
16:17
|
(4) Для меня выработался закон трёх "не":
- не копипастить (дублировать) - не использовать первый попавшийся - не вставлять бизнес-логику в код |
|||
21
МнеТолько Спросить
23.09.21
✎
16:29
|
(18)Могу я уточнить где проблема? В открытии\создании формы? Или в запуске процедур этой формы?
|
|||
22
fisher
23.09.21
✎
16:37
|
(20) > не вставлять бизнес-логику в код
А куда, если не спрашивать гусар? |
|||
23
Жан Пердежон
23.09.21
✎
16:55
|
(22) очевидно, что в данные!
ВЫПОЛНИТЬ(СправочникБизнесЛогики.Код); |
|||
24
Жан Пердежон
23.09.21
✎
17:01
|
(18) только хотел написать, что ты еще ЗУП не видел, но это, судя по всему, он и есть. Там вся бизнес-логика в экранных формах зашита. Любая автоматизация - привет копи-паста.
В моём личном топе это была Худшая типовая конфа №1. Была, пока не вышла 1С УХ. |
|||
25
Кирпич
23.09.21
✎
19:08
|
||||
26
Креатив
24.09.21
✎
09:51
|
(21)Случись, что нужная процедура/функция не является экспортной и финиш.
(25)Кликеры - это последний вариант. Нужен уж очень навороченный, который может распознавать элементы форм. |
|||
27
Kassern
24.09.21
✎
09:55
|
(26) напиши свой на питоне, чтобы все распознавал. Помню как то мини бота писал, который кликал там где мне надо и когда надо) Там ничего сложного нет, По клавише запускаешь код, программма может сделать скрин выбранного участка, далее без проблем сравнить с нужной картинкой, если совпадение до определенного уровня, тогда тыкнуть как тебе надо)
|
|||
28
Kassern
24.09.21
✎
09:57
|
(26) "то нужная процедура/функция не является экспортной" ну так сделай ее таковой, или перенеси всю эту бизнес логику в какую нить обработку внешнюю. А далее можешь ее прикрутить в 1с в виде кнопки. По нажатию, получаешь данные документа и заполняешь как тебе надо.
|
|||
29
Мультук
гуру
24.09.21
✎
09:58
|
(24)
Полностью согласен. Есть впечатление, что ЗУП писала команда вообще "оторванная" от других команд (БП, УТ). |
|||
30
Креатив
24.09.21
✎
10:10
|
(27)На питоне не катит. Если и писать, то ВК для 1С, чтобы понимала элементы форм 1С. Только вот я сижу на сдельно-почасовой оплате. И если буду заниматься такими делами, то очень быстро закончится еда.
(28)Тот же копипаст. 1С следовало пойти этим путём. Тогда использовать было бы одно удовольствие. |
|||
31
maximkasuper
24.09.21
✎
11:13
|
(25) Сделайте через расширение формы. С поддержки снимать не надо, но при этом есть доступ ко всем методам формы.
|
|||
32
Креатив
06.10.21
✎
11:44
|
(31)Прямого доступа не вижу. В расширение методы добавлять нужно?
|
|||
33
ADirks
06.10.21
✎
11:57
|
(29) на ЗУПе у них традиционно самая лучшая и привилегированная команда
привилегированная - потому что траву им подтаскивают без перерыва, и самую годную самая лучшая - потому что поддерживать и развивать это чудо могут только наиболее крутые перцы |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |