Обсуждение:ЦИК-ЦБ-КО 4012-У

5 (1)
  • Развернуть Обсуждение:ЦИК-ЦБ-КО 4012-У ( Обсуждение примера  29.06.2016 16:17 )
    5(1)
    Разбор запроса и формирование ответа для взаимодействия кредитной организации и центральной избирательной комиссии через центральный банк.
    Только счета (MVODB+Retail), без ценных бумаг.
    Без работы с криптографией.
    Есть заимствования из раздела Библиотека разработчика.

    Посмотреть пример
    >> Ответить
    • Развернуть спасибо , добрый человек! ( RSGazneft  11.07.2016 13:16 )
      5(1)
      добрый день!
      любопытно, попробую обязательно.
      а по ГИС ЖКХ что думаете?

      >> Ответить
    • Развернуть Версия 0.1 ( tema  11.07.2016 23:38 )
      5(1)
      Спасибо alal.
      Результирующий файл проходит валидацию.
      Ид.счёта формируется как Рег.Номер КО + Номер счёта без ключа
      Добавлены счета с 0 остатками
      >> Ответить
    • Развернуть Версия 0.2 ( tema  12.07.2016 12:19 )
      5(1)
      добавлена проверка на соответствие XSD схеме запроса и ответа
      >> Ответить
    • Развернуть Версия 0.3 ( tema  14.07.2016 13:30 )
      5(1)
      Внесены изменения в проверку по схеме. Выяснилось, что валидация работает не всех машинах. Иногда требуется установить http://download.microsoft.com/download/9/6/5/9657c01e-107f-409c-baac-7d249561629c/msxml.msi
      Добавлены настройки
      USER_MAC\CIK_CBR\VALIDATE QUERY - проверять запрос по схеме
      USER_MAC\CIK_CBR\VALIDATE ANSWER - проверять ответ по схеме
      USER_MAC\CIK_CBR\VALIDATE KVT - проверять ответ-квитанцию по схеме
      USER_MAC\CIK_CBR\KVT 1000 - формировать квитанцию если совпадений не найдено
      USER_MAC\CIK_CBR\USE XSD PATH HACK
      USER_MAC\CIK_CBR\IGNORE QUERY VALIDATE ERROR - прогонять запрос даже если есть ошибки по схеме валидации

      >> Ответить
      • Развернуть Еще раз спасибо! Но есть 2 сомнения... ( msb_alal  14.07.2016 15:26 )
        5(1)
        1. Имя файла ответа на запрос.
        На мой взгляд надо вставлять еще один символ - Z
        У Вас формируется KZZZZZZZZZZZZZ_DDMMGG_hhmmss_NNNN.xml,
        мне кажется, надо KZZZZZZZZZZZZZ_DDMMGG_hhmmss_Z_NNNN.xml

        2. Идентификатор файла ИдФайл.
        По описанию:
        Идентификатор файла ИдФайл A T(1-100) О Содержит (повторяет) имя файла проверки без расширения
        Мне кажется, что в ИдФайл ответа надо вставлять не имя пришедшего файла-запроса, а именно KZZZZZZZZZZZZZ_DDMMGG_hhmmss_Z_NNNN
        >> Ответить
    • Развернуть Версия 0.4 ( tema  20.07.2016 21:21 )
      5(1)
      Исправлена работа с датой предоставления сведений
      Заменена функция нечёткого сравнения строк на сишный Левенштайн
      >> Ответить
      • Развернуть Неточность алгоритма отбора. ( VMelikhov  26.07.2016 10:39 )
        5(1)
        Доброго дня всем.
        Очень полезный макрос, спасибо!
        В отборе есть некоторая неточность. Считаю, что по документу нельзя отбирать.
        Пример: Как показывает практика, клиенты не рвутся уведомлять банк о новом паспорте и т.д. Если искать ФИО + Дата рождения, то у меня оказалось на 10 совпадений больше.
        т.е. правильный алгоритм был бы ФИО + Дата рождения, а паспорт как доп контроль.
        >> Ответить
        • Развернуть Нельзя отбирать по ФИО + Дата рождения ( tema  26.07.2016 11:31 )
          5(1)
          Есть такой документик
          Требования к составу, названиям и структуре файлов обмена, используемых при взаимодействии между ФЦИ при ЦИК России, Банком России и участниками финансового рынка
          В нём в п.2.2:
          Проверяемое лицо считается однозначно идентифицированным при условии совпадения фамилии, имени, отчества (при наличии), серии и номера паспорта или документа, заменяющего паспорт гражданина (с учетом применения принципов сравнения, приведенных ниже).

          Исходя из этого и был написан отбор.

          Я рекомендую следующий путь. Если у вас в итговой таблице не нулевое значение в колонке ФИОДР, то в протоколе искать фразу Совпало ФИО+Др.. Далее необходимо провести внеплановую идентификацию этих клиентов силами ПОДФТ или отдела обслуживания физлиц. С них надо затребовать паспорт, мотивируя тем, что в противном случае избирком вынужден будет опубликовать в прессе информацию о том что кандидат представил недостоверные данные о счетах (вкладах). После обновления данных ДУЛ повторноный запуск макроса.
          >> Ответить
    • Развернуть Версия 0.4b ( tema  26.07.2016 21:00 )
      5(1)
      Временная функция на RSL для преобразования локального пути в URL заменена библиотечной.
      Фикс от ОФК банка
      >> Ответить
    • Развернуть Версия 0.5 ( tema  27.07.2016 19:25 )
      5(1)
      Формирование квитанции 1003 при ошибке проверки по XSD схеме.
      Исключена dlm formdate.
      Исходники dlm feldsher опубликованы в разделе библиотеки разработчика.
      >> Ответить
      • Развернуть Есть в квитанции ошибка. ( VMelikhov  05.08.2016 17:10 )
        5(1)
        Доброго дня. В квитанции есть ошибка XXXX забыт.
        //YZZZZZZZZZZZZZ_DDMMGG_hhmmss_Т_NNNN_XXXX_YZZZZZZZZZZZZZ.xml
        sKvtFName=sFrom+"_"+flFormDate("%y%m%d_%H%M%S")+"_K_"+ String(cntKvt:o:4)+"_"+"F"+sOGRN_CIK;

        >> Ответить
        • Развернуть да. спасибо ( tema  05.08.2016 17:31 )
          5(1)
          должно быть
              sKvtFName=sFrom+"_"+flFormDate("%y%m%d_%H%M%S")+"_K_"+ String(cntKvt:o:4)+"_"+ResultCode+"_"+"F"+sOGRN_CIK;

          сейчас готовлю новую сборку. в ней списки на повторную идентификацию не надо будет выискивать в протоколе, будет создаваться отдельная таблица.

          >> Ответить
    • Развернуть Версия 0.6 ( tema  08.08.2016 15:36 )
      5(1)
      Фикс от ОФК Банка
      Добавлен отдельный отчёт, всключающий клиентов, данные по которым разошлись.
      Для построения отчёта может использоваться внешняя библиотека XCR или TOffDoc. Для TOffDoc приложен шаблон. Шаблон нужно поместить в Templs\user_mac. Выбор генератора отчётов через настройку реестра RS
      USER_MAC\CIK_CBR\REPORT CLASS
      возможные значения:
      XCR - библиотека XCR, форматы txt, csv, ods, xlsx
      ODT - библиотека TOffDoc формат odt

      Немного рекламы: коллеги показали расшифровку вебинара одной уважаемой компании о продукте для 4012-У :)
      Моя разарботка, конечно, выгдядит детской поделкой по сравнинию с …, зато:
      62 тысячи записей обрабатываются меньше двух минут, по сравнению с 5тыс в час;
      мягкое сравнение;
      список клиентов у котрых совпало ФИО+ДР;
      отсутствие хранения персональных данных кандидатов и членов их семей после того как цель обработки изложенная в 67-ФЗ достигнута.
      >> Ответить
    • Развернуть e-mail ( Eugene Korolev  22.08.2016 13:51 )
      5(1)
      Добрый день, вопросик, а почему вы берете email из категории, а не из штатного места - E-Mail, Почтовый, который можно вводить как один из типов адресов прямо в клиенте и который доступен в базе
      address.ConType=2;
      address.AdrType=3;

      >> Ответить
    • Развернуть еще моментик. Таскать остатки из pc_drest.dbt нежелательно. Нужно использовать базу sbdepdoc.dbt ( Eugene Korolev  22.08.2016 13:55 )
      5(1)
      На вопрос почему - ответ:
      Потому что :). Ретейл штука такая, с ней бывают (и не раз были уже) при выходе новых сборок разные интересные проблемы.

      >> Ответить
      • Развернуть Позвольте не согласиться и в этом вопросе. ( tema  22.08.2016 14:27 )
        5(1)
        Если в результе "интересного события" уехали остатки, то надо один раз исправить таблицу остатков, и продолжать ей пользоваться, а не пересчитывать документы каждый раз во всех отчётах. Это эсли я правильно понял что предлагается.
        Однако, если вы накидаете патч, я его включу в "основную ветку" с настройкой поведения.
        >> Ответить
        • Развернуть а вы каждый день проверяете соответствие остатков? У нас при каждодневных то процедурах регламентных ( Eugene Korolev  22.08.2016 15:30 )
          5(1)
          иногда расхождения прощелкивают в некоторых местах. И уж при работе в архиве (1 день есть у многих)...

          >> Ответить
        • Развернуть код ( Eugene Korolev  22.08.2016 16:26 )
          5(1)
          sbdepdoc=tbfile("sbdepdoc", "R", 6, "sbdepdoc.dbt", "sbbank.def");
          
          const                      /* Виды документов:       */
            DD_AR            =  8,   /* Проводка в архиве      */
            DD_ARC           =  9,   /* Корректировка в архиве */
            DD_AUDIT_STORN   = 14,   /* Сторнирование операции */
            DD_AUDIT_DELETE  = 15,   /* Удаление операции      */
            DD_AUDIT_CORRECT = 16,   /* Корректировка операции */
            DD_DELETE        =  2;
          
          macro IsServDocWithEst(doc_rec);
             isDoc =(
                ( doc_rec.rec.KindOp    != DD_AR            )  AND  /* проводка в архиве      */
                ( doc_rec.rec.KindOp    != DD_ARC           )  AND  /* корректировка в архиве */
                ( doc_rec.rec.KindOp    != DD_AUDIT_STORN   )  AND  /* Сторнирование операции */
                ( doc_rec.rec.KindOp    != DD_AUDIT_DELETE  )  AND  /* Удаление операции      */
                ( doc_rec.rec.KindOp    != DD_AUDIT_CORRECT )  AND  /* Корректировка операции */
                ( doc_rec.rec.Action    != DD_DELETE        )
              );
              if (isDoc)
          //    isDoc = ( GetBitFlag( doc_rec.Flags, 17 ) == 0 );   /* BIT_FLAG_HIDDEN */
              end;
          
              return IsDoc;
          end;
          
          macro GetRetailRest1(Referenc,Date_Document);
            sbdepdoc.rec.Referenc = Referenc;
            sbdepdoc.rec.Date_Document = Date_Document;
            sbdepdoc.rec.NumDayDoc = 32000;
            RecFound = GetLE( sbdepdoc );
            while ((RecFound) and (sbdepdoc.rec.Referenc==Referenc)and 
                  (sbdepdoc.rec.Date_Document<=Date_Document))
               if (not IsServDocWithEst(sbdepdoc))
                 RecFound=Prev(sbdepdoc);
               else
                 return  sbdepdoc.rec.Rest
               end;
            end;
            return $0.0;
          end;
          
          

          >> Ответить
        • Развернуть а я соглашусь с коллегой ( Sergey V. Mamaev  23.08.2016 05:38 )
          5(1)
          некоторое время назад понадобился мне реальный остаток вклада без процентов (так сказать остаток без капитализации). поддержка уверенно мне ответила, что такой остаток хранится в pc_drest, однако удалось их переубедить.. (тема в поддержке вроде публичная: #364156)
          >> Ответить
          • Развернуть комментарий консультанта: ( Sergey V. Mamaev  23.08.2016 05:42 )
            5(1)
            комментарий консультанта:
            Действительно, раньше в pc_drest отражались остатки именно для расчета процентов, а сейчас просто остатки, как в истории операций. Так что сейчас можно только по документам искать остаток на дату и вычитать из него все суммы операций 72.

            так что коллега прав: вчера в pc_drest было одно, завтра другое, а вы за этим не уследите..
            >> Ответить
            • Развернуть Наша поджержка не видит этой темы с таким номером. ( tema  23.08.2016 09:37 )
              5(1)
              Not specified
              >> Ответить
              • Развернуть вот прям сейчас ( Sergey V. Mamaev  26.08.2017 07:34 )
                5(1)
                прямо сейчас перешёл по ссылке (не знаю на счёт filterid, which и sortorder):
                https://isupport.softlab.ru/Portal/InterSupport/topic.asp?id=364156&FilterId=2330&Which=a&SortOrder=0
                прочитал внизу:
                Публичность : публична по мнению клиента
                >> Ответить
                • Развернуть тема становится публичной... ( tema  26.08.2017 09:58 )
                  5(1)
                  когда её сделали таковой и клиент и поддержка. вы поставили галку, р-стайл не поставил.
                  по поводу способа получения остатка соглашусь, с тех пор я имел несчастье повозиться с ритэйлом
                  >> Ответить
                  • Развернуть странно ( Sergey V. Mamaev  26.08.2017 14:55 )
                    5(1)
                    перечитал всю свою тему, там ничего подпадающего под 152-фз нету. открытие для меня, что консультанты могут делать непубличными обсуждения, которые клиент помечает, как публичные.. это получается сейчас куча интересных тем про RSConnect может быть не видна коллегам только потому, что поддержка так решила? я все свои обсуждения коннекта помечаю, как публичные, ибо маяты с ним много
                    >> Ответить
    • Развернуть Версия 0.6b ( tema  23.08.2016 00:30 )
      5(1)
      Дополнения коллеги из Волгограда по расчёту остатка в Retail
      Добавлен файл help.odt в котором описаны настройки, дабы по коду их все не искать
      >> Ответить
    • Развернуть Обновил сборку ( tema  21.08.2017 16:41 )
      5(1)
      Ничего интересного, фикс с именем, который выше обсуждался, возможность писать в исполнителя не того, кто файл формирует, для проверки формирования из запроса табличного файла с url-ами страниц кандидатов на сайте ГАС выборы. Обновлены файлы зависимостей.
      >> Ответить
    • Развернуть 4663-У изучаем ( tema  09.08.2018 00:52 )
      5(1)
      Not specified
      >> Ответить
      • Развернуть а где взять XSD для 4012-У? ( Hammer  14.12.2022 18:06 )
        5(1)
        а где взять XSD для 4012-У?
        >> Ответить
        • Развернуть Не знаю (+) ( tema  15.12.2022 03:47 )
          0(0)
          Может, коллеги подскажут. Для шестой версии приходило из ЦБ в составе общей документации. Для седьмой пришёл скан с описанием доработок формата. Новой версии xsd не присылали. А потом, я поменял работу, и на текущий момент не владею полной информацией.
          >> Ответить