Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
21 Июл 2017, 15:41
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Запуск отчета при старте программы  (Прочитано 1170 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн keramik

  • ***
  • Сообщений: 161
  • РЕПУТАЦИЯ: 2
  • КПД: 1%
  • Регистрация: 2014-10-03
  • Сайт: 
  • Профессия: Программист 1С
Привет, 1С 8.3.6, "Бухгалтерия предприятия", редакция 3.0 (3.0.42.89).
Как запустить отчёт автоматом при старте программы.
Создал внешнюю обработку, в ней при помощи СКД собрал отчёт по клиентам фирмы. В модуле отчета прописал процедуры "инициации":
Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = Новый Структура;
    ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");

    ПараметрыРегистрации.Вставить("Наименование", "ПакетОтчетов");
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Информация", "ПакетОтчетов");
    ПараметрыРегистрации.Вставить("ВерсияБСП", "2.0.7.6");
    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    ДобавитьКоманду(ТаблицаКоманд,
    "ПакетОтчетов",
    "1",
    "ОткрытиеФормы",
    Истина,""

    );
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    Возврат ПараметрыРегистрации;
КонецФункции

Функция ПолучитьТаблицуКоманд()
    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    Возврат Команды;
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Больше ничего не добавлял, ни формы отчёта, ни макетов. Если запускать этот отчёт через Администрирование --> Печатные формы, отчеты и обработки --> Доп.отчеты и обработки, то отображаются данные нормально, но если запускать эту же обработку при старте программы, прописав в дополнительных параметрах запуска следующее:
"C:\Program Files (x86)\1cv8\common\1cestart.exe"  ENTERPRISE /F "C:\Users\User\Documents\TESTAvtoOtchet" /N "User" /Execute "C:\Users\User\Desktop\Fortests\Klienti.epf"
то при старте программы выводится малюсенькое пустое белое окошко.
Почему так? Я сейчас вот начал подозревать, что может надо создать либо макет для отчёта, либо форму.


Оффлайн keramik

  • ***
  • Сообщений: 161
  • РЕПУТАЦИЯ: 2
  • КПД: 1%
  • Регистрация: 2014-10-03
  • Сайт: 
  • Профессия: Программист 1С
Прошло некоторое время, вернулся я к вопросу о том, как запустить отчёт автоматом при старте системы. Мне всё еще требуется ваш совет, как это сделать.
Я собрал внешний отчёт, создал простую форму для вывода данных и макет, по которому эта форма заполняется.
В модуле формы прописал процедуры:
&НаСервере
Процедура СформироватьОтчетНаСервере()
ТабДок = Новый ТабличныйДокумент;
ТабДок.Очистить();
Об = РеквизитФормыВЗначение("Отчет");
Макет = Об.ПолучитьМакет("Макет");
ОблЗаголовок = Макет.ПолучитьОбласть("ОблЗаголовок");
ТабДок.Вывести(ОблЗаголовок);

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Наименование,
| Контрагенты.Код,
| Контрагенты.ИНН
|ИЗ
| Справочник.Контрагенты КАК Контрагенты";

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ОблДок = Макет.ПолучитьОбласть("ОблДок");
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОблДок.Параметры.Наименование = ВыборкаДетальныеЗаписи.Наименование;
ОблДок.Параметры.Код = ВыборкаДетальныеЗаписи.Код;
ОблДок.Параметры.ИНН = ВыборкаДетальныеЗаписи.ИНН;
ТабДок.Вывести(ОблДок);
КонецЦикла;

КонецПроцедуры

&НаКлиенте
Процедура СформироватьОтчет(Команда)
СформироватьОтчетНаСервере();
КонецПроцедуры
Если вручную запускать отчёт, то всё отрабатывает как надо и данные по контрагентам выводятся в таблицу. Но если прописать в ярлыке программы условие:
"C:\Program Files (x86)\1cv8\common\1cestart.exe"  ENTERPRISE /F "C:\Users\MyUser\Documents\TestOtchet" /N "MyUser" /Execute "C:\Users\MyUser\Desktop\ForTests\ObrabotkiSAvtozapuskom\Klienti_Avtozapusk2.erf"
то вместо формы отчёта запускается пустая белая форма.

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Внешний отчет надо создавать и подключать.
ВнешниеОтчетыМенеджер (ExternalReportsManager)
Подключить (Connect)
Синтаксис:

Подключить(<Путь>, <Имя>, <БезопасныйРежим>)
Параметры:

<Путь> (обязательный)

Тип: Строка.
Путь к внешнему отчету.
<Имя> (необязательный)

Тип: Строка.
Имя внешнего отчета, с которым он будет зарегистрирован в системе.
Наличие одинаковых имен в процессе работы сеанса не допускается. Если имя не указано, будет использовано имя, содержащееся в самом отчете.
<БезопасныйРежим> (необязательный)

Тип: Булево; Строка.
Признак подключения внешнего отчета в безопасном режиме. Если параметр не указан, подключение будет осуществлено в безопасном режиме.
Если указана строка, то внешняя обработка будет исполняться в безопасном режиме под управлением профиля безопасности с этим именем. Профиль безопасности должен иметь SafeModeProfile=Истина.
Значение по умолчанию: Истина.
Возвращаемое значение:

Тип: Строка.

Описание:

Выполняет подключение внешнего отчета по указанному пути. В качестве пути может использоваться только путь к данным в конфигурации и базе данных.
Возвращает имя подключенного внешнего отчета.


 

Печатная форма "ЧекККМ" для "Отчета о розничных продажах"

Автор Игорь ПолищукРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 6599
Последний ответ 01 Июн 2011, 20:39
от Шурыгин Иван Сергеевич
Формирование отчёта "Задолженость по контрагентам" 1С:Предприятие 8.2 "Торговля для частных предпринимателей базовая", редакция 1.0

Автор casper009Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 2730
Последний ответ 27 Май 2015, 10:02
от casper009
Ошибка при выгрузке отчета "Прибыль"

Автор VasilРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 3903
Последний ответ 28 Апр 2011, 14:34
от MaryaAlbertovna
Создание отчета "Отсутствие заказов"

Автор dronspartak9@gmail.comРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3608
Последний ответ 16 Апр 2014, 15:09
от dronspartak9@gmail.com
Программирование отчета "Движения на складах"

Автор ЛунатикРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1801
Последний ответ 05 Апр 2016, 10:15
от vitasw

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
122 Сообщений
alex0402
106 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
73 Сообщений
ilyay ilyay
50 Сообщений
Golickoff Golickoff
49 Сообщений
AIFrame
47 Сообщений
ab30ru
38 Сообщений
wise wise
36 Сообщений
Амал
32 Сообщений
Dethmontt Dethmontt
25 Сообщений

* Кто онлайн

  • Точка Гостей: 808
  • Точка Скрытых: 0
  • Точка Пользователей: 16
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal