Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Нужно программно сформировать ОСВ и сохранить в файл (УФ) (http://forums.kuban.ru/f1040/nuzhno_programmno_sformirovat-_osv_i_sohranit-_v_fajl_uf-8003133.html)

denisvilny 17.09.2016 22:48

Нужно программно сформировать ОСВ и сохранить в файл (УФ)
 
Привет всем! Простенький вопрос для гуру в управляемых формах, а я сижу и не понимаю:
Нужно программно сформировать ОСВ и сохранить результат в файл. Помогите, плз!

roma n 18.09.2016 08:20

Подсмотри в свежих типовых (в БСП?) готовый функционал рассылки отчётов по почте по расписанию

VZ 18.09.2016 10:40

1. Формирунм ОСВ
2. Файл - Сохранить как...
3. Берем с полки пирожок.

denisvilny 18.09.2016 14:58

2-VZ >Программно же
1-roma n >Хорошо, постараюсь найти где эти участки кода

VZ 18.09.2016 19:19

3-Denis Vilny > Не морочь голову. Можно подумать, что период будет задаваться "программно". И бушка не захочет посмотреть на "программно" сформированное. А фигушки. И период надо будет задать, и посмотреть захочет.
Пункт 3 отменяется.

bma1 18.09.2016 21:08

2(4) Наоборот. Первые два пункта нафиг, оставляем только третий...

denisvilny 19.09.2016 14:10

4-VZ >Задача была конкретно поставлена. Но только не по ОСВ, а ОСВ я привел в качестве первого попавшегося отчета, т.к. тот отчет, который нужно так сформировать - немного из другой области и не бухгалтерский, но суть решения от этого не меняется. Сложность у меня была в непонимании как вызвать процедуру СформироватьОтчетНаСервере() модуля формы отчета без открытия оной формы. Но в итоге я не поборол эту тему, сделал коряво, вот так:
ФормаОтчета = ОткрытьФорму("Отчет.ОборотноСальдоваяВедомость.Форма");
ТекДата = НачДата;
Пока ТекДата <= КонДата Цикл
ФормаОтчета.Отчет.НачалоПериода = ТекДата;
ФормаОтчета.Отчет.КонецПериода = КонецМесяца(ТекДата);
ФормаОтчета.СформироватьОтчетНаСервере();
ФормаОтчета.Результат.Записать(КаталогВыгрузки + "\ОСВ_" + Месяц(ТекДата) + ".xls", ТипФайлаТабличногоДокумента.XLS);
ТекДата = ДобавитьМесяц(ТекДата, 1);
КонецЦикла;
ФормаОтчета.Закрыть();
Да, при этом на экране проскальзывает фрагмент ОСВ, но задача решается, понимаю, что коряво, но работает. Может кто подскажет как сделать это по-уму? То есть можно ли как то формировать отчеты и доставать результат без открытия формы на экране?

roma n 19.09.2016 14:41

ОтчетОбъект.<Имя отчета> (ReportObject.<Имя отчета>)
СкомпоноватьРезультат (ComposeResult)
Синтаксис:

СкомпоноватьРезультат(<Результат>, <ИнформацияРасшифровки>)
Параметры:

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

Тип: ТабличныйДокумент.
Табличный документ, в который будет выводиться результат.
<ИнформацияРасшифровки> (необязательный)

Переменная, в которую будет записана информация расшифровки.
Если не указано - расшифровка заполняться не будет.

VZ 19.09.2016 15:29

6-Denis Vilny > "[em]Задача была конкретно поставлена[/em]" - это утверждение ложно. Из-за слова "корректно".
Напоминаю сабж (и заколовок темы): "[b]Нужно программно сформировать ОСВ и сохранить результат в файл.[/b]"
Здесь именно ОСВ, и никаких намеков на что-то другое в виде "как пример".
В (4) начинается какое-то пояснение "трудностей", и оказывается, эти "трудности" совсем не задевает "сохранение в файл".

Может, стоит вначале научиться формулировать проблему? Что бы не вводить в заблуждение, и получить "ответ по-уму"?
Посетители этого форума видят то, что написано. И совершенно не представляют ни целей, ни трудностей, ни страданий автора. Это его, автора, задача донести до посетителей цель, суть трудностей, и расписать страдания.
Потому ответ (2) абсолютно корректен:
1. ОСВ не является отчетом, формирующимся часто. Смысл его формировать и сохранять хотя бы раз в день [b][u]автоматически[/u][/b] лично я подобрать затрудняюсь. Да, есть дни, когда что-то случается, и ОСВ формируется много раз.
Но обычно это не регулярная задача (послать аудитору, приложить к декларации, ets.), из "время от времени".
И "[em]сохранить как...[/em]" для подобных операций - в самый деффке раз.

denisvilny 19.09.2016 16:54

7-roma n >Спасибо за действительно дельные советы, все лаконично и доступно!


Текущее время: 07:02. Часовой пояс GMT +3.