среда, 25 сентября 2019 г.

JSP: "include file"

Проблема отображения кириллических символов из "center.html", при включении этой страницы в другую с помощью директивы "include file", приводила к некорректному отображению этих самых символов.
index.jsp:
<%@include file="center.html"%>

Проблема решилась после добавления в "center.html" тега
<%@ page contentType="text/html; charset=utf-8" pageEncoding="UTF-8" %>

пятница, 20 сентября 2019 г.

Онлайн-инструменты для штрих-кодов

Декодировать не очень качественный скан штрих-кода с банковского извещения пока смог только один онлайн-инструмент:
https://online-barcode-reader.inliteresearch.com/
но с ограничением: в текстовое поле с результатом декодирования текст выводится с лишними пробелом и символом переноса строки.

Пример скана:


Пример распознавания (имеются лишние пробел в конце строки и символ переноса строки):
ST00011|Name=ÓÔÊ ïî Ñâåðäëîâñêîé îáëà
ñòè (Ìåæðàéîííàÿ ÈÔÍÑ Ðîññèè ¹16 ïî Ñ
âåðäëîâñêîé îáëàñòè)|PersonalAcc=4010181050000001
0010|BankName=ÓÐÀËÜÑÊÎÅ ÃÓ ÁÀÍÊÀ ÐÎÑÑÈÈ|BIC=046
577001|CorrespAcc=00000000000000000000|Purpose=Åäèíû
é íàëîã íà âìåíåííûé äîõîä äëÿ îòä
åëüíûõ âèäîâ äåÿòåëüíîñòè ïðî÷èå íà÷èñ
ëåíèÿ 4 êâ 2014 ã.|Sum=5300|KPP=662301001|lastNam
e=Ïëàòåæêè íå óäàëÿòü|payerAddress=Ñâå
ðäëîâñêàÿ îáëàñòü,,Åêàòåðèíáóðã ã,,,,,|Payee
INN=6623000850|PayerINN=509440598889|DrawerStatus=09|CBC=1821050
2010021000110|OKTMO=80701000|PaytReason=ÒÐ|DocNo=418248|DocDate=
07.02.2015|docIdx=0

На самом деле внутри штрих-кода вот такое значение:
ST00011|Name=ÓÔÊ ïî Ñâåðäëîâñêîé îáëàñòè (Ìåæðàéîííàÿ ÈÔÍÑ Ðîññèè ¹16 ïî Ñâåðäëîâñêîé îáëàñòè)|PersonalAcc=40101810500000010010|BankName=ÓÐÀËÜÑÊÎÅ ÃÓ ÁÀÍÊÀ ÐÎÑÑÈÈ|BIC=046577001|CorrespAcc=00000000000000000000|Purpose=Åäèíûé íàëîã íà âìåíåííûé äîõîä äëÿ îòäåëüíûõ âèäîâ äåÿòåëüíîñòè ïðî÷èå íà÷èñëåíèÿ 4 êâ 2014 ã.|Sum=5300|KPP=662301001|lastName=Ïëàòåæêè íå óäàëÿòü|payerAddress=Ñâåðäëîâñêàÿ îáëàñòü,,Åêàòåðèíáóðã ã,,,,,|PayeeINN=6623000850|PayerINN=509440598889|DrawerStatus=09|CBC=18210502010021000110|OKTMO=80701000|PaytReason=ÒÐ|DocNo=418248|DocDate=07.02.2015|docIdx=0


среда, 18 сентября 2019 г.

azk xml action synchronize

azkf:
AMUROBL: acctype.xml, bankoper.xml, finsource.xml, operkind.xml, payground.xml, pl_calcmethod.xml, unidoctype.xml (25.03.2021)
BELGOBL: acctype.xml repkind.xml (убрать из "@azk2_sys.lst"), pl_calcmethod.xml (25.09.2019)
IRKOBL: operkind.xml, unidoctype.xml (02.10.2019)

          KBR: acctype.xml (10.01.2021)

KRASKRAY: acctype.xml, operkind.xml (06.11.2020)
LENOBL: acctype.xml, unidoctype.xml, pl_calcmethod.xml (20.11.2019)
NAGAYBAKSKE_RN(CHELOBL): operkind.xml (27.09.2019)
NERUNGRI (YAKUT): operkind.xml (07.04.2020)
NIZHOBL: acctype.xml, operkind.xml (15.10.2019)
PENZOBL: acctype.xml, pl_calcmethod.xml (18.11.2019)
PERMKRAY: acctype.xml, pl_calcmethod.xml (13.10.2020) 
ROSTOVOBL: acctype.xml, payground.xml, pl_calcmethod.xml (27.04.2020)

          SOSNOVSKE (NIZHOBL): acctype.xml (20.01.2021)

          SURGUT: ok (09.01.2021) 

TOLYATTI: pl_calcmethod.xml (28.05.2020)
TOMSKOBL: acctype.xml, bankoper.xml (27.05.2021)
TUMOBL: repkind.xml (убрать из "@azk2_sys.lst") (10.10.2019)
ULOBL: acctype.xml, operkind.xml (21.10.2021)
USTKUTSKE_R(IRKOBL): unidoctype.xml (10.10.2019)
VOLGOBL: acctype.xml, planinrefkind.xml (убрать из "@azk2_sys.lst") (25.06.2021)
YAKUTSK: operkind.xml (23.12.2019)
ZLATO(CHELOBL): XML\module\core\clndtype.xml (убрать из "@all.lst") (18.09.2020)

azkgz:
IRKOBL: (проверить наличие таблиц MSG и SYSEVENT, отключить ПДС и ВМК) reportprocessor.xml (20.11.2019)
PENZOBL: (проверить наличие таблиц MSG и SYSEVENT) (20.11.2019)

среда, 11 сентября 2019 г.

Валидация XML по XSD: ошибка "No matching global declaration available for the validation root."

Пример ошибочно сформированного XML-файла, валидация которого приводит к ошибке:
No matching global declaration available for the validation root.

XSD:
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/Devices" xmlns:tns="http://www.example.org/Devices"  elementFormDefault="qualified">
   <element name="devices">
      <complexType>
         <sequence>
            <element name="computerDevice"
                     type="tns:computerDevice"
                     minOccurs="3"
                     maxOccurs="unbounded"/>
         </sequence>
      </complexType>
   </element>
<complexType name="computerDevice">
   <sequence>
      <element name="name" type="string"/>
      <element name="origin" type="string"/>
      <element name="price" type="tns:Range"/>
      <element name="type" type="tns:Type"/>
      <element name="critical" type="tns:Choice"/>
   </sequence>
<attribute name="id" type="ID" use="required"/>
</complexType> 
<simpleType name="Range">
     <restriction base="integer">
       <minInclusive value="0"/>
       <maxInclusive value="1000"/>
     </restriction>
</simpleType>
<complexType name="Type">
   <sequence>
      <element name="peripheral" type="tns:Choice"/>
      <element name="energy_consumption" type="int"/>
      <element name="cooler" type="tns:Choice"/>
      <element name="group" type="string"/>
      <element name="port">
         <simpleType>
            <restriction base="string">
               <enumeration value="HDMI"></enumeration>
               <enumeration value="COM"></enumeration>
               <enumeration value="LPT"></enumeration>
            </restriction>
         </simpleType>
      </element>
   </sequence>
</complexType>
<simpleType name="Choice">
   <restriction base="string">
      <pattern value="Yes|No|yes|no"/>
   </restriction>
</simpleType>
</schema>

XML (с ошибкой):
<?xml version="1.0" encoding="UTF-8"?>
<devices>
    <computerDevice id = "d1">
        <name>Keyboard</name>
        <origin>Chine</origin>
        <price>10</price>
        <type>
            <peripheral>Yes</peripheral>
            <energy_consumption>2</energy_consumption>
            <cooler>No</cooler>
            <group>Input</group>
            <port>USB</port>
        </type>
        <critical>No</critical>
    </computerDevice>
    <computerDevice id = "d2">
        <name>Monitor</name>
        <origin>Japanese</origin>
        <price>17</price>
        <type>
            <peripheral>Yes</peripheral>
            <energy_consumption>20</energy_consumption>
            <cooler>No</cooler>
            <group>Output</group>
            <port>HDMI</port>
        </type>
        <critical>Yes</critical>
    </computerDevice>
    <computerDevice id = "d3">
        <name>printer</name>
        <origin>Azerbaijan</origin>
        <price>14</price>
        <type>
            <peripheral>Yes</peripheral>
            <energy_consumption>50</energy_consumption>
            <cooler>No</cooler>
            <group>Output</group>
            <port>COM</port>
        </type>
        <critical>No</critical>
    </computerDevice>
