Имя: Пароль:
1C
1С v8
Запуск внешней обработки из справочника дополнительных внешних обраб-к и отчетов
0 igel1969
 
17.04.15
12:34
Здравствуйте!

Я написал обработку, поместил ее в дополнительные обработки и отчеты.
Теперь при запуске программы мне надо ее запускать.
Я нахожу эту обработку в справочники.Внешниеобработки, а что дальше?

Я погуглил - нашел способ, чтобы сперва записать эту обработку из справочника в файл на диске, а затем из файла запустить. Но мне кажется это маразм. неужели нет цивилизованного способа сделать это прямо из базы данных?
1 igel1969
 
17.04.15
12:36
(0) Код

АТ_Обработка = Справочники.ВнешниеОбработки.НайтиПоНаименованию("Склад", Истина);
2 vicof
 
17.04.15
12:36
Сделай ее внутренней обработкой.
3 Рэйв
 
17.04.15
12:36
можно прямо из базы данных. Но для этого она должна быть включена в обработки конфигурации.
Так что или она встроенная или внешняя
4 Рэйв
 
17.04.15
12:37
а внешняя запускается только из внешнего файла.
Кстати не вижу в том никакой проблемы.
5 igel1969
 
17.04.15
12:37
(3) понял, хотя и обидно.
способ со встроенными знаю, просто потом во встроенные сложнее вносить изменения - каждый раз обновлять конфу, а у нас пользователи с 6-20 утра до 22 вечера пашут
6 igel1969
 
17.04.15
12:38
(4) проблемы нет, просто при работе с базой данных использовать диск - маразм. у пользователся диска может не быть, может не быть прав на запись на диск
7 Рэйв
 
17.04.15
12:38
(5)Ну значит сохраня в КаталогВременныхФайлов() и не парься
8 Рэйв
 
17.04.15
12:39
для КаталогВременныхФайлов всегда есмть пава
9 Рэйв
 
17.04.15
12:39
*есть права:-)
10 igel1969
 
17.04.15
12:47
(9) осталась надежда только на это
11 Михаил Козлов
 
17.04.15
12:53
(1) Посмотрите, как штатно сделан запуск внешних обработок.
12 Kookish
 
17.04.15
13:21
(11) Чуть-чуть опередил. В Бухгалтерии 2.0 обработка сначала выгружалась во временный файл, а потом оттуда запускалась. А сейчас она фиг знает откуда запускается, не копал глубоко. Но уверен, ответы в тексте.
П. С. Разумеется, включать обработку в конфигурацию необходимости я не вижу.
13 anatoly
 
17.04.15
13:42
(6) "у пользователся диска может не быть" - это как?

вот самый простой и правильный способ:
СодержимоеХранилища = ХранилищеВнешнейОбработки.Получить();
ИмяФайла = ПолучитьИмяВременногоФайла("epf");
СодержимоеХранилища .Записать(ИмяФайла);
Обработка = ВнешниеОбработки.Создать(ИмяФайла);
14 bolobol
 
17.04.15
13:59
(5) Чем мешает пользователям обновление обработки?
15 anatoly
 
17.04.15
14:09
(14) демоническое обновление может их принудительно выкидывать.
ну или просто глючить иногда...
16 bolobol
 
17.04.15
15:38
Файловая база? тогда - да. Это зло. Но период с 22 до 6 то свободен - забирай и властвуй!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший