ЗАГАЛЬНЕ ЗА СИСТЕМОЮ
Для функціоналу імпорту із зовнішніх файлів, що настроюється (ef_eixdata.fxp), доопрацьована можливість імпорту даних, що представлені в кодуванні UTF-8. Для цього реалізована можливість вказувати в ключі CODEPAGE значення UTF8 (без врахування регістру символів).
При цьому дані проміжної таблиці IMPORT, з якої безпосередньо виконується імпорт у відповідний розділ системи, попередньо перетворюються в кодування за замовчуванням (тобто, в кодування 1251), а подальший процес імпорту виконується без змін.
Специфіка імпорту даних, представлених в кодуванні UTF-8, з файлів різних форматів, (якщо в ini-файлі з настройками імпорту даних, для ключа CODEPAGE вказане значення UTF8):
- при імпорті даних з текстового файлу (TXT) виконується попереднє перетворення змісту файлу, що імпортується, з кодування UTF-8 в кодування за замовчуванням (тобто, в кодування 1251);
- при імпорті даних із DBF-файлу кодова сторінка, що вказана в його заголовку ігнорується (тобто значення ключа UNCP приймається рівним .T. в незалежності від значення, що вказане для даного ключа в ini-файлі), а зміст полів DBF-файлу перетворюється з кодування UTF-8 в кодування за замовчуванням (тобто, в кодування 1251);
- при імпорті даних із XLS(XLSX)-файлу, зміст полів якого має кодування UTF-8 (Юнікод), перетворення в кодування за замовчуванням (тобто, в кодування 1251) виконується Excel’ем самостійно (в автоматичному режимі).
Модуль “Адміністратор”
1. В розділі “Карти користувачів Системи” в гріді “Користувачі та групи” додано колонки “Обліковий запис діє до” та “Пароль діє до” з відображенням дат, що вказані в однойменних полях облікових записів користувачів системи, які відображаються в даному гріді.
2. В розділі “Настройка Системи“, на вкладці “Безпека“, в групу полів “Настройки безпеки паролів” додана настройка “Кількість неправильно введених паролів до блокування користувача” для можливості визначення кількості раз помилково введених паролів при вході в систему, після якої обліковий запис поточного користувача буде заблокований. За замовчуванням (після перетворення бази даних) дана настройка незаповнена, – це означає, що блокування облікового запису користувача при некоректному введенні паролю під час входу в систему не виконується (як працювало раніше). У разі, якщо для настройки “Кількість неправильно введених паролів до блокування користувача” вказане значення, відмінне від нульового (пустого), то при вході в систему підраховується кількість неправильних паролів, введених поточним користувачем, а при досягненні їхньої кількості, що відповідає значенню, вказаному в даній настройці системи, відбувається блокування облікового запису поточного користувача, що не дасть йому можливості увійти у систему (до моменту розблокування облікового запису адміністратором системи), про що поточного користувача буде проінформовано у відповідному повідомленні. При цьому в обліковому записі даного користувача в розділі “Карти користувачів Системи” поле “Обліковий запис діє до” заповнюється датою, що передує поточній, і стає недоступним для ручного редагування (при спробі виправлення дати вручну адміністратор отримає відповідне попереджувальне повідомлення). В даному випадку розблокування облікового запису можливе лише за допомогою пункту “Розблокування облікового запису користувача“, що доданий в контекстне меню гріда “Користувачі та групи” в розділі “Карти користувачів Системи“. Даний пункт контекстного меню доступний лише для користувачів з наявним повноваженням “Адміністратор системи“.
3. В системі реалізоване збереження інформації про події успішного і неуспішного входу в систему, – перегляд даних подій доступний в гріді “Підключення” розділу “Карти користувачів Системи“. Відповідно, для можливості перегляду цих подій, вказаний грід доповнено двома колонками “Тип події” та “Інформація“. В колонці “Тип події” відображається ознака входу в систему (“успішний вхід” або “неуспішний вхід”), а в колонці “Інформація” – деталізація події входу в систему.
Крім цього, для можливості відбору облікових записів користувачів та підключень в залежності від типу події, в розділі “Карти користувачів Системи” додані умови відбору. На формі з умовами відбору реалізовані групи полів “Користувачі і групи” та “Підключення“, де група полів “Користувачі і групи” містить наступні елементи:
- комбо-бокс “Режим відображення” зі значеннями “Користувачі“, “Групи” та “Користувачі і групи” (за замовчуванням) та реалізацією відповідного відбору записів в гріді “Користувачі та групи“;
- комбо-бокс “Відображати облікові записи” зі значеннями “Діючі“, “Заблоковані” та “Всі” (за замовчуванням) з реалізацією відбору облікових записів відповідно до значення, вказаного для них в полі “Обліковий запис діє до“, на дату, вказану в суміжному з комбо-боксом полі “на дату“. Поле “на дату” стає доступним для редагування за умови вибору в комбо-боксі “Відображати облікові записи” одного із значень “Діючі” або “Заблоковані“. Комбо-бокс “Відображати облікові записи” є доступним для редагування за умови вибору в комбо-боксі “Режим відображення” значення “Користувачі“;
- комбо-бокс “Тип події при підключенні” зі значеннями “З успішним входом“, “З неуспішним входом” та “Всі” (за замовчуванням) з реалізацією відбору облікових записів користувачів за типом події, що зберігається при вході в систему, в періоді, вказаному в суміжних з даним комбо-боксом полях “у період з” та “по” . Дані суміжні поля стають доступними для редагування за умови вибору в комбо-боксі “Тип події при підключенні” одного зі значень “З успішним входом” або “З неуспішним входом“. Комбо-бокс “Тип події при підключенні” є доступним для редагування за умови вибору в комбо-боксі “Режим відображення” значення “Користувачі“.
Група полів “Підключення” призначена для відбору подій, що відображаються в гріді “Підключення” розділу “Карти користувачів Системи“, та містить наступні елементи:
- комбо-бокс “Режим відображення підключень” зі значеннями “Активні” (за замовчуванням, що відповідає існуючому режиму відбору підключень), “Неактивні” та “Всі” з реалізацією відповідного відбору записів в гріді “Підключення“, де “Активними” вважаються підключення, що діють в поточний момент часу, а “Неактивними“, відповідно, ті, дія яких в поточний момент часу вже завершена. Комбо-бокс “Режим відображення підключень” є доступним для редагування за умови вибору в комбо-боксі “Режим відображення” значення “Користувачі“;
- комбо-бокс “Відображати події” зі значеннями “З успішним входом“, “З неуспішним входом” та “Всі” (за замовчуванням) з реалізацією відповідного відбору записів в гріді “Підключення” за типом події, збереженій при підключенні. Комбо-бокс “Відображати події” є доступним для редагування за умови вибору в комбо-боксі “Режим відображення підключень” значення “Неактивні” або “Всі“.
4. В розділі “Настройка Системи” додано каталог “Повідомлення” з вкладеними підкаталогами “Настройка подій” та “Параметри відправки повідомлень“.
В каталозі “Настройка подій” реалізований наступний набір настройок:
- поле “Події, для відправки повідомлень“, що містить перелік подій неуспішного входу в систему, для яких можливо увімкнути та налаштувати режим відправлення повідомлень. Функціональність даного поля успадкована від поля “Події, для яких потрібні оповіщення” (знаходиться в каталозі “Оповіщення” розділу “Настройка Системи” в модулі “Торгівля та склад“). Поле “Події, для відправки повідомлень” містить наступний перелік подій: “Підбір імені користувача” (виникає при введенні неіснуючого імені користувача на формі входу в систему), “Підбір пароля користувача” (виникає при введенні неправильного пароля для користувача, вказаного на формі входу в систему), “Блокування користувача при неправильно введеному паролі” (виникає при блокуванні облікового запису користувача у разі введення неправильного пароля на формі входу в систему в кількості раз, що вказана в настройці системи “Кількість неправильно введених паролів до блокування користувача“) та “Спроба взлому користувача (в БД)” (виникає у випадку, коли при вході користувача в систему виявлена невідповідність певних його реквізитів правилам їхнього зберігання в базі даних);
- група полів “Параметри повідомлення“, що дозволяє налаштувати критерії відправки повідомлень окремо для кожної з подій в полі “Події, для відправки повідомлень“, для якої увімкнений режим відправки повідомлень. Група “Параметри повідомлення” містить поля “Тип відправки повідомлення“, “Одержувач повідомлення“, “Повідомляти після настання події в кількості“, де:
“Тип відправки повідомлення” – комбо-бокс, що визначає спосіб відправки повідомлення для даної події, який містить значення “E-mail“, “Viber” та “SMS” (за замовчуванням).
При виборі значення “E-mail” повідомлення буде відправлено на електронну адресу співробітника, вказаного в полі “Співробітник” облікового запису користувача (в розділі “Карти користувачів Системи“), вибраного в полі “Одержувач повідомлення“. В якості електронної адреси використовується значення, вказане в полі “E-mail” пов’язаного запису словника “Співробітники” (на вкладці “Додаткові дані“).
При виборі значення “SMS” повідомлення буде відправлено на мобільний телефон співробітника, вказаного в полі “Співробітник” облікового запису користувача (в розділі “Карти користувачів Системи“), вибраного в полі “Одержувач повідомлення“. В якості номера мобільного телефону використовується номер, що вказаний в полі “Мобільний телефон” пов’язаного запису словника “Співробітники” (на вкладці “Адреса“). Для коректної відправки SMS-повідомлення, номер мобільного телефону потрібно вказувати з урахуванням міжнародного телефонного коду України (тобто з префіксом +380).
При виборі значення “Viber” повідомлення буде відправлено на Viber-номер співробітника, вказаного в полі “Співробітник” облікового запису користувача (в розділі “Карти користувачів Системи“), вибраного в полі “Одержувач повідомлення“. В якості Viber-номеру телефону використовується номер, що вказаний в полі “Viber” пов’язаного запису словника “Співробітники” (на вкладці “Додаткові дані“). Поле “Viber” з’явилося на даній вкладці в результаті перейменування існуючого поля “Номер ICQ” (при перетворенні бази даних вказане в даному полі значення переноситься в поле “Примітка“, – додається до вказаного в ньому значення). Для коректної відправки Viber-повідомлення, номер мобільного телефону потрібно вказувати з урахуванням міжнародного телефонного коду України (тобто з префіксом +380).
“Одержувач повідомлення” – поле для вибору одного або декількох користувачів системи з переліку тих, що знаходяться в розділі “Карти користувачів Системи“, мають повноваження “Адміністратор системи” та з прив’язкою до співробітника (тобто, із заповненим полем “Співробітник“), – повідомлення буде відправлене на відповідний номер (адресу) пов’язаного співробітника.
“Повідомляти після настання події в кількості” – поле для визначення кількості разів настання події, при досягненні якого починає відбуватися відправка повідомлення про її настання (з урахуванням значень, що вказані в полях “Тип відправки повідомлення” та “Одержувач повідомлення“).
В каталозі “Параметри відправки повідомлень” реалізований елемент управління із вкладками “E-mail“, “SMS” та “Viber“, що дозволяє налаштувати параметри для відправки повідомлень відповідного типу.
На вкладці “E-mail” містяться наступні поля:
- “SMTP-сервер” – поле для визначення адреси SMTP-сервера, який має бути попередньо запущений на поштовому сервері;
- “Порт” – поле для визначення номеру порту SMTP-серверу;
- “Ім’я відправника” – текстове поле для визначення найменування відправника (може задаватись любим текстовим значенням);
- “Адреса відправника” – адреса електронної пошти, з якої буде відправлене повідомлення;
- “Обліковий запис” – ідентифікатор облікового запису (як правило, адреса електронної пошти) для підключення до поштового серверу (SMTP-серверу);
- “Пароль” – пароль облікового запису;
- “Підключатися через безпечне з’єднання (SSL)” – чекер, увімкнення якого дає можливість підключення до поштового серверу за допомогою безпечного з’єднання, захищеного у відповідності до протоколу SSL.
На вкладках “SMS” та “Viber” містяться наступні поля:
- “SMS-провайдер“/”Viber-провайдер” – комбо-бокс, що визначає провайдера (сервіс), який надає платні послуги з відправки повідомлень на мобільний пристрій клієнта (у вигляді SMS-повідомлення або Viber-повідомлення, відповідно). На сьогоднішній день реалізована взаємодія із сервісами наступних провайдерів “SMS Україна“, “Messaggio” та “Devino Telecom“;
- “Користувач” – ім’я зареєстрованого провайдером користувача, що визначає обліковий запис, з якого буде виконуватись відправка повідомлень даним сервісом (провайдером);
- “Пароль” – визначає пароль для користувача, вказаного в полі “Користувач“;
- “API Key” – ключ, виданий провайдером, для можливості обміну нашого програмного забезпечення з сервісом провайдера за допомогою API;
- “Відправник” – найменування відправника, яке узгоджується з провайдером для користувача, вказаного в полі “Користувач“, в момент його реєстрації.
5. Відтепер вхід у модуль “Адміністратор” доступний лише тим користувачам, у яких наявне одне з повноважень “Адміністратор системи“, “Адміністратор бази даних” або “Збереження, експорт/імпорт“. При спробі входу в модуль за відсутності у поточного користувача відповідного повноваження, йому буде видано попереджувальне повідомлення про відсутність повноваження для роботи с даним модулем.
6. В розділі “Настройка Системи“, на вкладці “Безпека” додана група полів “Двофакторна аутентифікація” з наступним переліком настройок:
- “Запитувати код підтвердження при вході в систему” – чекер, що призначений для увімкнення режиму додаткової аутентифікації користувача (виконується після стандартної аутентифікації по паролю), що входить в систему, за допомогою коду підтвердження, який відправляється у вигляді повідомлення на мобільний пристрій користувача (мобільний телефон, Viber або E-mail). За замовчуванням, після перетворення бази даних, чекер, що розглядається, вимкнений, – відповідно, додаткова аутентифікація користувача за кодом підтвердження не виконується. При увімкненні чекера “Запитувати код підтвердження при вході в систему” стають доступними для редагування всі інші поля групи “Двофакторна аутентифікація“;
- “Зона дії коду підтвердження” – комбо-бокс із значеннями “в рамках поточної сесії” (за замовчуванням) та “для поточного користувача“, який визначає необхідність генерації окремого коду підтвердження в рамках кожної сесії входу в систему або єдиного коду для поточного користувача, з доступністю в різних сесіях на протязі часу, вказаного в настройці “Час дії коду підтвердження … хвилин“, відповідно;
- “Час дії коду підтвердження … хвилин” – числове поле для визначення кількості хвилин, на протязі яких має бути доступним згенерований системою код підтвердження;
- “Тип відправки коду підтвердження” – комбо-бокс для вибору способу відправки повідомлення з кодом підтвердження користувачу, який намагається увійти в систему. Даний комбо-бокс містить такі значення “SMS” (за замовчуванням), “Viber” та “E-mail“.
При виборі значення “SMS” повідомлення буде відправлено на мобільний телефон співробітника, вказаного в полі “Співробітник” облікового запису користувача (в розділі “Карти користувачів Системи“), що намагається увійти в систему. В якості номера мобільного телефону використовується номер, що вказаний в полі “Мобільний телефон” пов’язаного запису словника “Співробітники” (на вкладці “Адреса“). Для коректної відправки SMS-повідомлення, номер мобільного телефону потрібно вказувати з урахуванням міжнародного телефонного коду України (тобто з префіксом +380).
При виборі значення “Viber” повідомлення буде відправлено на Viber-номер співробітника, вказаного в полі “Співробітник” облікового запису користувача (в розділі “Карти користувачів Системи“), що намагається увійти в систему. В якості Viber-номеру телефону використовується номер, що вказаний в полі “Viber” пов’язаного запису словника “Співробітники” (на вкладці “Додаткові дані“). Нагадаємо, що поле “Viber” з’явилося на даній вкладці в результаті перейменування існуючого поля “Номер ICQ“. Для коректної відправки Viber-повідомлення, номер мобільного телефону потрібно вказувати з урахуванням міжнародного телефонного коду України (тобто з префіксом +380).
При виборі значення “E-mail” повідомлення буде відправлено на електронну адресу співробітника, вказаного в полі “Співробітник” облікового запису користувача (в розділі “Карти користувачів Системи“), що намагається увійти в систему. В якості електронної адреси використовується значення, вказане в полі “E-mail” пов’язаного запису словника “Співробітники” (на вкладці “Додаткові дані“).
Для відправки повідомлення з кодом підтвердження відповідним способом, який визначається значенням, вказаним в настройці “Тип відправки коду підтвердження“, використовуються настройки системи, що вказані на відповідних однойменних вкладках каталогу “Параметри відправки повідомлень” в розділі “Настройка Системи“.
Механізм аутентифікації користувача за допомогою коду підтвердження:
При увімкненій настройці системи “Запитувати код підтвердження при вході в систему“, в момент реєстрації користувача при вході в систему (після проходження перевірки правильності введеного пароля), програма генерує 4-значний код підтвердження (з урахуванням значення, вказаного в настройці “Зона дії коду підтвердження“) та відправляє його користувачеві у вигляді повідомлення способом, визначеним у настройці “Тип відправки коду підтвердження” (у відповідності до настройок, вказаних на відповідній вкладці каталогу “Параметри відправки повідомлень” в розділі “Настройка Системи“).
За умови успішної відправки повідомлення, користувач отримує форму “Двофакторна аутентифікація” з інформацією про адресата (номер телефона або E-mail, на який відправлено повідомлення) та про час дії коду підтвердження, відправленого у повідомленні. На вказаній формі також присутнє поле “Введіть код підтвердження з повідомлення“, в якому необхідно ввести код підтвердження, отриманий у повідомленні. За умови його відповідності, при натисканні на кнопку “Продовжити” користувач успішно завершить вхід у систему. В іншому випадку, якщо код було введено невірно або час його дії завершився, потрібно буде або ввести код підтвердження в полі “Введіть код підтвердження з повідомлення” повторно або згенерувати новий код підтвердження і відправити його новим повідомленням, скориставшись кнопкою, суміжною з даним полем (розміщена справа від нього), відповідно.
Модуль”Бухоблік”
1. К о н ф і г у р а ц і я “Б”. У відповідності з наказом Мінфіну №244 від 29.05.2020 в розділі “Юридичні зобов’язання” внесено зміни в шаблон звіту “Реєстр зобов’язань розпорядників коштів бюджету” (obrepUa.xlt), друк якого виконується з пункту контекстного меню “Друк звіту“/”Реєстр юридичних