• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

получения отчёта Via процедуру. как подступиться

  • Автор темы programador25
  • Дата начала
P

programador25

День добрый!
я разработчик .NET, 1С вчера в первый раз в жизни увидел.

на работе возникла срочная задача с 1С.
Как подступиться, куда копать минимальными затратами???

задача:
есть 1с: предприятие 8.1, Зарплата и Управление Персоналом 2.5
есть отчёт - расчётный лист, который делается несколькими кликами:
1) Меню –> Операции -> Отчёт… -> Расчётные листки организаций
2) указывается период в один месяц + в быстром отборе указывается работник
3) Сформировать
4) сохранить в файл

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

Спасибо.
 
P

programador25

well done!

процедура РасчетныйЛист() экспорт
о = Отчеты.РасчетныеЛисткиОрганизаций.Создать();

стрОтбор = Новый Структура("ЛевоеЗначение, ВидСравнения, ПравоеЗначение");
стрОтбор.Вставить("ЛевоеЗначение", "Сотрудник");
стрОтбор.Вставить("ВидСравнения", ВидСравненияКомпоновкиДанных.Равно);
стрОтбор.Вставить("ПравоеЗначение",Справочники.СотрудникиОрганизаций.НайтиПоНаименованию("Быброва Зина"));

мас1 = Новый Массив;
мас1.Добавить(стрОтбор);

пНП=Новый Структура("Параметр","Значение");
пНП.Вставить("Параметр","НачалоПериода");
пНП.Вставить("Значение",Дата(2008,5,1,0,0,0));

пКП=Новый Структура("Параметр","Значение");
пКП.Вставить("Параметр","КонецПериода");
пКП.Вставить("Значение",Дата(2008,5,31,23,59,59));

мас2 = Новый Массив;
мас2.Добавить(пНП);
мас2.Добавить(пКП);

о.НастроитьОтборыПарметры(мас1,мас2);

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

о.СформироватьОтчет(тд);
тд.Записать("D:\temp\tmp1.mxl");
конецпроцедуры
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!