Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Автоматический макет на СКД          
Sirius83 Подменю пользователя
сообщение 10.01.20, 11:17
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 52
Спасибо сказали: 3 раз
Рейтинг: 0

Доброго времени всем!
Есть отчет РасчетныеЛисткиОрганизаций.erf на СКД все прекрасно заполняется, но есть одно но на печать выводится то по два сотрудника на лист А4 то по три, как вздумается по настройкам принтера, нужно чтобы на страницу А4 выводилось строго по две таблицы (тобиш два сотрудника) для удобства разделения бумаги пополам. Помогите выловить методику формирования или подскажыте как сделать свою для решения етой задачи.

1С:Підприємство 8.3 (8.3.10.2252)
"Управление производственным предприятием для Украины", редакция 1.3 (1.3.53.1)

П.С. Отчет не вижу как прикрепить в тему..


sava1 Подменю пользователя
сообщение 10.01.20, 11:20
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

при компоновке - начать вывод - ввести счетчик и вставлять новую страницу

fly Подменю пользователя
сообщение 10.01.20, 12:58
Сообщение #3

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Спасибо сказали: 51 раз
Рейтинг: 48

Sirius83 @ Сегодня, 11:17 * ,
для этого отчета делал, чтоб каждый сотрудник выходил на след листе
можете переделать как вам необходимо, ну или для себя решили как необходимо

в настройках добавил реквизит "РазбитьРасчетныеЛистыПоСтраницам" - тип("Булево") чтоб пользователь ставил галочку


Процедура ВывестиРезультатВТабличныйДокумент(ПроцессорКомпоновкиДанных, ТабличныйДокумент, ВыводитьПоСтраницам) Экспорт
    
    ////ИЗМЕНЕНО Администратор(Начало 07.08.2019
    РазбитьРасчетныеЛистыПоСтраницам = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("РазбитьРасчетныеЛистыПоСтраницам").Значение;
    Если РазбитьРасчетныеЛистыПоСтраницам Тогда
        ЯзыкПечати = ЛокализацияПовтисп.ПолучитьЯзыкФормированияПечатныхФормОтчетов();
        ОбластьСлед = ТабличныйДокумент.Область(1, , 1, );
    КонецЕсли;
    ////Окончание)Администратор

    
    // Создадим и инициализируем процессор вывода результата
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент);

    // Обозначим начало вывода
    ПроцессорВывода.НачатьВывод();
    Состояние(НСТР("ru='Если Вы хотите прервать вывод отчета, нажмите Ctrl+Break'"));

    // Основной цикл вывода отчета
    Счетчик = 0;
    Пока Истина Цикл
        
        
        // Получим следующий элемент результата компоновки
        ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий();
        
        // Получим следующий элемент результата компоновки
        Если ЭлементРезультата = Неопределено Тогда
            
            // Следующий элемент не получен - заканчиваем цикл вывода
            Прервать;
            
        Иначе
            
            // Элемент получен - выведем его при помощи процессора вывода
            ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
            
            ////ИЗМЕНЕНО Администратор(Начало 07.08.2019
            Если РазбитьРасчетныеЛистыПоСтраницам Тогда
                ОбластьПоследнейЯчейки = ТабличныйДокумент.НайтиТекст(НСтр("ru='Долг за ';uk='Борг за '", ЯзыкПечати), ОбластьСлед);
                Если ОбластьПоследнейЯчейки <> Неопределено Тогда
                    НомерСтрокиКонцаРЛ     = ОбластьПоследнейЯчейки.Верх + 1;
                    ОбластьСлед = ТабличныйДокумент.Область(НомерСтрокиКонцаРЛ, , НомерСтрокиКонцаРЛ, );
                    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
                КонецЕсли;
            КонецЕсли;
            ////Окончание)Администратор
        КонецЕсли;
        
        ОбработкаПрерыванияПользователя();
        
    КонецЦикла;
    
    ПроцессорВывода.ЗакончитьВывод();
    
    ////ИЗМЕНЕНО Администратор(Начало 07.08.2019
    Если РазбитьРасчетныеЛистыПоСтраницам Тогда
        Возврат;
    КонецЕсли;
    ////Окончание)Администратор
    
    Если ВыводитьПоСтраницам тогда
        РазбитьТабличныйДокументПоСтраницам(ТабличныйДокумент);
    КонецЕсли
    
КонецПроцедуры


Сообщение отредактировал fly - 10.01.20, 13:01

Спасибо сказали: Sirius83,

Sirius83 Подменю пользователя
сообщение 13.01.20, 16:43
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 52
Спасибо сказали: 3 раз
Рейтинг: 0

Цитата(fly @ 10.01.20, 13:58) *
в настройках добавил реквизит "РазбитьРасчетныеЛистыПоСтраницам" - тип("Булево") чтоб пользователь ставил галочку

В пользовательских настройках?

fly Подменю пользователя
сообщение 13.01.20, 16:55
Сообщение #5

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Спасибо сказали: 51 раз
Рейтинг: 48

Цитата(Sirius83 @ 13.01.20, 16:43) *
В пользовательских настройках?


да
Если я правильно понял (форма "ФормаНастройки" = "Пользовательские настройки").

Сообщение отредактировал fly - 13.01.20, 16:56

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.03.24, 9:42
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!