Zero Block
Click "Block Editor" to enter the edit mode. Use layers, shapes and customize adaptability. Everything is in your hands.
Tilda Publishing
create your own block from scratch
Zero Block
Click "Block Editor" to enter the edit mode. Use layers, shapes and customize adaptability. Everything is in your hands.
Tilda Publishing
create your own block from scratch
Скрипти Front Tools або опис та інструкція по роботі з утилітою Database Management
Багато хто замахався вводити скрипти вручну, тож ця утіліта призначена для того аби автоматизувати цей процес до нажимання кнопки без лишніх дій.
(c) Мар'ян

Тикни сюди і воно скачається. Магія!
Тож, що вміє ця красуня і як нею працювати? Розглянемо по блокам
Видалення даних / Робота з БД
Будь-яка робота на цій вкладці має починатись з вибору БД в першому рядочку. Для цього натискаємо на кнопку Обрати базу даних і вказуємо шлях до неї
Далі розглянемо по пунктам, що є на цій вкладці

1) Видалення замовлення по номеру
1.1) Вказуємо в текстовому полі номер замовлення, яке бажаємо видалити
1.2) Натискаємо на кнопку Видлити за номером
1.3) Вискочить нова форма. В ній вибираємо тип замовлення
1.4) Утиліта робить запит до БД і видаляє замовлення за вказаними параметрами. Profit)

2) Видалення будь-якої сутності з БД за ID
2.1) Вказуємо в текстовому полі ID сутності, яке бажаємо видалити
2.2) Натискаємо на кнопку Видлити XML за ID
2.3) Утиліта робить запит до БД і видаляє сутність за вказаними параметрами. Profit)
УВАГА!

Ця кнопка працює на будь-яку сутність, яка:
1. Має параметр id
2. Наявна в таблиці БД FrontEntities
Тож при її використанні будьте обережні
3) Видалення усіх замовлень з конкретного залу

Перед виконанням, нам для початку треба дізнатись айді залу, з якого ми маємо видалити усі замовлення.
Для цього нам треба скористатись одним з двух варіантів в блоці нижче.
Або ми отримуємо айді залу через будь-який номер замовлення в цьому залі, або ми отримуємо список всіх залів в форматі .xml і шукаємо айді в ньому. В будь-якому з цих варіантів, файлик з даними створиться на робочому столі
У випадку з отриманням айді через номер замовлення - нас цікавить те що в тезі restaurantSection
У випадку з отриманням айді через повний список залів - нас цікавить те що в тезі r eid
Далі - вставляємо знайдений айді в ось це поле і натискаємо на кнопку
4) Видалити велику кількість замовлень

Для виконання функціоналу цієї кнопки, нам для початку треба створити текстовий файл. Назва - довільна.
В самому файлі, в першому рядку має бути службовий символ: C або D, де:
C - звичайне замовлення
D - замовлення доставки
Далі через ентер перераховуємо номери замовлень, які треба видалити. Наприклад:
C
1
2
3
4
5
6
Далі натискаємо на кнопку і вибираємо файл, який ми створили. Програма сама виконає все що необхідно
УВАГА!

Одночасно видаляти замовлення доставки і замовлення на столах - НЕ МОЖНА! Якщо є необхідність видалити обидва варіанти замовлень - спочатку робимо один тип, потім інший

5) Видалити заборгованості офіціантів

