|   |   | 
| 
 | Как автоматически выполнять внешний отчет по расписанию? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Elf56 07.07.14✎ 13:38 | 
        Всем доброго времени суток.
 Имеется 1с 8.3 УТ 11. Необходимо запускать по расписанию внешний отчет. Т.е. каждые два часа чтобы выполнялся нужный отчет. Т.е. в 9.00 в 11.00 в 13.00 в 15.00 и в 17.00. Понятно что нужно создать регламентное задание и начзначить реквизиту регламентного задания "Имя метода" Процедуру общего модуля. В принцепе так и сделал создал тествое регламентное задание с расписанием "Выполнять: c 1 июля 2014 г. каждый день; с 9:00:00 по 18:00:00 каждые 20 сек." нужной функции в общем модуле назначил значение реквизита "Имя метода". сама процедура выглядет вот так. Процедура ЗапускОтчетаСчетаВРаботу() Экспорт Сообщить("Регалментное задание работает"); КонецПроцедуры Опять же тестовая. Запустил 1с как в файловом варианте так и в клиент серверном, но сообщение не там не там не вылезло. Что я делаю не так? почему регламентное задание не срабатывает? И еще вопрос как из процедуры ЗапускОтчетаСчетаВРаботу() запустить внешний отчет на выполнение? Всем заранее спасибо. | |||
| 1
    
        Maxus43 07.07.14✎ 13:40 | 
        смысл отчет то делать по расписанию? кто его увидеть должен? сохранять в файл хочешь?     | |||
| 2
    
        Elf56 07.07.14✎ 13:41 | 
        Просто нужно чтобы у одно конкретного пользователя он запускал каждые два часа потому что сам он это забывает делать     | |||
| 3
    
        Greeen 07.07.14✎ 13:41 | 
        1) Регламентное задание выполняется на сервере от серверного же пользователя. Поэтому сообщение вылезает ему
 2) Чтобы определить - работает или нет регламентное задание воспользуйтесь обработкой Консоль заданий 3) Чтобы работало на сервере, нужно проверить, включены ли задания на сервере 1С | |||
| 4
    
        Elf56 07.07.14✎ 13:43 | 
        (3) а если в файловом варианте?     | |||
| 5
    
        Maxus43 07.07.14✎ 13:44 | 
        (2) обработка ожидания в помощь,  ане извращения с регламентыми заданиями, к которым сеанс пользователся отношения не имеет     | |||
| 6
    
        Elf56 07.07.14✎ 13:46 | 
        (5) Обработка ожидания что это такое и где ее взять?     | |||
| 7
    
        Maxus43 07.07.14✎ 13:51 | 
        (6) это при открытии формы отчета подключи обработку ожидания, а в её процедуре - жмакай програмно на кнопку сформировать     | |||
| 8
    
        Maxus43 07.07.14✎ 13:56 | 
        ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>)     | |||
| 9
    
        Elf56 07.07.14✎ 14:47 | 
        В сам внешний отчет в процедуру при открытии добавил ПодключитьОбработчикОжидания вот так 
 &НаКлиенте Процедура Сформировать(Команда) Отчет.ДатаНачала = Период.ДатаНачала; Отчет.ДатаОкончания = КонецДня(Период.ДатаОкончания); Если Отчет.ДатаНачала = '00010101' ИЛИ Отчет.ДатаОкончания = '00010101' Тогда Предупреждение("Необходимо указать период формирования отчета"); Возврат; КонецЕсли; Обновить(Отчет.ТабДок); КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) ПодключитьОбработчикОжидания("Сформировать", 10, Ложь) КонецПроцедуры Выдает вот такую ошибку {Форма.ФормаОтчета.Форма(42)}: Ошибка при вызове метода контекста (ПодключитьОбработчикОжидания) ПодключитьОбработчикОжидания("Сформировать", 10, Ложь) по причине: Недопустимое значение параметра (параметр номер '1') Хотя все правильно сделал Клиентская функция вызывается | |||
| 10
    
        Elf56 07.07.14✎ 14:48 | 
        Что не так сделал?     | |||
| 11
    
        Elf56 07.07.14✎ 14:51 | 
        По сути правильно же с клиента запускаю клиентскую процедуру почему ругается не пойму?     | |||
| 12
    
        Azverin 07.07.14✎ 14:54 | 
        (2) спасибо, поржал)))))     | |||
| 13
    
        Elf56 07.07.14✎ 14:56 | 
        (12) че смешно подсказал бы лучше как сделать     | |||
| 14
    
        Elf56 07.07.14✎ 15:04 | 
        Ну так может кто намекнет или подскажет в чем проблема     | |||
| 15
    
        hhhh 07.07.14✎ 15:07 | 
        (14) ну может буква С английская в слове Сформировать??     | |||
| 16
    
        hhhh 07.07.14✎ 15:10 | 
        еще попробуйте 
 ЭтаФорма.ПодключитьОбработчикОжидания("Сформировать", 10, Ложь) | |||
| 17
    
        Elf56 07.07.14✎ 15:15 | 
        Все разобрался просто в строке 
 ПодключитьОбработчикОжидания("Сформировать", 10, Ложь) вызывается процедура &НаКлиенте Процедура Сформировать(Команда) с входящим параметром команда а в строке ПодключитьОбработчикОжидания("Сформировать", 10, Ложь) нельзя вызвать с параметром поэтому пришлось делать новую процедуру которая вызывается без параметра а потом уже из нее вызывать сформировать | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |