Бухгалтерия 7.7. Релиз 535. Некорректности (ошибки) при вступлении в силу постановления 1137. Релиз 536 вышел

При обновлении на 535 релиз обнаружил некорректность в документах поступления.

При обновлении на 535 релиз обнаружил некорректность в документах поступления — ПоступлениеМатериалов, ПоступлениеНМА, ПоступлениеОборудования, ПоступлениеОС, ПоступлениеТоваров — в продедуре ПриОткрытии(). Код который внесли при вступлении в силу «Постановление
от 26 декабря 2011 г. N 1137 «О формах и правилах заполнения (ведения) документов, применяемых при расчетах по налогу на добавленную стоимость»»

    Если ((ПустоеЗначение(ДатаНомерСчетаФактуры) = 1) и (Выбран() = 1))
    или (((ПустоеЗначение(
ДатаСчетаФактуры) = 1) или (ПустоеЗначение(НомерСчетаФактуры) = 1)) и (Выбран() = 1)) Тогда
       
СчетФактураПредъявлен = 0;
       
Форма.ДатаНомерСчетаФактуры.Доступность(0);
       
Форма.ДатаСчетаФактуры.Доступность(0);
       
Форма.НомерСчетаФактуры.Доступность(0);
    Иначе
       
СчетФактураПредъявлен = 1;
       
Форма.ДатаНомерСчетаФактуры.Доступность(1);
       
Форма.ДатаСчетаФактуры.Доступность(1);
       
Форма.НомерСчетаФактуры.Доступность(1);
    КонецЕсли;

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

    Если глПолучитьВерсиюПостановления(ДатаДок) = 2 Тогда
        Если ((ПустоеЗначение(
ДатаСчетаФактуры) = 1) или (ПустоеЗначение(НомерСчетаФактуры) = 1)) и (Выбран() = 1) Тогда
           
СчетФактураПредъявлен = 0;
           
Форма.ДатаСчетаФактуры.Доступность(0);
           
Форма.НомерСчетаФактуры.Доступность(0);
        Иначе
           
СчетФактураПредъявлен = 1;
           
Форма.ДатаСчетаФактуры.Доступность(1);
           
Форма.НомерСчетаФактуры.Доступность(1);
        КонецЕсли;
    Иначе
        Если (ПустоеЗначение(
ДатаНомерСчетаФактуры) = 1) и (Выбран() = 1) Тогда
           
СчетФактураПредъявлен = 0;
           
Форма.ДатаНомерСчетаФактуры.Доступность(0);
        Иначе
           
СчетФактураПредъявлен = 1;
           
Форма.ДатаНомерСчетаФактуры.Доступность(1);
        КонецЕсли;
    КонецЕсли;

Также необходимо для правильного формирования проводок по НДС откорректировать в модулях проведения этих документов строки:

        Если ПустоеЗначение(ДатаНомерСчетаФактуры) = 0 Тогда
           
Операция.Дебет.СчетаФактурыПолученные = ТекущийДокумент();
        КонецЕсли;

Предлагаю заменить следующим кодом:

        Если (ПустоеЗначение(ДатаНомерСчетаФактуры) = 0) ИЛИ ((ПустоеЗначение(НомерСчетаФактуры) = 0) И (ПустоеЗначение(ДатаСчетаФактуры) = 0)) Тогда
           
Операция.Дебет.СчетаФактурыПолученные = ТекущийДокумент();
        КонецЕсли;

ЗЫ. Номера строк не указываю, так как обновляемая конфигурация изменена — их легко найти по поиску. Жду комментариев.

18 Comments

  1. Доня

    Да, есть такая корява, НО! только в том случае, когда вводим новый документ копированием (F9) с документа 2011 года, а если вводить новую строку (Ins) то вводится все корректно !

    Reply
  2. Timesoft

    (1) Доня, А если открыть «старый» документ ? Будете премного удивлены.

    Reply
  3. *Zed*

    Модуль проведения можно не трогать, т.к. есть Процедура ЗаполнитьДатаНомер()

    Reply
  4. Famza

    (3) *Zed*, работу ЗаполнитьДатаНомер() я не проверял. Проверь, всегда ли будет привязано второе субконто к счету 19 при проведении?

    Reply
  5. *Zed*

    (4)Все возможные варинаты проверял — работает.

    Reply
  6. Famza

    (5) *Zed*, это же хорошо. Значит предлагаемые мною изменения можно сократить. Лишние строки — кому они нужны…)))

    Надеюсь, что это всё временная мера и 1С наведёт красоту.

    Reply
  7. Доня

    Плюс за бдительность!

    Reply
  8. *Zed*

    Уже навели — исправили в 536 релизе

    Reply
  9. Famza

    (8) *Zed*, радует, что так быстро. Обычно на 7.7 забивают.

    Reply
  10. gga

    по моему проще изменить «или» на «И» Было:

    Если ((ПустоеЗначение(ДатаНомерСчетаФактуры) = 1) и (Выбран() = 1))

    или (((ПустоеЗначение(ДатаСчетаФактуры) = 1) или (ПустоеЗначение(НомерСчетаФактуры) = 1)) и (Выбран() = 1)) Тогда

    Надо:

    Если ((ПустоеЗначение(ДатаНомерСчетаФактуры) = 1) и (Выбран() = 1))

    и (((ПустоеЗначение(ДатаСчетаФактуры) = 1) или (ПустоеЗначение(НомерСчетаФактуры) = 1)) и (Выбран() = 1)) Тогда

    Reply
  11. Famza

    (10) gga, а если открыть документ за прошлый год? Что тогда будет? В 536 релизе исправлено

    Reply
  12. Oleg1708

    Чего было писать если это в 536 есть? хз…

    Reply
  13. Famza

    (12) Oleg1708, ну это потому что 536 вышел, а статья проходила цензуру у модератора. Спросил его — снимать с сайта статью из=за неактуальности — сказал, пусть повисит. Да и денег у тебя она не просит…

    Reply
  14. Lava596

    Да правда что, пускай висит, хорошо, конечно, что 1С-ники всё-таки работают, иногда исправляют свои косяки. А вобще такое ощущение, что они узнают об изменениях в законодательстве за 3 дня до выхода релиза и как-то пытаются быстренько подстроиться.

    Reply
  15. Famza

    (14) Lava596, особенно это касается регламентной отчетности. Был как-то на телеконференции 1С — примерно с 5 часовых поясов сыпались вопросы почему обновляют отчетность в последний день сдачи. Ух как они злилися )))

    Reply
  16. kurvik

    Блин.Бухгалтера столкнулись с данной ошибкой.Услуга не попадает в книгу покупок…Надо исправлять и перепроводить документы

    Reply
  17. Famza

    (16) kurvik, обновляй конфигурацию — уже 538 релиз вышел — в нем даже формы документов отработали.

    Reply
  18. kurvik

    (17) Спасибо. Так и сделаем.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *