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

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

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

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

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

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

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

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

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

Тип: Строка.

Описание:

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


 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
alex0402
50 Сообщений
AIFrame
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal