Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Программные клики в 1с.

Программные клики в 1с.
Я
   Креатив
 
23.09.21 - 11:14
В продолжении ветки ЗУП 3.1. Перерасчёт всех сотрудников оптом в увольнении списком.
Как в 1С эмулировать нажатие кнопок/ссылок (запускать выполнение команд).
Пользователям лень заходить в расшифровку каждой строчки, нажимать на пересчитать и ок.
   Смотрящий
 
1 - 23.09.21 - 11:16
(0) Спроси их про деньги. Им их не лень получать ?
   ДенисЧ
 
2 - 23.09.21 - 11:19
(0) Нарисуй им кнопку "пересчитать расшифровку всех строк"
   GANR
 
3 - 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) Они не про это
   Kassern
 
7 - 23.09.21 - 11:32
(0) как то так тебе надо?))
Процедура ЭмуляцияДляПрокрастинации() 
 ТвояКнопка(неопределено)//вот так можешь юзать кнопку)

КонецПроцедуры
   Креатив
 
8 - 23.09.21 - 11:33
(5)(6)Я посмотрю, где расположены процедуры и функции по расчёту. Если окажется, что в форме строки документа, то я пока не представляю, как их запустить.
   Креатив
 
9 - 23.09.21 - 11:34
(8)+ из основной формы документа.
   Kassern
 
10 - 23.09.21 - 11:34
(0) а если уж совсем хочешь по хардкору, то....))
Shell= Новый COMОбъект("Wscript.Shell");
Shell.SendKeys(...
   МимохожийОднако
 
11 - 23.09.21 - 11:36
(9) Включи отладчик, сделай точку останова на команды пользователей по кнопкам и все эти команды запихни в одну кнопку с перебором строк
   Bigbro
 
12 - 23.09.21 - 11:46
я делал как в (10) когда надо было кнопки посылать.
   mikecool
 
13 - 23.09.21 - 11:48
в конфигураторе: сервис - запустить для записи журнала действий пользователя + (10)
)))
   mikecool
 
14 - 23.09.21 - 11:48
сейчас придет Гений и выдаст мегарешение с использованием стиральной машины
   Креатив
 
15 - 23.09.21 - 12:05
(11)Загвоздка в том, что формы две.  Основная и форма строки, которая расшифровывает каждую строчку в отдельности. И в ней происходит расчёт.
   Kassern
 
16 - 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. В форме строки при открытии проверять наличие параметра. И выполнять команды расчёта и нажатия кнопки ок.
   GANR
 
20 - 23.09.21 - 16:17
(4) Для меня выработался закон трёх "не":
- не копипастить (дублировать)
- не использовать первый попавшийся
- не вставлять бизнес-логику в код
   МнеТолькоСпросить
 
21 - 23.09.21 - 16:29
(18)Могу я уточнить где проблема? В открытии\создании формы? Или в запуске процедур этой формы?
   fisher
 
22 - 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)Кликеры - это последний вариант. Нужен уж очень навороченный, который может распознавать элементы форм.
   Kassern
 
27 - 24.09.21 - 09:55
(26) напиши свой на питоне, чтобы все распознавал. Помню как то мини бота писал, который кликал там где мне надо и когда надо) Там ничего сложного нет, По клавише запускаешь код, программма может сделать скрин выбранного участка, далее без проблем сравнить с нужной картинкой, если совпадение до определенного уровня, тогда тыкнуть как тебе надо)
   Kassern
 
28 - 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С следовало пойти этим путём. Тогда использовать было бы одно удовольствие.
 
 
   maximkasuper
 
31 - 24.09.21 - 11:13
(25) Сделайте через расширение формы. С поддержки снимать не надо, но при этом есть доступ ко всем методам формы.
   Креатив
 
32 - 06.10.21 - 11:44
(31)Прямого доступа не вижу. В расширение методы добавлять нужно?
   ADirks
 
33 - 06.10.21 - 11:57
(29) на ЗУПе у них традиционно самая лучшая и привилегированная команда
привилегированная - потому что траву им подтаскивают без перерыва, и самую годную
самая лучшая - потому что поддерживать и развивать это чудо могут только наиболее крутые перцы


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.