Кнопка, власне, говорить сама за себе. Натиснувши її, ми автоматично виконаємо скрипт, який видалить всі заборгованості офіціантів і кур'єрів, що є в БД.
Методи з iikoFrontTools
Далі розглянемо можливості утиліти на вкладці Методи з iikoFrontTools. По суті, тут зібрані всі можливості утиліти iikoFrontTools.
Складається форма, по суті, з трьох ключових областей:
Поле вибору БД, функціональні кнопки для роботи з БД, текстове поле для логування
В полі шляху до БД вибираємо шлях до бази, на якій будемо виконувати операції
Далі, натискаємо на кнопку операції, яка нас цікавить. Вона підсвітиться помаранчевим кольором і в текстовому полі виведе опис, що ця кнопка робить
Якщо на цю саму кнопку натиснути повторно - вона підсвітиться темно-зеленим і запуститься виконання методів, які передбачені цією кнопкою. В текстовому полі внизу форми буде відображено результат виконання дії по тій чи іншій кнопці
Деякі операції будуть від вас вимагати ввести додаткові дані в форму, яка відкриється після запуску виправлень (наприклад кнопка Стаття 198). Відповідно виправлення відпрацюють тільки після того, як ввести необхідні дані
Копіювання / Відновлення даних
Тепер перейдемо до функціоналу, який є ексклюзивним творінням нашого вередливого хлопа)
Тут ми маємо вибрати ДВІ БД фронту (entities.sdf), після чого можемо виконати 6 різних операцій
Операції, які можна виконати, насправді, цілком зрозуміло і однозначно описані в назві кнопок. Тут нам додатково нічого вводити не треба, просто натискаємо на кнопку і утиліта у вспливаючому вікні проінформує нас про успішність або неуспішність виконання запиту
Інформація про ПК
Тут виводиться інформація про машину, на якій запущена утиліта
Технічні шоколапки від Мар'яна
Мар'ян в статті дуже люб'язно поділився тим, яким чином працюють його кастомні методи
Якщо комусь цікаво поглянути на те, що відбувається "під капотом" - то цей блок для Вас)
Далі - пряма мова

Відновлення касових змін
Скрипти:
1) Пошук в старій БД даних
SELECT Id, xml FROM FrontEntities WHERE Type = 'Resto.CashServer.Data.CafeSession'
2) Перевірка на наявність даних в БД у яку копіюмо
SELECT FROM FrontEntities WHERE Id = 'id'
3) Вставляємо дані
INSERT INTO FrontEntities (Id, xml, Type) VALUES ('id', 'xml', 'Resto.CashServer.Data.CafeSession')
Відновлення звичайних замовлень
Скрипти:
1) Пошук в старій БД даних
SELECT Id, xml FROM FrontEntities WHERE Type = 'Resto.CashServer.Data.Orders.CommonOrder'
2) Перевірка на наявність даних в БД у яку копіюмо
SELECT FROM FrontEntities WHERE Id = 'id'
3) Вставляємо дані
INSERT INTO FrontEntities (Id, xml, Type) VALUES ('id', 'xml', 'Resto.CashServer.Data.Orders.CommonOrder')
Відновлення пРРО
Скрипти:
1) Пошук в старій БД даних
SELECT Id, xml FROM FrontEntities WHERE Type = 'Resto.CashServer.Data.Entities.CashServerEntities.Device.CashRegisterSettings'
2) Перевірка на наявність даних в БД у яку копіюмо
SELECT FROM FrontEntities WHERE Id = 'id'
3) Вставляємо дані
INSERT INTO FrontEntities (Id, xml, Type) VALUES ('id', 'xml', 'Resto.CashServer.Data.Entities.CashServerEntities.Device.CashRegisterSettings')
Відновлення замовлень доставки
Скрипти:
1) Пошук в старій БД даних
SELECT Id, xml FROM FrontEntities WHERE Type = 'Resto.CashServer.Data.Deliveries.DeliveryOrder'
2) Перевірка на наявність даних в БД у яку копіюмо
SELECT FROM FrontEntities WHERE Id = 'id'
3) Вставляємо дані
INSERT INTO FrontEntities (Id, xml, Type) VALUES ('id', 'xml', 'Resto.CashServer.Data.Deliveries.DeliveryOrder')
Відновлення особистих змін
Скрипти:
1) Пошук в старій БД даних
SELECT Id, xml FROM FrontEntities WHERE Type = 'Resto.CashServer.Data.PersonalSessions'
2) Перевірка на наявність даних в БД у яку копіюмо
SELECT FROM FrontEntities WHERE Id = 'id'
3) Оновлюємо дані в БД
UPDATE FrontEntities SET xml = 'xml' WHERE Id = 'id' AND Type = 'Resto.CashServer.Data.PersonalSessions')
УВАГА!!!

Саме оновлюємо, а не додаємо через те, що ІД типу персональних змін залишиється таке саме в межаш фронта скільки б не перестворював БД.
На цьому все. Дякуємо за увагу та користуйтесь з користю!