![]() |
Модераторы: stron |
![]() ![]() ![]() |
|
dionisiu |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 13.5.2006 Где: Крым Репутация: нет Всего: 2 |
Здравствуйте, уважаемые!
подскажите, пожалуйста, существует ли принципиальная возможность запуска в командной строке 1С77 (на дбф-ах) с тем, чтобы открыть определённый отчёт, выставить там необходимые параметры, запустить его, а по готовности - сохранить в эксель - то есть на полном автомате. предполагается запуск под утро (пока базой никто не пользуется) по расписанию, а то к концу месяца время сохранения отчёта (который в мокселе весит 16-17 метров) в эксель занимает уже по 40-50 минут, а отчёт нужен не позднее 08:10 утра, для последующей обработки (с учётом, что контора открывается в 08:00 - предложения приходить на час раньше не приветствуются). ссылки на документацию приветствуются и плюсуются. Я с работы ухожу около 7-ми вечера, но ночные операторы склада ещё до часу ночи могут колупаться, потом до трёх база индексируется, а после - нужно запустить мой отчёт. |
|||
|
||||
SaschaL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 880 Регистрация: 13.12.2006 Где: Челябинская обл г .Нязепетровcк Репутация: 8 Всего: 9 |
В принципе 1С поддерживает запуск из под командной строки и её можно запустить по расписанию. Методика запуска и синтакси подробно описан в литературе поставляемой в комплекте 1С. А вот с запуском отчета все гораздо сложнее. Можно конечно создать пользователя и написать для него специально обработку которая бы формировала отчет и сливала бы его в Экселевский формат. Но это только теоретически сам не пробовал воплотить такое в жизнь как то надобности не было.
Глобальный модуль придется тоже немного модернизировать (процедуру ПриНачалеРаботыСистемы()). Лично я выбрал реализацию такого варианта. Хотя можно и строними способами сделать такой отчет, предварительно выяснив структуру базы. |
|||
|
||||
Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 15 Всего: 24 |
Если 1С постоянно включена, то можно в глобальник добавить ОбработкаОжидания, куда встаить условие, типа если время такоето, тогда запустить такую-то процедуру формирования отчёта и после выгрузки.
|
|||
|
||||
evGenie |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 7.6.2007 Где: Челябинск Репутация: 1 Всего: 1 |
Именно так и нужно сделать. В ПриНачалеРаботыСистемы() анализировать какой пользователь вошел. Если текущий пользователь - специальный, то запустить соответствующую обработку и, потом, закрыть 1С. |
|||
|
||||
SaschaL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 880 Регистрация: 13.12.2006 Где: Челябинская обл г .Нязепетровcк Репутация: 8 Всего: 9 |
Можно так же использовать два способа приведенные выше:
Первый Способ это Ввести условие в процедуру "ПриНачалеРаботыСистемы()", в которой бы провелось условие на предмет кто из пользователей запустил програму. При этом если запущено под нужным пользователем, то открывалась бы нужная форма отчета. При этом на эту форму можно установить ОбработкуОжидания которая бы сама запустила после некоторого момента формирование отчета, а так же выгрузку в Эксель! |
|||
|
||||
Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 15 Всего: 24 |
Нахрен нужен лишний пользователь? Достаточно в обработке ожидания всё описать один раз и негемороиться. И в процедуре ПриНачалеРаботыСистемы ненадо нечё лишнего писать. Потом со всеми этими лишними доработками натыкаными в разных концах модуля, тем более глобальника, при обновлении потом проблем не оберёшся. |
|||
|
||||
dionisiu |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 13.5.2006 Где: Крым Репутация: нет Всего: 2 |
То есть, только в конфигураторе копаться
![]() у меня доступа к конфигу нет и никто не даст, а с разработчиками общаться невозможно. облом. |
|||
|
||||
evGenie |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 7.6.2007 Где: Челябинск Репутация: 1 Всего: 1 |
В условии задачи сказан именно запуск 1С. А если ее оставлять на ночь, то как она индекситься будет? Можно конечно запустить под каким-нибудь уже существующим пользователем и сработает ОбработкаОжидания(), но хранить пароль существующего пользователя в батнике в незашифрованном виде - чистое зло. Как раз с лишним пользователем геморроя будет меньше. Нужно не перегружать функционал существующих вещей, а использовать каждый механизм для целей, для которых он и предназначен. |
|||
|
||||
SaschaL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 880 Регистрация: 13.12.2006 Где: Челябинская обл г .Нязепетровcк Репутация: 8 Всего: 9 |
Разделяю снение <b>evGenie</b> что ни какого гемороя не должно быть если написать все правильно, на вставить то нужно всего одно условие которое не должно ни куда касатьсь кроме этого пользователя.
|
|||
|
||||
dionisiu |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 13.5.2006 Где: Крым Репутация: нет Всего: 2 |
Привожу текст процедуры ПриНачалеРаботыСистемы()
В базе есть пользователь с достаточными правами для отчёта, но недостаточными для просмотра других документов ("Гость"), его пароль не составляет секрета и может быть использовано в батнике. вопрос только в следующем: как сделать, чтоб среди ночи батник запустил 1С, потом эта процедура проверила пользователя, при совпадении с именем "Гость" вывела окошко, что через 60...30...0 секунд (в смысле, нужно вывести убывающее время) будет запущен отчёт, для отмены нажать "ОТМЕНА" (на случай визита контролирующих органов, чтоб у них была возможность отменить отчёт, а выполнять свой). И ещё вопрос в догонку: как, открыв отчёт, вызвать его сохранённую настройку (меню Действие/Открыть настройку)?
кстати, а есть на форуме тэги для кода 1С? |
|||
|
||||
SaschaL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 880 Регистрация: 13.12.2006 Где: Челябинская обл г .Нязепетровcк Репутация: 8 Всего: 9 |
Батник прицепи к новому заданию, через планировщик задач!
Там же и время назначается! |
|||
|
||||
evGenie |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 7.6.2007 Где: Челябинск Репутация: 1 Всего: 1 |
Не получится этого сделать. Просто выведи Вопрос() с нужным интервалом ожидания ответа. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "1C: Предприятие, SAP, ERP и учётные системы" | |
|
Запрещается! 1. Обсуждение крэков, кейгенов и других подобных программ Пробуйте искать сами или обращайтесь в приват к участникам форума. Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения. Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...) 2. Давать ссылки на взломанные продукты
|
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |