M_Volkov
Gold Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Fenrizz Цитата: Если файл dt-выгрузки создаётся не одной транзакцией... как я понимаю? | Нет, файл dt-выгрузки создаётся одной транзакцией!!! Пример dt-выгрузки. Для его создания обязательное условие - все пользователи должны выйти из базы. Но тут в моем случае есть особенность: бывает срочная работа (у нас автосервис), которую нужно закончить "сегодня", и выгонять компьютер с кассой очень нежелательно (кассир бывает закрывает смену удаленно с домашнего компьютера, но при этом компьютер с кассой должен быть подключен к базе). Поэтому пользователь может отказаться от завершения работы, не выходить из базы. А может просто забыть выйти, или не правильно выйти (только из терминала, не из базы). Поэтому регламентное задание запускается каждый час ночи, и прежде всего проверка следующих условий: - существует ли сегодняшний файл dt-выгрузки, может он уже создан в предыдущий час этим же bat-файлом, - нет ли пользователей в базе. Прямого метода не нашел, определяю по лог-файлу: пишу в него что ни будь при входе пользователя, и очищаю его (делаю пустым) при выходе последнего пользователя из самой базы. Кстати, имя файл dt-выгрузки правильно формирую (должно быть \\corp.akit\workspace$\1c\1с_Архивы\AAAAkit\AAAAkit_ддммгггг.dt): set BAK_NAME=\\corp.akit\workspace$\1c\1с_Архивы\AAAAkit\AAAAkit_%date:~0,2%%date:~3,2%%date:~6,4%.dt? А если за ночь дата сменилась, есть возможность сформировать имя по "вчерашней" дате, дней в месяце разное? Добавлено: Файл dt-выгрузки не для архива (не только). Базы SQL, архивы делаются средствами SQL-сервера. Просто был случай SQL-сервер вышел из строя на неделю. Если бы не файл dt-выгрузки, не создали временную файловую базу, стояли бы... | Всего записей: 5796 | Зарегистр. 23-06-2008 | Отправлено: 13:07 29-01-2021 | Исправлено: M_Volkov, 13:30 29-01-2021 |
|