</devices>

XML (исправленный - см. строку №2):
<?xml version="1.0" encoding="UTF-8"?>
<devices xmlns="http://www.example.org/Devices">
    <computerDevice id = "d1">
        <name>Keyboard</name>
        <origin>Chine</origin>
        <price>10</price>
        <type>
            <peripheral>Yes</peripheral>
            <energy_consumption>2</energy_consumption>
            <cooler>No</cooler>
            <group>Input</group>
            <port>USB</port>
        </type>
        <critical>No</critical>
    </computerDevice>
    <computerDevice id = "d2">
        <name>Monitor</name>
        <origin>Japanese</origin>
        <price>17</price>
        <type>
            <peripheral>Yes</peripheral>
            <energy_consumption>20</energy_consumption>
            <cooler>No</cooler>
            <group>Output</group>
            <port>HDMI</port>
        </type>
        <critical>Yes</critical>
    </computerDevice>
    <computerDevice id = "d3">
        <name>printer</name>
        <origin>Azerbaijan</origin>
        <price>14</price>
        <type>
            <peripheral>Yes</peripheral>
            <energy_consumption>50</energy_consumption>
            <cooler>No</cooler>
            <group>Output</group>
            <port>COM</port>
        </type>
        <critical>No</critical>
    </computerDevice>
</devices>

Источник.

вторник, 10 сентября 2019 г.

Виртуальный FDD

Виртуальный FDD:
ImDisk Virtual Disk Driver

Успешно проверено на
- Windows 7 x64 (в RDP-сеансе);
- Windows 10 x64.

Оснастка "imdisk.cpl".

Примечания:
- подходят IMG-образы от плагина "VirtualDisk" для Totalcmd;
- в Linux IMG-файлы монтируются командой "mount -o loop,offset=0 /path/to/file.img /mnt/mydirectory".

четверг, 5 сентября 2019 г.

АЦК + ГМП

Чтобы формировался XML-файл с копией запроса к СМЭВ в каталоге "gisgmplog" в папке АЦК при выполнении действия "Выгрузить" над ЭД "Сведения о платеже" на статусе "Готов к выгрузке" нужно:

Для СМЭВ 2:
Бюджетный параметр:
"Используемая версия СМЭВ" = "2.0"
Properties:
gisgmp.wsdlLocation=http://smev-mvf.test.gosuslugi.ru:7777/gateway/services/SID0003663?wsdl
Azk2logback.xml:
<root level="TRACE">

Для СМЭВ 3:
Бюджетный параметр:
"Используемая версия СМЭВ" = "3.0"
Properties:
gisgmp.wsdlLocation=http://smev3-n0.test.gosuslugi.ru:7500/smev/v1.2/ws?wsdl
Azk2logback.xml:
<root level="TRACE">

среда, 4 сентября 2019 г.

АЦК и ЖКХ

Чтобы формировался XML-файл с копией запроса к СМЭВ в каталоге "gisgсhlog" в папке АЦК при выполнении действия "Выгрузить" над ЭД "Сведения о платеже в ГИС ЖКХ" на статусе "Готов к выгрузке" нужно:

Для СМЭВ 2:
Бюджетный параметр "Используемая версия СМЭВ" = "2.0".
Properties:
giszhkh.payments.testmode=true
giszhkh.payments.wsdlLocation=http://smev-mvf.test.gosuslugi.ru:7777/gateway/services/SID0004766?wsdl
Azk2logback.xml:
<root level="TRACE">

Для СМЭВ 3:
Бюджетный параметр "Используемая версия СМЭВ" = "3.0".
Properties:
giszhkh.payments.testmode=true
giszhkh.payments.wsdlLocation=http://smev3-n0.test.gosuslugi.ru:7500/smev/v1.2/ws?wsdl
Azk2logback.xml:
<root level="TRACE">

Архив