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

Хранилище

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

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

> 1С УПП 1.3: Отчет Кассовая книга, ошибка формирования Страниц.          
Володька Подменю пользователя
сообщение 04.05.18, 12:42
Сообщение #1

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

Суть проблемы:
Нумерация кассовой книги дала сбой.
Описание ситуации:
Печатаю Кассовую книгу за период 13.03 - 17.03.
Нумерация 13,14,15-го - нормальная, 16-го , 17-го бред.
Смотрю отличие между этими числами и данными, а оно в том, что 15-го числа количество документов не влезло на один печатный лист.
Лезу в конфигурацию и вижу супер-функцию
Процедура НачатьНовуюСтраницу(СоответствиеНомеровГод, СоответствиеНомеровМесяц, ТекДата, СледДата, ОбластьШапка)
    
    ЧислоДокумента                          = Формат(ТекДата,"ДФ='дд';Л=uk_UA");
    ДатаДокумента                           = Формат(ТекДата,"ДФ='дд ММММ ггггр.';Л=uk_UA");
    ДатаДокументаБезЧисла                   = Прав(ДатаДокумента, СтрДлина(ДатаДокумента) - 2);
    ОбластьШапка.Параметры.ДатаПрописью       = """" + ЧислоДокумента + """" + ДатаДокументаБезЧисла;
    
    // номер листа
    НомеТекЛистаГода = СоответствиеНомеровГод.Получить(НачалоДня(ТекДата));
    СоответствиеНомеровГод.Вставить(НачалоДня(ТекДата), НомеТекЛистаГода + 1);
    НомеТекЛистаМесяца = СоответствиеНомеровМесяц.Получить(НачалоДня(ТекДата));
    СоответствиеНомеровМесяц.Вставить(НачалоДня(ТекДата), НомеТекЛистаМесяца + 1);
        
    ОбластьШапка.Параметры.НомерЛиста = НомеТекЛистаГода + 1;

    Если НачалоМесяца(СледДата) = НачалоМесяца(ТекДата) Тогда
        СоответствиеНомеровМесяц.Вставить(НачалоДня(СледДата), НомеТекЛистаМесяца + 2);
    КонецЕсли;
    
    Если НачалоГода(СледДата) = НачалоГода(ТекДата) Тогда
        СоответствиеНомеровГод.Вставить(НачалоДня(СледДата), НомеТекЛистаГода + 2);
    КонецЕсли;
    
КонецПроцедуры // НачатьНовуюСтраницу


Смотрю соответствие до:
13.03 - 1
14.03 - 2
15.03 - 3
16.03 - 4
17.03 - 5

и вижу весь этот ужас после:
13.03 - 1
14.03 - 2
15.03 - 4
16.03 - 5
17.03 - 5

По коду всё вроде логично и правильно, отрабатывает он, как и ожидалось. Вопрос, у меня у одного не вмещается на лист ПКО и РКО за день? Как побороть?

Пробовал перенумеровать оставшиеся элементы в соответствии так:
    
Для Каждого Элемент Из СоответствиеНомеровГод Цикл
        
        Если Элемент.Ключ > НачалоДня(ТекДата) Тогда
            
            СоответствиеНомеровГод.Вставить(Элемент.Ключ, Элемент.Значение + 1);            
            
        КонецЕсли;        
    
КонецЦикла;


Но это не панацея, во-первых долго, во-вторых т.к. этот код выполняется только в случае разрыва страницы, для печати другого периода он не будет учитывать нумерацию. И получится, что если мой период закончится на 6 (реальной странице), при формировании 18.03-20.03, начальная страница будет 5 (расчетная).
Подкиньте идей, я потерялся.


 ! 

Правила: 3
 


Сообщение отредактировал logist - 04.05.18, 12:49

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


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

 

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

Курсы валют: доллар США к гривне Курсы валют: евро к гривне Курсы валют: российский рубль к гривне