Имя: Пароль:
1C
1С v8
Запуск внешней обработки
0 masterfact
 
22.03.13
13:41
В процедуре ПриНачалеРаботыСистемы вставил такой код:
Если мТекущийПользователь.Наименование = "StopSale" Тогда
   Парам = Новый Структура("Команда");
   Парам.Вставить("Команда", "Запуск");
   Форма = ПолучитьФорму("ВнешняяОбработка.ИзменениеСтопОтгруза.Форма", Парам);
   Форма.Открыть();
   ЗавершитьРаботуСистемы(Ложь);
КонецЕсли;

Обработку воткнул через Сервис - Внешние печ.формы и обработки, ругается на строчку ПолучитьФорму - "Неизвестное имя формы", пробовал писать Форма.Форма, то же самое. И сразу второй вопрос, как в той обработке получить передаваемые параметры
1 IBTM
 
22.03.13
13:42
почитай про ПолучитьФорму
2 Господин ПЖ
 
22.03.13
13:43
>Сервис - Внешние печ.формы и обработки

>ПолучитьФорму("ВнешняяОбработка.ИзменениеСтопОтгруза.Форма"

или крестик или трусы
3 Cube
 
22.03.13
13:43
(0) Оригинально: открыть форму обработки и тут же закрыть программу... Умно!
4 Cube
 
22.03.13
13:45
(0) И ты должен в справочнике ВнешниеОбработки, найти свою, сохранить её в темп, а потом уже подключить её и обращаться к её форме...
5 masterfact
 
22.03.13
13:48
(3) После выполнения обработки мне надо закрыть программу, что-то не так?
6 Cube
 
22.03.13
13:49
(5) Смысл открывать форму, если показать ты её не успеешь - программа закрывается тут же?
7 masterfact
 
22.03.13
13:49
(4) а примерчик кода где-нибудь можно подсмотреть?
8 Cube
 
22.03.13
13:49
(7) Лучше задачу опиши.
9 ДенисЧ
 
22.03.13
13:49
(7) Ага. В самом справочнике внешних обработок
10 masterfact
 
22.03.13
13:50
(5) а как сделать, чтобы обработка завершилась, а потом закрыть?
11 ale-sarin
 
22.03.13
13:50
(7) Пример через отладчик можно найти при печати внеш. печ. формы.
12 Wobland
 
22.03.13
13:50
(6) форма рассчитана на гиперактивных юзеров
13 ale-sarin
 
22.03.13
13:51
(10)    
Обработка = Обработки.АрхивСотрудников.Создать();
Обработка.ОбработкаСотрудников();//процедура в модуле обработки экпортная
14 kosts
 
22.03.13
13:51
Получи не форму обработки, а саму обработку и сделай все дела через модуль обработки.
15 masterfact
 
22.03.13
13:52
(7) Задача проще некуда, при заходе этим юзером выполнить обработку и закрыть программу
16 Cube
 
22.03.13
13:53
(15) Отлично описал... Че обработка делает-то? Почему это обработка? Почему в коде прямо при запуске не написать всё что надо?
17 Wobland
 
22.03.13
13:53
(15) не нужна тебе форма
18 Wobland
 
22.03.13
13:54
(16) пример. был у меня предопределённый элемент справочника в качестве автозапуска. код можно было менять без изменения конфигурации...
19 kosts
 
22.03.13
13:54
(15) Если нужны интерактивные действия с обязательным потом закрытием, то модально можно открыть форму.
20 masterfact
 
22.03.13
13:55
(15) Эту обработку руками тоже запускают, нельзя ее при запуске делать, а обработка при определенных условиях проставляет галки в спр.Контрагенты
21 Wobland
 
22.03.13
13:56
(20) так нельзя или нужно?
22 Cube
 
22.03.13
13:57
(21) +1)))
23 masterfact
 
22.03.13
14:00
(21) не понял вопроса, надо запустить обработку, никаких интерактивных действий в этом режиме нет, и после ее завершения закрыть программу, все элементарно, только как это сделать?
24 kosts
 
22.03.13
14:01
(23) При каких условиях это нужно делать?
Один раз. Каждый раз при входе определенного пользователя?
25 kosts
 
22.03.13
14:02
И почему внешняя обработка, а вне внутренняя, т.к. все равно конфа изменяется...
26 Wobland
 
22.03.13
14:03
(23) нет интерактива - нет формы. используй силу модуля обработки
27 Wobland
 
22.03.13
14:04
или силу чистого кода
28 masterfact
 
22.03.13
14:04
(24) каждый раз при входе пользователя StopSale
29 Wobland
 
22.03.13
14:04
сейчас ещё до Наименование = "StopSale" доберёмся...
30 masterfact
 
22.03.13
14:05
(27) а можно чуть поподробнее?
31 ale-sarin
 
22.03.13
14:06
(23), (30) Ты че, читать не умеешь? Уже подсказали в 13 и 14.
32 Wobland
 
22.03.13
14:06
(30) Если мТекущийПользователь=НужныйЮзер() Тогда
СделатьЕмуПриятно();
КонецЕсли;

всё
33 kosts
 
22.03.13
14:07
Вопрос (25) снимаю, т.к. подумал, что в файле обработка...
34 ale-sarin
 
22.03.13
14:09
(33) А че снимать-то все правильно. Я согласен с (25).
35 masterfact
 
22.03.13
14:09
(31) ок, попробую
36 Wobland
 
22.03.13
14:11
(33) (34) да затем, чтобы код менять без изменения конфигурации можно было
37 Wobland
 
22.03.13
14:12
+(36) более одного раза
38 ale-sarin
 
22.03.13
14:14
(36) Ну это другой вопрос. Если чисто типовая.
А если уж наколбасил в "ПриНачалеработыСистемы", то и обработку в конфу включить бы.
39 program1Cer
 
22.03.13
15:43
(38) И колбасить изменение конфы на каждый чих.
Воланд дело говорит. + в обработку включить проверку на пользователя, чтобы при добавлении нового пользователя (а потом, как пить дать, появятся и группы пользователей ) не из менять конфу.
40 ale-sarin
 
22.03.13
16:06
(39) Это я предложил "колбасить изменение конфы на каждый чих"? Нет.
Я сказал лишь о том, что если уж у конфы включена возможность изменения, то и новые отчеты/обработки не зазорно впихнуть туда.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший