Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Автоматический запуск отчета в 1С 7.7
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
romarker
Добрый день! Может кто-то сталкивался с такой задачей, нужно чтобы в определенное времья суток запускалась 1С и формировался внешний отчет. Запуск самой 1С не проблема написать батник, а как вызвать отчет на запуск?
zetovich
самый простой вариант.
1. создаем пользователя "Вася"
2. в процедуре ПриНачалеРаботыСистемы()
Если ИмяПользователя() = "Вася" Тогда
ОткрытьФорму("Обработка.ТвояОбработка");
КонецЕсли;

3. ну потом было бы логично ЗавершитьРаботуСистемы();
Zaval
Хм.. внешний...
И? В смысле, что дальше с этим отчетом? Будете "думать завтра"?
Ширше надоть на жисть смотреть smile.gif
Сваяйте конфигурацию, этакий "Сборщик данных" - справочник со строками подключения, отчеты. Пусть подключается к 1сБазам по ОЛЕ или прямо к файлам/таблицам, строит свои отчеты и сохраняет их в виде документов или складывает в папочку.
А рабочие типовые пусть так и работают - максимум по одному пользователю добавить.
dobraleks
У меня в базе колега который был до меня сделал так.
В 00 часов надо было выгружать проводки с одной базы, и утром когда юзер входит в другую базу туда автоматом эти проводки загружаться.
Саму базу можешь запустить к примеру в 23-30, наступит 00-00 часов автоматом запуститься внешняя обработка и свормирует тебе отчет..

вот посмотрел как и что.
в глобальнике в
Процедура ПроцессОбработкиОжидания()
...


    Часов=0; Минут=0; Секунд=0;
    ТекущееВремя(Часов,Минут,Секунд);
    Если (Часов=0) Тогда
        ОткрытьФорму("Обработка",,"D:\1s_bases\Buh_project\ExtForms\Сохранение данных из рабочей базы.ert")
    КонецЕсли;
КонецПроцедуры
romarker
Поискал в нете инфу и наткнулся на vbs скрипт:
DirIB = "D:\Bases\Test\" - база, должна быть в списке баз 1С
loginQ = "User" - пользователь
passwdQ = "qwerty" - пароль
applQ = """D:\Bases\Test\Ert\Export.ert""" - путь к отчету
parmQ = "auto"
Set v7 = CreateObject("V1CEnterprise.Application")
Open = v7.Initialize(v7.RMTrade, "/D "+DirIB+" /N "+loginQ+" /P """+passwdQ+""" ", "NO_SPLASH_SHOW")
If Open <> -1 Then
WSCript.Echo "Error start 1c ("& Open &")"
WScript.Quit
End if
auto = "auto"
v7.ExecuteBatch("ОткрытьФорму(""Отчет"",""auto"","& applQ &")")
Set v7 = Nothing

Проверенно, работает!!!
Может кто знает VBS? Мне нужно после окончения выполнения этого отчета, дописать код выполнения следуещего отчета.
Ardi
напиши 1 отчет, который вызывает N нужных отчетов.
romarker
Немного неверно сформулировал вопрос. Есть внешний отчет (выгрузка даных в dbf), нужно что бы выгружались данные из двух разных баз 1С. Тоесть после выполнения выгрузки из первой базы, нужно чтобы сразу выполнялась выгрузка из второй базы.
romarker
Уже разобрался, всем спасибо.
dobraleks
Цитата(romarker @ 27.05.10, 12:44) необходимо зарегистрироваться для просмотра ссылки
Уже разобрался, всем спасибо.

И это все что можна сказать??
А выложить готовое решение слабо??
Может кому то тоже пригодиться...
romarker
Самый простой вариант, просто скопировать весь код и вставить после последней строчки, естественно исправив пути к последующей базе.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.