Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=3032)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ Баг в реестре налоговых накладных в "Торговля + склад", 20 релиз

Автор: Vofka 24.02.11, 20:12

Проявляется: при экспорте отчета за месяц, а именно в том, что при открытии запоминает текущую дату. Когда ставим галку "за месяц", запоминает последний месяц выбранного перед этим квартала и потом ему пофиг, что мы выбираем другой месяц! При экспорте, соответственно, говорит, что это реестр не за январь, например, а за март.

Лечится: в отчете есть такой участок:

//=====================================
Процедура ПлюсПериод()
    ДатаОтчета   = ДобавитьМесяц(ДатаОтчета,ДлинаТекПериода());
    ПериодОтчета = КварталОтчетаСтр();
КонецПроцедуры

//=====================================
Процедура МинусПериод()
    ДатаОтчета = ДобавитьМесяц(ДатаОтчета,-ДлинаТекПериода());
    ПериодОтчета = КварталОтчетаСтр();
КонецПроцедуры

// ===============================
Процедура ИзмТипПериода()
    ПериодОтчета = КварталОтчетаСтр();
    Если ТипПериода = 1 Тогда      
        PERIOD_TYPE = 1;  
        HZKV = "";
        HZM = ДатаМесяц(ДатаОтчета);
        PERIOD_MONTH = HZM;
    Иначе        
        PERIOD_TYPE = 2;  
        HZKV = ДатаМесяц(КонКвартала(ДатаОтчета))/3;
        PERIOD_MONTH = HZKV*3;
        HZM = "";      
    КонецЕсли;
    HZY = ДатаГод(ДатаОтчета);
КонецПроцедуры


Нужно его привести в такой вид:

// ===============================
Процедура ИзмТипПериода()
    ПериодОтчета = КварталОтчетаСтр();
    Если ТипПериода = 1 Тогда      
        PERIOD_TYPE = 1;  
        HZKV = "";
        HZM = ДатаМесяц(ДатаОтчета);
        PERIOD_MONTH = HZM;
    Иначе        
        PERIOD_TYPE = 2;  
        HZKV = ДатаМесяц(КонКвартала(ДатаОтчета))/3;
        PERIOD_MONTH = HZKV*3;
        HZM = "";      
    КонецЕсли;
    HZY = ДатаГод(ДатаОтчета);
КонецПроцедуры

//=====================================
Процедура ПлюсПериод()
    ДатаОтчета   = ДобавитьМесяц(ДатаОтчета,ДлинаТекПериода());
    ПериодОтчета = КварталОтчетаСтр();
    ИзмТипПериода();
КонецПроцедуры

//=====================================
Процедура МинусПериод()
    ДатаОтчета = ДобавитьМесяц(ДатаОтчета,-ДлинаТекПериода());
    ПериодОтчета = КварталОтчетаСтр();
    ИзмТипПериода();
КонецПроцедуры


ЗЫ. очередной "привет" ребятам из АББИ icon_bash.gif

Автор: Pepe 24.02.11, 20:54

Как я понял, добавляется вызов процедуры ИзмТипПериода() в двух местах. А зачем менять местами процедуры?

Автор: Vofka 24.02.11, 20:57

Цитата
А зачем менять местами процедуры?

Потому что если она будет ниже, то 1С_ка ругнется, мол "не знаю я такой процедуры"

Автор: Pepe 24.02.11, 21:00

Ссори, притупил. 09000000.gif

Автор: mister-x 26.02.11, 20:46

Цитата(Vofka @ 24.02.11, 21:12) *
ЗЫ. очередной "привет" ребятам из АББИ icon_bash.gif


ABBYY не здає позицій icon_cuss.gif

звинаюсь за офтоп, але не міг стримати емоцій

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua