Форма 102 за 2008 год (+)

0 (0)
  • Развернуть Форма 102 за 2008 год (+) ( Александр  26.02.2009 07:41 )
    5(1)
    Пробовал уже кто-нибудь выпустить форму 102 за 2008 год?
    В этом году много документов СПОД (начальный СПОД 706*-707*, переносы СПОД на счета межфилиальных расчетов, завершающий СПОД 707*-708*).
    Никак не получается выпустить отчет с заполненными строчками "в том числе СПОД" - выходят одни нули. Протокол контроля документов СПОД показывает документы (т.е. с самими документами все нормально, их система видит).
    Кроме того, по 302-П должно вестись два регистра отчета - один по 706, другой по 707.

    >> Ответить
    • Развернуть Категория 132 ( shawl77  26.02.2009 08:38 )
      5(1)
      В документации пишут про СПОДы: "В случае, если данный документ не проводится по счетам доходов/расходов (70601 - 70605/70606-70610), а относится напрямую на счета 708*, на документ следует установить категорию №132 "Символ доходов/расходов", указав в качестве ее значения нужный символ формы 102." Читали?
      >> Ответить
      • Развернуть Скачайте свежую сборку Отчетов ЦБ и документацию к ней (+) ( Александр  26.02.2009 10:18 )
        5(1)
        Категория не устанавливается на документы 706*-707*, 707*-708*
        Даже в свойствах данной категории исключены документы корреспонденции 708*
        >> Ответить
        • Развернуть А вам и не нужно на эти документы ставить 132 категорию ( shawl77  26.02.2009 11:18 )
          5(1)
          Потому что нужны только сами проводки по доходам-расходам, а не переносы с 706* на 707* и с 707* на 708*.
          Все логично. Вы в 2009 году после переноса остатков с 706* на 707* работаете со счетами 707* как с обычными счетами доходов-расходов. А чтобы было видно, что это доходы-расходы прошлого года, ставите на документах букву С. По идее, этой буквы вроде как должно быть достаточно, чтобы понять, что такие документы надо учесть в 102-й форме. Ан нет, системе хочется, чтобы на этих документах еще и символ стоял в 132 категории. Попробуйте пробежать макросом и проставить, и в строчке СПОД появятся циферки.
          >> Ответить
          • Развернуть Категории поставил, но (+) ( Александр  27.02.2009 03:48 )
            5(1)
            не знаю как у Вас могло все получиться.
            Суммы СПОД все равно не попадают в отчет (хотя краткий протокол пишет что есть документы СПОД, смотрите подробный протокол).
            Стал копать макросы :(
            Ошибка в макросе CF_102.mac:
            MACRO ПроверитьДокументыСКатегорией132()
               VAR   rc, cur, sumV, sumR;
               VAR  AppKind, AppKey;
            
               macro CheckCarryOver (acc1, acc2) 
                /*	Счет дебета или счет кредита документа д.б. открыты на балансовом 707 */
                if (( CompareStrWithMasks( "707*", acc1 ) != 0 ) or
                    ( CompareStrWithMasks( "707*", acc2 ) != 0 ))
                      return true;
                end; 
            
            Вместо оператора OR нужно поставить AND (иначе ВСЕ документы корреспонденции с 707* будут сразу отфутболиваться)
            MACRO ПроверитьДокументыСКатегорией132()
               VAR   rc, cur, sumV, sumR;
               VAR  AppKind, AppKey;
            
               macro CheckCarryOver (acc1, acc2) 
                /*	Счет дебета или счет кредита документа д.б. открыты на балансовом 707 */
                if (( CompareStrWithMasks( "707*", acc1 ) != 0 ) and
                    ( CompareStrWithMasks( "707*", acc2 ) != 0 ))
                      return true;
                end; 
            

            >> Ответить
            • Развернуть Ошибка в макросе CF_102.mac ( SortoevAG  27.02.2009 06:55 )
              5(1)
              Ошибка в макросе есть, но не в macro CheckCarryOver (acc1, acc2), а там где вызывают

              // if (not CheckCarryOver(arhrub.rec.Account_Payer, arhrub.rec.Account_Receiver))
              нужно
              if (CheckCarryOver(arhrub.rec.Account_Payer, arhrub.rec.Account_Receiver))

              в вашем варианте она скорее всего всегда будет возвращать false и будет бессмысленной
              >> Ответить
              • Развернуть Именно в CheckCarryOver (+) ( Александр  27.02.2009 07:08 )
                5(1)
                Уже опробовал на практике - строчки СПОД появились.
                А если как у Вас убрать not при вызове CheckCarryOver, то тогда и в самой CheckCarryOver нужно инвертировать все проверки.
                Сейчас алгоритм CheckCarryOver построен так, что если документ НЕ включаем в выборку СПОД, то вернуть нужно TRUE.
                >> Ответить
                • Развернуть CheckCarryOver ( SortoevAG  27.02.2009 10:05 )
                  5(1)
                  функция работает правильно, нужно инвертировать проверки при вызове функции или в самой функции, я сделал при вызове. в противном случае если бы это функция вызывалась бы где нибудь еще пришлось бы переписывать все ее вызовы.
                  вы же сделали ее работу бессмысленной т.к корреспонденции счетов 707*-707* (только при этом условии она возвратит true) в природе я не встречал

                  >> Ответить
                  • Развернуть Я же говорю, уже проверено (+) ( Александр  27.02.2009 10:13 )
                    5(1)
                    Вы сами можете более внимательно разобрать условие:
                        /*	Счет дебета или счет кредита документа д.б. открыты на балансовом 707 */
                        if (( CompareStrWithMasks( "707*", acc1 ) != 0 ) and
                            ( CompareStrWithMasks( "707*", acc2 ) != 0 ))
                              return true;
                        end; 
                    
                    В дистрибутиве вместо AND стоял OR - это условие сразу "заворачивало" ЛЮБУЮ проводку где по счету плательщика ИЛИ получателя стоял счет 707*.
                    Теперь же условие соответствует комментарию (/* Счет дебета или счет кредита документа д.б. открыты на балансовом 707 */), т.е. если счет получателя И счет плательщика не равны 707* (т.е. ХОТЬ ОДИН ИЗ НИХ должен быть 707*).

                    >> Ответить
              • Развернуть Ага, блин ( bada  27.02.2009 08:55 )
                5(1)
                Счас пытаюсь убедить в этом суппорт :(
                я закомментировал строки 614-617

                /* Счет дебета или счет кредита документа д.б. открыты на балансовом 707 */
                /* if (( CompareStrWithMasks( "707*", acc1 ) != 0 ) or
                ( CompareStrWithMasks( "707*", acc2 ) != 0 ))
                return true;
                end; */

                >> Ответить
            • Развернуть Все ясно :) ( shawl77  27.02.2009 07:06 )
              5(1)
              Мы с Вами на разных патчах считали 102 форму. Я "тренироваться" начала еще до выхода 15-го патча, и СПОДы прекрасно считались. Макрос cf_102.mac в новой версии изменился: неудивительно, что и результат другой. Здорово, что Вы нашли эту ошибочку, Александр. Можно и нам смело переходить на 15-й патч :) Теперь-то у Вас красиво все со СПОДами получилось?
              >> Ответить
    • Развернуть Должен отдельный отчет Приложения 4 по счетам 707 ( bada  26.02.2009 09:34 )
      5(1)
      Вчера убеждал в этом суппорт, вот фраза из 302-П:

      В период составления годового отчета ведутся два регистра отчета о прибылях и убытках: один - по балансовому счету N 706 "Финансовый результат текущего года", второй - по балансовому счету N 707 "Финансовый результат прошлого года".

      >> Ответить
    • Развернуть Еще проблема с 28101 (+) ( Александр  02.03.2009 05:37 )
      5(1)
      На всякий случай запощу, пока копаю.
      Проблема с 28101 символом (Налог на прибыль) - сумма в отчет не попадает, хотя полный протокол показывает что суммы по символу есть.
      Ни у кого данной проблемы не было?
      Символа нет в годовом отчете (но там может какая проблема с 70711), но его также нет и в отчете за месяц.
      >> Ответить
      • Развернуть В годовом интересно (+) ( Александр  02.03.2009 07:16 )
        5(1)
        В отчете сумма по 28101 показана 0, но "в том числе СПОД" - сумма по 70711 счету (в документах установлена 132 категория).
        >> Ответить
        • Развернуть Теперь проблема в макросе C_ITOG02.MAC (+) ( Александр  02.03.2009 08:36 )
          5(1)
          Пока не понял, может где-то так и надо, но в случае многофилиального банка, значения некоторых переменных, в том числе и Фн2_28101_Ру обнуляются.
          Строки с 273:
             if ( НомерПодразделения == 32752 )
          ...
             elif (( НомерПодразделения == 0 )/* and NotDepart */)    /* бесфилиальный банк */
          ...
             else //в филиале
          ...
          
          Значение переменной Фн2_28101_Ру присваивается только в первом и втором блоках IF, по ELSE переменные обнуляются!
          У нас номер подразделения равен 1 (у филиала 2), поэтому по Головному офису символ 28101 будет ВСЕГДА 0. Следовательно, таким же будет и свод. Смысл подобной конструкции в макросе?
          >> Ответить