8.х Очтет в регламентном задании

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем BlackVooler, 29 июн 2015.

  1. TopicStarter Overlay
    BlackVooler
    Offline

    BlackVooler

    Регистрация:
    15 июн 2015
    Сообщения:
    25
    Симпатии:
    1
    Баллы:
    1
    Делаю выборку и формирую отчет в регламентном задании.
    на получается так как хочется

    Концептуально, возможно создать отчет и сформировать его в регламентном задании?
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Возможно. Что именно не получается?
  3. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    ну просто смотря что именно хотите? просто сформировал иотчет и что с ним делать то? отобразить то вы его не сможете, если он выполняется в регламентном задании.
  4. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Если формировать отчет через фоновое задание, то и отобразить можно - так работают некоторые отчеты в модных нынче БУХ 3.0, например :)
  5. TopicStarter Overlay
    BlackVooler
    Offline

    BlackVooler

    Регистрация:
    15 июн 2015
    Сообщения:
    25
    Симпатии:
    1
    Баллы:
    1
    Не точно описал что хочется сделать.

    1,Сейчас я делаю отчет в регламентном задании, данные запроса записываю в макет, затем макет, сохраняю в файл и
    отправляю по почте.

    довольно емкий отчет - продажи на каждый день.и формировать его вручную в макете как-то долго и не удобно.
    там только формирование дат в заголовках колонок чего стоит )

    2.вот я и подумал, а что если сделать типовой отчет, сохранить его в файл и отправить по почте..наверно проще алгоритм будет.
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Конфигурация какая?
    Можете взять типовой отчет сохранить его как внешний, там где ТАбДок.Показать() меняете код на ваше сохранение и отправку по потче.
    Затем в рег задании открываете этот отчет выполняете его процедуру печати и все.
    --- Объединение сообщений, 29 июн 2015 ---
    просто потом проше менять если там чтото авторассылке поменяалось или еще что. во внешний отчет залезли изменили и все.
  7. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    :)

    Вы какую цель своими действиями преследовать пытаетесь:
    - быстроту формирования отчета + рассылка
    - удобство формирования отчета + реализация рассылки программным способом
    ?
  8. TopicStarter Overlay
    BlackVooler
    Offline

    BlackVooler

    Регистрация:
    15 июн 2015
    Сообщения:
    25
    Симпатии:
    1
    Баллы:
    1
    =) удобство + рассылка программным методом.

    Конфа к которой я подключаюсь - Розница.
    А регламентные задания работают в моей конфе, она только по сути по рассылку и делается (конфа).

    А универсальный отчет так можно "пристоить"?
  9. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Можно, все равно формировать отчёт придётся через модуль объекта.

    Удобство в данном случае в том, что не нужно самому сочинять запрос и можно воспользоваться готовыми процедурами/функциями готового отчёта конфигурации.
  10. TopicStarter Overlay
    BlackVooler
    Offline

    BlackVooler

    Регистрация:
    15 июн 2015
    Сообщения:
    25
    Симпатии:
    1
    Баллы:
    1
    А как можно подключиться к определенному отчету через COM?

    Как к базе подключиться я знаю, а как к конкретному отчету нет
  11. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Так же как и к любому другому объекту в БД, используя менеджер объектов необходимого типа.
  12. TopicStarter Overlay
    BlackVooler
    Offline

    BlackVooler

    Регистрация:
    15 июн 2015
    Сообщения:
    25
    Симпатии:
    1
    Баллы:
    1
    V8 = Новый COMОбъект("v82.ComConnector");
    ИнформационнаяБаза = V8.connect(ПараметрыСоединения);

    ТД = Новый ТабличныйДокумент;

    ОтчетОбОстатках = ИнформационнаяБаза.Отчеты.ВедомостьТоваровНаСкладах.Создать();

    по сути осталось только задать параметры для отчеты, сформировать и выгрузить.

    Метод СформироватьОтчет не работает почему-то
  13. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Не работает и не сообщает причину, по которой не работает?
  14. TopicStarter Overlay
    BlackVooler
    Offline

    BlackVooler

    Регистрация:
    15 июн 2015
    Сообщения:
    25
    Симпатии:
    1
    Баллы:
    1
    немного не так написал.

    V8 = Новый COMОбъект("v82.ComConnector");
    ИнформационнаяБаза = V8.connect(ПараметрыСоединения);

    ТД = Новый ТабличныйДокумент;

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

    ОтчетОбОстатках.СформироватьОтчет(ТД, Неопределено, Истина);

    ТД.Записать("C:\1.xls", ТипФайлаТабличногоДокумента.XLS);

    Код отрабатывает, но на выходе просто пустой файл...
  15. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Потому что ТД необходимо формировать так же в удаленной БД.
  16. TopicStarter Overlay
    BlackVooler
    Offline

    BlackVooler

    Регистрация:
    15 июн 2015
    Сообщения:
    25
    Симпатии:
    1
    Баллы:
    1
    V8 = Новый COMОбъект("v82.ComConnector");
    ИнформационнаяБаза = V8.connect(ПараметрыСоединения);

    ТД = ИнформационнаяБаза.NewObject("ТабличныйДокумент");

    ОтчетОбОстатках = ИнформационнаяБаза.Отчеты.ВедомостьТоваровНаСкладах.Создать();
    ОтчетОбОстатках.СохраненнаяНастройка = "Движения по номенклатуре";
    //ОтчетОбОстатках.ИнициализацияОтчета();

    ОтчетОбОстатках.СформироватьОтчет(ТД, Неопределено, Истина);

    ТД.Записать("C:\1.xls", ТипФайлаТабличногоДокумента.XLS);


    Вот в таком виде все отрабатывает, однако в файл выгружает "нечто" не понятное

    вот похоже на это
    {128,72},
    {0},0,
    {0,0},
    {0,0},
    {0,0},
    {0,0},
    {0,0},
    {0,0},0,2,0,
    {0,0,00000000-0000-0000-0000-000000000000,0},0,0,0,0,0,0,0,0,0,
  17. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    ТипФайлаТабличногоДокумента - тоже из удаленной БД необходимо брать.
  18. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Я чет совсем не понимаю зачем так извращаться - писать отдельную конфу для авторассылки из нее подключаться к рознице выполнять и рассылать? почему в рознице нельзя сделать все, причем даже конфу не меняя
  19. TopicStarter Overlay
    BlackVooler
    Offline

    BlackVooler

    Регистрация:
    15 июн 2015
    Сообщения:
    25
    Симпатии:
    1
    Баллы:
    1
    Эта конфа не только для рассылки. Про извращаться, возможно ты прав )))

    Порылся в конфе, не нашел где хранятся эти виды,
    ТипФайлаТабличногоДокумента - тоже из удаленной БД необходимо брать.

    Попробовал так

    ТД.Записать("C:\1.xls", ИнформационнаяБаза.ТипФайлаТабличногоДокумента.XLS);

    не работает, нет идей?
  20. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    моя идея прост, если не хочешь конфу портить розницу то
    Берешь создаешь внешний отчет как писал. там в этом отчет пишешь процедуру формирования данного отчета и сохраниея его с файл и рассылку.
    Затем эту процедуру у отчета размещаешь при Открытии.
    после этой процедуры пишешь завершить сеанс текущий
    Затем берешь батник в нем пишешь командную строку с запуском внешней обработки /отчета.
    Этот батник размещаешь в планировщик винды и ставишь рассписание.

    Т.е по рассписанию у тебя стартует сеанс и запускает этот отчет, при открытии выполняется все рассылается затем сеанс завершается.
    Все. вот тебе внешнее регламентированное задение. надо чтото исправить, открыл внешний отчет исправил

Поделиться этой страницей