Запуск внешнего отчета (обработки) из командной строки.

26.12.07

Разработка - Инструментарий разработчика

Запуск внешнего отчета (обработки) из командной строки.

Скачать файлы

Наименование Файл Версия Размер
-
.1198671550 28,00Kb
875
.1198671550 28,00Kb 875 Скачать бесплатно

Столкнулся с необходимостью запустить внешнюю обработку без открытия 1С из командной строки. Изучение пакетного режима запуска 1С (77) закончилось безрезультатно. Разработал .exe файлик для запуска внешнего отчета 1С из командной строки.

Принцип действия OpenForm.exe:

  1. Открываем в фоновом процессе базу через OLE.
  2. Запускаем из базы ОткрытьФорму().

Описание параметров можно получить набрав в командной строке c:\OpenForm.exe ?

P.S. Для работы необходим Microsoft .NET Framework 1.0 и 2.0

См. также

Консоль запросов

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Консоль запросов к базе SQL, не требующая внешних компонент

10 стартмани

29.04.2015    21560    54    Gvozdod    8    

14

StartManager 1.4 - Развитие альтернативного стартера

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.

1 стартмани

23.04.2014    165723    1864    Alexoniq    1596    

496

Tray Informer

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Россия Абонемент ($m)

Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))

1 стартмани

04.09.2013    32881    61    O-Planet    78    

49

Изменение структуры баз 1С 7.7 без долгой реструктуризации. Часть 1. Справочники

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.

1 стартмани

13.08.2013    21200    Reptile    5    

35

v7.7 1CDialogControls: Инструмент в помощь разработчику на 7.7.

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Давным давно, когда я еще плотно писал на 7.7 работа с формами была мучительной и неудобной. Приходилось каждый элемент выкладывать, выравнивать на форме ручками, прописывать код в модуле. Иногда при разработке очередной формы приходила в голову мысль: "а где-то я уже похожее делал..." и начинался мучительный поиск подходящего кода в своих запасах........

1 стартмани

21.02.2013    18031    35    MarSeN    14    

16

[Разработчику] Любая таблица значений в OLAP

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    36104    51    venger    7    

23

Библиотека кода 1С 7.7 (накопленная за 8 лет)

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Весь код на 1С 7.7, собранный для повторного использования за 8 лет работы.

10 стартмани

25.11.2012    34960    248    adhocprog    51    

70
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. andrewalexk 26.12.07 17:03 Сейчас в теме
2. CheBurator 3119 26.12.07 18:21 Сейчас в теме
(1) жжожь нереально...
предлагаю на номинанта "гланды через ЗПС"
3. avhrst 519 26.12.07 18:41 Сейчас в теме
Не понимаю критики, если вызывает проблему фраймворк который свободно распространяется Microsoft , плюс во всем мире програмеры переходят на .NET платформу которая требует NF2 а уже и 3,5 - тогда присылайте свое мыло, я вам бедненьким скину :)
4. avhrst 519 26.12.07 18:42 Сейчас в теме
А решить проблему запуска 1С с командной строки ... других способов я не знаю..
5. CheBurator 3119 26.12.07 20:21 Сейчас в теме
Что значит "без открытия 1С из командной строки"...?
почему нельзя запустить 1С из командной строки с параметрами?
6. Abadonna 3958 26.12.07 22:08 Сейчас в теме
Все вопросы решаются добавлением в процедуру ПриНачалеРаботыСистемы()
единственной строчки
ОткрытьФорму("Отчет",,КаталогИБ()+"Старт.ert");
А уж в нем запущай что хошь и как хошь
7. avhrst 519 27.12.07 00:20 Сейчас в теме
Abadonna - очень грамотное решение, особенно если речь идет о 100 типовых конфигурациях, а когда обновление выйдет - стрелятся ! Плюс не забывайте что процедура ПриНачалеРаботыСистемы() срабатывает и тогда когда в базу входит юзер, а в данном случае обработку запускать не надо .

8. avhrst 519 27.12.07 00:23 Сейчас в теме
Сhe Burashka - а не могли бы Вы привести в коментариях пример запуска внешней обработки из 1С с помощью командной строки ?
9. Abadonna 3958 27.12.07 00:33 Сейчас в теме
>Плюс не забывайте что процедура ПриНачалеРаботыСистемы() срабатывает и тогда
Ну, блин, разжевываю. В Старт.ert
Код
Процедура ПриОткрытии()
   Если ИмяПользователя()<>"Автопилот" Тогда
      СтатусВозврата(0);
      Возврат;
   КонецЕсли; 
   // а тут ля-ля тополя запускаем, что хотим, хоть 100 обработок
КонецПроцедуры
Показать полностью

10. Abadonna 3958 27.12.07 00:37 Сейчас в теме
А 100 ьтповых - это, конечно, круто!!!
А в 3-5 вставить одну строчку - никаких проблем не вижу
11. avhrst 519 27.12.07 00:39 Сейчас в теме
Abadonna - модуль красивый, но мне надо чтобы все действия которые выполняет внешняя обработка имели автора (имя пользователя указывается в командной строке), плюс для глухих КОНФИГУРАЦИЙ 100 И ВСЕ ТИПОВЫЕ И МЕНЯТЬ ИХ НЕЛЬЗЯ
12. avhrst 519 27.12.07 00:43 Сейчас в теме
Abadonna - и еще вопрос, например тебе надо в типовую конфигурацию из MS Excel затащить данные, и чтобы автор документа был, и чтобы юзер в Excel выставлял период, нажимал в екселе кнопку и в 1С появлялся документ (например) с его именем ? (а конфигураций у меня не 100 , а 160 и все типовые :))
13. avhrst 519 27.12.07 00:45 Сейчас в теме
Кстати очень часто возникают ситуации когда когда неизвесно какую обработку придется запустить, и с какими параметрами ..
14. avhrst 519 27.12.07 00:59 Сейчас в теме
Abadonna - А с заставкой 1С что будеш делать ? (если не корявить библиотеки, то заставка не отображается только в режиме запуска через OLE)
15. Abadonna 3958 27.12.07 01:21 Сейчас в теме
А тебе говорил про запуск обработок, которые у меня по ночам работают: синхронизации всякие и т.д.
Там мне по барабану заставки и прочее. А так... я просто не могу себе представить ситуёвину, когда конкретному юзверю надо "втихую" запустить внешний отчет.
16. avhrst 519 27.12.07 01:26 Сейчас в теме
Вот тебе ситуация - двухсторонний обмен с Oracle, в 1С бухгалтера сидят, в oracle остальные отделы, а документами менятся надо и автор документа должен быть. Сидит себе человек работает в 1С, а тут заставка появляется , круто ?!!
17. avhrst 519 27.12.07 01:28 Сейчас в теме
Я бы ввобще все через OLE делал (документы создавал, справочники) но 1С с OLE мягко выражаясь работает плохо..
18. Abadonna 3958 27.12.07 01:36 Сейчас в теме
А насчет запуска 1С командной строкой с передачей параметра внешнего отчета Чебурашка, мягко говоря, загнул.
Не предусмотрено
19. avhrst 519 27.12.07 01:39 Сейчас в теме
Если б было предусмотрено, я бы с экзешником не возился..
20. Abadonna 3958 27.12.07 01:43 Сейчас в теме
Ну я ж и не утверждал, что твой вариант плохой ;)
Просто мне, например, он САВСЭМ без надобности. Для твоих конкретных условий - наверное самый правильный.
21. avhrst 519 27.12.07 01:46 Сейчас в теме
Выставил, может кому надо, а то я 2 дня с пакетным режимом т..ся :)
22. Abadonna 3958 27.12.07 01:51 Сейчас в теме
Ха! Мой предок под Винницей родился :))) почти земляки
23. CheBurator 3119 27.12.07 03:17 Сейчас в теме
АвторУ: посмотри внимательно на Абадонновский Автопилот.
Запусти под АВТОПИЛОТОМ отдельный экземпляр 1Сины - и пусть ОН НАРУЖУ ВЫДАЕТ ДАННЫЕ КАК ХОЧЕТ.
А запуск любого внешнего отчета не изменяя код конфигурации - НИ ОДНОЙ СТРОКИ и ни разу - я думаю, что можно извратиться.. мысль есть но) 1.моих познаний пока недостаточно 2. ЭТО БУДЕТ ЕЩЕ ОДНА ОФИГЕННАЯ ДЫРКА!!!
как пример запуска любой внешней обработки из командной строки
1. разобрать конфигурацию, извне подправить текст, собрать конфигурацию и запустить, после выхода из проги - снова разобрать, удалить следы внедренного кода и собрать...
.. это будет намного дешевле чем вставить в конфигурацию старт.ert?
если старт.ert надо вставить в 100 конфиг единовременно один раз чтобы использовать потом - решается выше аналогично...
2. запустить через командную строку 1Сину обычным образом и сэмуоировать в ее окно команды меню-файл-открыть...
24. CheBurator 3119 27.12.07 03:20 Сейчас в теме
а чего, по ОЛЕ нельзя ОткрытьФорму() штатную сделать? - очень сомневаюсь...евал попробовать Шаблон попробовать
25. avhrst 519 27.12.07 09:45 Сейчас в теме
Сhe Burashka - так я и открываю через OLE ОткрытьФорму() штатными средствами, и вообще стоит четкая задача - запуск внешнего отчета с передачей параметров из командной строки Windows - тоесть из любого приложения.
26. avhrst 519 27.12.07 09:53 Сейчас в теме
OpenForm.exe занимает 28Kb, так как кроме консольного приложения в нем больше ничего не используется, то скорей всего он будет работать и без 2.0 фраймворка (попробовать негде).
27. aikosyapr 25 07.08.08 12:43 Сейчас в теме
Большое спасибо автору, именно то, что нужно и нигде ничего похожего кроме кривой ert2exe не нашёл
28. VladAlex 16.03.09 15:19 Сейчас в теме
Автору, конечно, спасибо, но я не пока не осилил. Буду благодарен, если кто-то добрый ткнет меня носом в ошибку.

Во внешней обработке пишу такой код:
Процедура ПриОткрытии()
ЛогДок=СоздатьОбъект("Текст");
ЛогДок.ДобавитьСтроку("ПриОткрытии().Start");
Если ТипЗначенияСтр(Форма.Параметр) = "Строка" Тогда
Сформировать(2,Форма.Параметр);
СтатусВозврата(0);
КонецЕсли;
ЛогДок.ДобавитьСтроку("ПриОткрытии().End");
ЛогДок.Записать("c:\log.txt");
КонецПроцедуры

При ручном запуске данный код создает лог файл, а через openForm.exe - нет.
Листинг запуска openForm:
============================================================­===
C:\Бухгалтерия\ExtForms>openForm.exe c:\Бухгалтерия\ Автопилот
123 C:\Бухгалтерия\ExtForms\Export_20090308_155054.xml transfer.ert
Получены параметры: 16.03.2009 21:01:02
Путь к базе: c:\Бухгалтерия\
Поьлзователь: Автопилот
Пароль: 123
Параметр: C:\Бухгалтерия\ExtForms\Export_20090308_155054.xml
Путь к внешнему отчету: transfer.ert
Подключение к 1С ... 16.03.2009 21:01:02
Подключено. 16.03.2009 21:01:05
Запуск обработки....16.03.2009 21:01:05
Обработка завершена.16.03.2009 21:01:05
============================================================­===

29. VladAlex 17.03.09 12:30 Сейчас в теме
(28) Примерно понимаю где главная ошибка - поведение не изменяется, если указывать несуществующие файлы обработки. Т.е. openForm не находит мою обработку. Попробовал указывать полный путь к обработке, перемещал ее в корень диска, но безуспешно. Остальные параметры воспринимаются правильно, т.к. если, например, не указать пароль пользователя, то появляется диалог ввода пароля.
30. irisha 12.02.10 10:02 Сейчас в теме
А как открыть эту обработку, чтобы подправить под свои нужды?
31. PavelTLT 08.04.10 15:58 Сейчас в теме
Прекрасная вещица!
У меня тоже не сразу заработала.
Оказывается, я забыл из базы выйти (сидел под тем же юзером, под которым пытался запустить).

Автору спасибо!
32. maxchaos 22 08.02.11 15:00 Сейчас в теме
Спасибо! +1!
Если не сложно, просьба создать второй вариант файла для запуска 1С в монопольном режиме. Тогда, если название второго exe-файла задать типа "openFormMono.exe", то можно будет использовать оба варианта сабжа, при необходимости, динамически моделируя имя запускаемого файла.
36. cool.vlad4 2 08.02.11 16:15 Сейчас в теме
(32) reflector в руки и вперед. Можно было вообще скриптом сделать. Хоть на том же c#. Хотя необходимости в net-е здесь не вижу- консольную программку можно сделать на чем угодно.
34. luns 08.02.11 16:10 Сейчас в теме
Параметры командной строки для указания параметров запуска

/Execute <имя файла внешней обработки> — предназначен для запуска внешней обработки в режиме 1С:Предприятие непосредственно после старта системы.
35. luns 08.02.11 16:12 Сейчас в теме
ой. не заметил. тут семерошники тусят.
как у них все сложно :D
37. CheBurator 3119 08.02.11 16:19 Сейчас в теме
(35) не всем же деревням в 10 двров нужны камазы съездить в сельпо... ;-)
38. TBAPb23 31.05.12 16:59 Сейчас в теме
Спасибо, очень пригодилось. Отличное решение для тех у кого типовая конфигурация.
39. Олег1С 2 15.05.19 15:06 Сейчас в теме
Разобрался. Супер!! Спасибо!!!!
Оставьте свое сообщение