Исходный код вики bo_fix - восстановление данных
Редактировал(а) Руслан Савельев 2025/11/12 02:09
Последние авторы
| author | version | line-number | content |
|---|---|---|---|
| 1 | == **1. Запускаемый файл** == | ||
| 2 | |||
| 3 | (% class="box infomessage" %) | ||
| 4 | ((( | ||
| 5 | (% class="box" %) | ||
| 6 | ((( | ||
| 7 | **##\SNC_AZS\server\bo_fix.exe##** | ||
| 8 | ))) | ||
| 9 | |||
| 10 | ##Должен запускаться с определенным параметром. Параметр указывается через пробел и косую черту.## | ||
| 11 | |||
| 12 | Пример запуска команды на закрытие смены: | ||
| 13 | |||
| 14 | (% class="box" %) | ||
| 15 | ((( | ||
| 16 | **##C:\SNC_AZS\server\bo_fix.exe /clsh:278##** | ||
| 17 | ))) | ||
| 18 | ))) | ||
| 19 | |||
| 20 | == **2. Список параметров для восстановления** == | ||
| 21 | |||
| 22 | === **Загрузка текущих событий и транзакций** === | ||
| 23 | |||
| 24 | (% class="box infomessage" %) | ||
| 25 | ((( | ||
| 26 | Загружает все смены, события и транзакции в них из файлов ##*.arc## в папке## \SNC_AZS\server\.archive## | ||
| 27 | |||
| 28 | (% class="box" %) | ||
| 29 | ((( | ||
| 30 | **##/larc##** | ||
| 31 | ))) | ||
| 32 | ))) | ||
| 33 | |||
| 34 | === **Загрузка ошибочных транзакций** === | ||
| 35 | |||
| 36 | (% class="box infomessage" %) | ||
| 37 | ((( | ||
| 38 | (% class="wikigeneratedid" id="H41743043F44344143A43F44043843543C43043E44843843143E44743D44B44544244043043D43743043A446438439" %) | ||
| 39 | Загружает все файлы ##*.err## в папке## \SNC_AZS\server\.archive## | ||
| 40 | |||
| 41 | Такие файлы образуются тогда, когда запись транзакций в БД невозможна (недоступна БД, повреждены таблицы и т.д.) | ||
| 42 | |||
| 43 | (% class="box" %) | ||
| 44 | ((( | ||
| 45 | **##/lerr##** | ||
| 46 | ))) | ||
| 47 | ))) | ||
| 48 | |||
| 49 | (% class="box infomessage" %) | ||
| 50 | ((( | ||
| 51 | (% class="wikigeneratedid" id="H41544143B43844443043943B44BA02A.err43E44144243043B43844144C43243F43043F43A435" %) | ||
| 52 | **Если файлы ##*.err## остались в папке** | ||
| 53 | |||
| 54 | * Проверьте файл ##bo_link.log##, если в логе есть записи о том, что данные уже есть в БД, значит прием транзакций произошел. | ||
| 55 | * Удалите файлы ##*.err## вручную. | ||
| 56 | ))) | ||
| 57 | |||
| 58 | (% class="box infomessage" id="H41544143B43844443043943B44BA02A.err43E44144243043B43844144C43243F43043F43A435" %) | ||
| 59 | ((( | ||
| 60 | (% class="wikigeneratedid" id="H41544143B43843443043D43D44B43543D43543F44043843D43843C43044E44244144F" %) | ||
| 61 | **Если данные не принимаются** | ||
| 62 | |||
| 63 | Если транзакции не принимаются в БД при [[исправных таблицах>>doc:Servisnye_operatsii.Vosstanovlenie_dannykh.MySQL_-_vosstanovlenie_tablits.WebHome||target="_blank"]], возможно принять такие транзакции, используя параметр сдвига номера ключа транзакций на какое-то число, это число можно задать в параметре запуска. | ||
| 64 | |||
| 65 | (% class="box" %) | ||
| 66 | ((( | ||
| 67 | ##**/lerr:TK//1000//**// *для примера указан сдвиг на 1000//## | ||
| 68 | ))) | ||
| 69 | |||
| 70 | После принятия транзакций со сдвигом номера, необходимо узнать в БД номер последней транзакции и установить этот номер в файле настроек. | ||
| 71 | |||
| 72 | Запрос в БД для определения последнего номера транзакции: | ||
| 73 | |||
| 74 | (% class="box" %) | ||
| 75 | ((( | ||
| 76 | **##select max(TransactionShopKey) from selling##** | ||
| 77 | ))) | ||
| 78 | |||
| 79 | (% class="box" %) | ||
| 80 | ((( | ||
| 81 | **##Если поиск последней транзакции выполняется в СНК-Офис, то к поиску нужно добавить номер ТО | ||
| 82 | \\select max(TransactionShopKey) from selling where shopkey=_##**##ИД_АЗС**_**## | ||
| 83 | ))) | ||
| 84 | |||
| 85 | Файл и параметр для записи последнего номера транзакции: | ||
| 86 | |||
| 87 | (% class="box" %) | ||
| 88 | ((( | ||
| 89 | **##C:\SNC_AZS\server\settings.snc##** | ||
| 90 | |||
| 91 | **##[Main] | ||
| 92 | SaleNum=//номер//##** | ||
| 93 | ))) | ||
| 94 | ))) | ||
| 95 | |||
| 96 | === **Пересчет балансов по смене** === | ||
| 97 | |||
| 98 | (% class="box infomessage" %) | ||
| 99 | ((( | ||
| 100 | Пересчитывает балансы по указанной смене и всем последующим. Если в пересчитываемых сменах были инвентаризации или корректировки, то они станут недействительными. | ||
| 101 | |||
| 102 | (% class="box" %) | ||
| 103 | ((( | ||
| 104 | ##**/shr:**//номер_смены//## | ||
| 105 | ))) | ||
| 106 | ))) | ||
| 107 | |||
| 108 | === **Закрытие указанной смены в Бэк-Офисе** === | ||
| 109 | |||
| 110 | (% class="box infomessage" %) | ||
| 111 | ((( | ||
| 112 | Закрывает открытую смену с текущим временем | ||
| 113 | |||
| 114 | (% class="box" %) | ||
| 115 | ((( | ||
| 116 | ##**/clsh:**//номер_смены//## | ||
| 117 | ))) | ||
| 118 | ))) | ||
| 119 | |||
| 120 | === **Смена номера АЗС** === | ||
| 121 | |||
| 122 | (% class="box infomessage" %) | ||
| 123 | ((( | ||
| 124 | Меняет номер ТО по всем существующим транзакциям в БД | ||
| 125 | |||
| 126 | (% class="box" %) | ||
| 127 | ((( | ||
| 128 | ##**/shid:**//новый_номер_АЗС//## | ||
| 129 | ))) | ||
| 130 | ))) | ||
| 131 | |||
| 132 | === **Выполнение sql-скрипта** === | ||
| 133 | |||
| 134 | (% class="box infomessage" %) | ||
| 135 | ((( | ||
| 136 | Выполняет записанный заранее в файл скрипт. | ||
| 137 | |||
| 138 | (% class="box" %) | ||
| 139 | ((( | ||
| 140 | ##**/rsql:**//имя_файла_без_расширения//## | ||
| 141 | ))) | ||
| 142 | ))) | ||
| 143 | |||
| 144 | === **Сдвиг номеров смен на заданное число** === | ||
| 145 | |||
| 146 | (% class="box infomessage" %) | ||
| 147 | ((( | ||
| 148 | Сдвигает номера всех смен на заданное смещение. | ||
| 149 | |||
| 150 | (% class="box" %) | ||
| 151 | ((( | ||
| 152 | ##**/msid:**//смещение//## | ||
| 153 | ))) | ||
| 154 | ))) |