Имя: Пароль:
1C
 
Вывод расходных кассовых ордеров на печать
0 Nemirov
 
17.04.20
11:49
Ранее задавал вопрос, но ответа никто не дал. В 1с бухгалтерии есть документ "Расходный кассовый ордер". Для печати используется общий макет КО2. Но необходимость такая появилась
создать обработку, где на макет выводятся все "Расходные кассовые ордеры" за выбранный период друг за другом, что бы не печатать по отдельности каждый. Накиньте мысль как на макет вывести друг за другом документы.
1 Nemirov
 
17.04.20
11:49
2 Nemirov
 
17.04.20
11:50
Пример (1) такой реализации в 7 версии 1с
3 Nemirov
 
17.04.20
11:51
Функция ПечатьРКО()
    Перем ПодразделениеОтветственныхЛиц;
    
    Если НЕ ЗначениеЗаполнено(ЭтотОбъект.Ссылка) Тогда
        ОбщегоНазначения.СообщитьОбОшибке("Печать невозможна, т.к. документ не записан");
        Возврат Неопределено;
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
    Запрос.Текст =
    "ВЫБРАТЬ
    |    РасходныйКассовыйОрдер.Номер,
    |    РасходныйКассовыйОрдер.Дата КАК ДатаДокумента,
    |    РасходныйКассовыйОрдер.Организация,
    |    РасходныйКассовыйОрдер.СуммаДокумента КАК Сумма,
    |    РасходныйКассовыйОрдер.Контрагент,
    |    РасходныйКассовыйОрдер.Контрагент.Представление КАК ФИОПолучателя,
    |    РасходныйКассовыйОрдер.ВалютаДокумента КАК Валюта,
    |    РасходныйКассовыйОрдер.ВалютаДокумента.Представление КАК ВалютаПредставление,
    |    РасходныйКассовыйОрдер.Выдать,
    |    РасходныйКассовыйОрдер.Приложение,
    |    РасходныйКассовыйОрдер.ПоДокументу,
    |    РасходныйКассовыйОрдер.Основание
    |ИЗ
    |    Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
    |ГДЕ
    |    РасходныйКассовыйОрдер.Ссылка = &ТекущийДокумент";
    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();

    ТабДокумент   = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РасходныйКассовыйОрдер_КО2";
    Макет         = ПолучитьОбщийМакет("КО2");
    ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
    
    ЕстьРасчетыСКонтрагентами = УправлениеДенежнымиСредствами.ЕстьРасчетыСКонтрагентами(ВидОперации);
    ЕстьРасчетыПоКредитам     = УправлениеДенежнымиСредствами.ЕстьРасчетыПоКредитам(ВидОперации);
    СведенияОбОрганизации     = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента);
    Валютный                  = (НЕ Шапка.Валюта = мВалютаРегламентированногоУчета);

    // Выводим шапку
    ОбластьМакета.Параметры.Заполнить(Шапка);
    ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,");
    ОбластьМакета.Параметры.Сумма                = Формат(Шапка.Сумма,"ЧЦ=15; ЧДЦ=2")+?(Валютный," "+СокрЛП(Шапка.Валюта),"");
    
    СуммаПрописью     = ОбщегоНазначения.СформироватьСуммуПрописью(Шапка.Сумма, Шапка.Валюта);
    СуммаПрописьюПродолжение = "";
    Если СтрДлина(СуммаПрописью) > 92 Тогда
        н=92;
        Пока н > 0
            И Сред(СуммаПрописью,н,1) <> " " Цикл
            
            н = н-1;
        КонецЦикла;
        СуммаПрописьюПродолжение = Сред(СуммаПрописью, н+1);
        СуммаПрописью = Лев(СуммаПрописью, н);
    КонецЕсли;
    ОбластьМакета.Параметры.СуммаПрописью        = СуммаПрописью;
    ОбластьМакета.Параметры.СуммаПрописьюПродолжение = СуммаПрописьюПродолжение;
    
    ОбластьМакета.Параметры.ОрганизацияПоОКПО    = СведенияОбОрганизации.КодПоОКПО;
    ОбластьМакета.Параметры.ДатаДокумента        = Формат(Шапка.ДатаДокумента, "ДФ=dd.MM.yyyy");
    ОбластьМакета.Параметры.НомерДокумента        = ОбщегоНазначения.ПолучитьНомерНаПечать(Шапка);

    ОбластьМакета.Параметры.ДатаДокументаПрописью = Формат(Шапка.ДатаДокумента, "ДФ='dd MMMM yyyy ""г.""'");

    КодыСчетСубсчет = ОпределитьКодыСчетСубсчет();

    ОбластьМакета.Параметры.ДебетСубСчет        = КодыСчетСубсчет.Дебет;
    ОбластьМакета.Параметры.КредитСубСчет        = КодыСчетСубсчет.Кредит;

    ОтветственныеЛица = ОбщегоНазначения.ОтветственныеЛица(Шапка.Организация, Шапка.ДатаДокумента, ПодразделениеОтветственныхЛиц);

    ОбластьМакета.Параметры.ФИОРуководителя       = ОтветственныеЛица.РуководительПредставление;
    ОбластьМакета.Параметры.ДолжностьРуководителя = ОтветственныеЛица.РуководительДолжность;

    ОбластьМакета.Параметры.ФИОГлавногоБухгалтера = ОтветственныеЛица.ГлавныйБухгалтерПредставление;
    ОбластьМакета.Параметры.ФИОКассира            = ОтветственныеЛица.КассирПредставление;
    
    ОбластьМакета.Параметры.Основание             = Шапка.Основание;
    ОбластьМакета.Параметры.Приложение            = Шапка.Приложение;

    ОбластьМакета.Параметры.ФИОПолучателя = Шапка.Выдать;
    ОбластьМакета.Параметры.РеквизитыДокументаУдостоверяющегоЛичность = Шапка.ПоДокументу;

    ТабДокумент.Вывести(ОбластьМакета);

    Возврат ТабДокумент;

КонецФункции // ПечатьРКО()
4 Nemirov
 
17.04.20
11:52
(3) Так выводится на макет из формы документа для печати.
5 Ненавижу 1С
 
гуру
17.04.20
12:00
в журнале выделите нужные документы и нажмите Печать Кассовые ордера
6 Nemirov
 
17.04.20
12:29
(5) В каком именно журнале?
7 Ненавижу 1С
 
гуру
17.04.20
13:15
(6) журнале кассовых документов или списке РКО