База файловая, и да, у меня нет свежего бэкапа, что очень плохо... Попробовал запускать /CheckAndRepair, но ошибка все равно остается. Может быть, есть какие-то еще методы восстановления?
05.03.2025 22:14:52
[QUOTE]Karina написал:
[QUOTE][URL=/user/548/]Борис Романов[/URL] написал: [QUOTE] [URL=/user/550/]horap[/URL] написал: [QUOTE] [URL=/user/548/]Борис Романов[/URL] написал: А что делать, если в базе уже есть документы с такими номерами? Получается, будут дубликаты? [/QUOTE] Да, поэтому перед перенумерацией важно проверить номера на дубли. Это можно сделать так: Открываешь "Консоль запросов". Запускаешь запрос: ВЫБРАТЬ НомерДокумента, Дата ИЗ Документ.РеализацияТоваровУслуг ГДЕ НомерДокумента В (список номеров, которые ты хочешь проверить. Если номера уже используются, можно перенести их в другой диапазон. Например, временно добавить "+1000" ко всем номерам, а затем перенумеровать их правильно. Ещё один вариант – если документов немного, можно удалить и ввести их заново. Но это крайний случай, если другие методы не подходят. [/QUOTE] А если у меня нет обработки "Перенумерация документов", что тогда делать?[/QUOTE] Привет! Можно воспользоваться скриптом. Например, такой запрос переназначит номера по порядку: ОБНОВИТЬ Документ.РеализацияТоваровУслуг УСТАНОВИТЬ НомерДокумента = НОВЫЙ_НОМЕР ГДЕ УСЛОВИЕ (например, по дате) Но с SQL надо быть осторожным, потому что прямые изменения могут повлиять на другие данные. Лучше сначала протестировать на тестовой базе. Если нет опыта работы с SQL, лучше найти стандартную обработку или написать небольшую внешнюю обработку на 1С. [/QUOTE] Спасибо! Попробую сначала стандартные методы, если не получится – вернусь к SQL. Главное, что теперь есть план действий! |
|
|
05.03.2025 22:14:03
[QUOTE]Karina написал:
[QUOTE][URL=/user/548/]Борис Романов[/URL] написал: Привет, коллеги! Подскажите, пожалуйста, какие есть основные принципы формирования отчетов в СУБД на платформе ERP 1С? Вроде бы можно использовать стандартные механизмы системы, но хотелось бы понять, как оптимизировать запросы, чтобы отчет работал быстрее и не перегружал сервер. Я уже попробовал сделать отчет через СКД, но он формируется очень медленно, особенно если выбирать большой период. Пробовал делать выборки вручную через запросы, но тогда сложнее настраивать группировки и отборы. Кроме того, возникла проблема с выводом данных: в одном отчете приходилось объединять данные из разных таблиц, и из-за этого часть записей дублировалась, а часть — вообще пропадала. Может быть, я что-то упускаю? Еще одна проблема — отчеты сильно нагружают сервер, особенно в часы пик. [/QUOTE] Привет! В первую очередь нужно понимать, с каким объемом данных ты работаешь. Если отчет должен обрабатывать большие массивы информации, лучше использовать предопределенные регистры накопления или управляемые выборки. Также можно задействовать СКД (Система Компоновки Данных), которая позволяет настраивать отчеты с минимальными затратами на программирование. Ты уже пробовал работать с СКД? Только не забудь, что при работе с СКД нужно правильно задавать отборы и индексы в таблицах. Например, если у тебя отчет по продажам за период, то обязательно стоит использовать индексы по дате и по организации, иначе запрос будет сканировать всю таблицу, а это сильно замедляет выполнение. Еще один вариант — использовать кэширование данных, если отчет формируется часто и на одних и тех же данных. Также можно попробовать делить отчет на несколько частей, если он слишком сложный. Если у тебя дублируются записи, возможно, проблема в том, что при объединении данных из разных таблиц используются неправильные связи. Например, если ты делаешь JOIN между таблицами и не задаешь уникальный ключ, могут появляться дубли. Попробуй анализировать промежуточные результаты и убедись, что у тебя корректные связи. [/QUOTE] Интересный вариант! Но насколько это безопасно и как это скажется на обновлениях 1С? Ведь если система обновится, а SQL-запросы написаны вручную, могут возникнуть проблемы с совместимостью?
Изменено: |
|
|
03.03.2025 20:03:54
[QUOTE]horap написал:
[QUOTE][URL=/user/548/]Борис Романов[/URL] написал: А что делать, если в базе уже есть документы с такими номерами? Получается, будут дубликаты? [/QUOTE] Да, поэтому перед перенумерацией важно проверить номера на дубли. Это можно сделать так: Открываешь "Консоль запросов". Запускаешь запрос: ВЫБРАТЬ НомерДокумента, Дата ИЗ Документ.РеализацияТоваровУслуг ГДЕ НомерДокумента В (список номеров, которые ты хочешь проверить. Если номера уже используются, можно перенести их в другой диапазон. Например, временно добавить "+1000" ко всем номерам, а затем перенумеровать их правильно. Ещё один вариант – если документов немного, можно удалить и ввести их заново. Но это крайний случай, если другие методы не подходят. [/QUOTE] А если у меня нет обработки "Перенумерация документов", что тогда делать? |
|
|