1С: быстрая очистка большого регистра сведений
Самый простой способ — создать пустую запись без фильтров:
1 2 3 |
НаборЗаписей = РегистрыСведений.наш_регистр.СоздатьНаборЗаписей(); НаборЗаписей.Записать(); |
Жизнь замечательных грибов
Самый простой способ — создать пустую запись без фильтров:
1 2 3 |
НаборЗаписей = РегистрыСведений.наш_регистр.СоздатьНаборЗаписей(); НаборЗаписей.Записать(); |
Это происходит если в этой ячейке содержится значение а не текст, при попытке записи текста. Поэтому делаем так:
1 2 3 4 5 6 |
ТекОбласть = ТабличныйДокументВыписка.Область("R"+ Формат( НомерСтроки, "ЧГ=0") + "C" + 9); Если ТекОбласть.СодержитЗначение Тогда ТекОбласть.Значение=НомерФС; иначе ТекОбласть.Текст=НомерФС; конецесли |
Ошибка возникает из-за свойства 1С разделять разряды чисел. Соответственно часто чтобы нормально работать с числами больше 1000 в смеси со строками, приходится число предварительно форматировать. Например так:
1 |
ТекОбласть = ТабличныйДокументВыписка.Область("R"+ Формат( НомерСтроки, "ЧГ=0") + "C" + 11); |
С определенного релиза платформы, это сообщение стало появляться при использовании некоторых внешних обработок, которые пользователи открывали через Файл-Открыть.
Решение: а решение остается только одно — оформлять обработку в «подключаемую», т.к. нет способа отключить безопасный режим при открытии внешней обработки через это меню.
Для оформления внешней обработки, достаточно в модуле обработки добавить что-то вроде:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
Функция СведенияОВнешнейОбработке() Экспорт ИмяОтчета = ЭтотОбъект.Метаданные().Имя; Синоним = ЭтотОбъект.Метаданные().Синоним + " " + ЭтотОбъект.Метаданные().Комментарий; Синоним = ?(ЗначениеЗаполнено(Синоним),Синоним, ИмяОтчета); РегистрационныеДанные = Новый Структура(); РегистрационныеДанные.Вставить("Вид", "ДополнительнаяОбработка"); РегистрационныеДанные.Вставить("Наименование", Синоним); РегистрационныеДанные.Вставить("Версия", "1.0"); РегистрационныеДанные.Вставить("БезопасныйРежим", ложь); РегистрационныеДанные.Вставить("Информация", "Обработка "+Синоним); ТЗ_Команды = Новый ТаблицаЗначений; ТЗ_Команды.Колонки.Добавить("Идентификатор"); ТЗ_Команды.Колонки.Добавить("Использование"); ТЗ_Команды.Колонки.Добавить("Представление"); НоваяСтрока = ТЗ_Команды.Добавить(); НоваяСтрока.Идентификатор = "ОткрытьОбработку"; НоваяСтрока.Использование = "ОткрытиеФормы"; НоваяСтрока.Представление = "Обработка БВ"; РегистрационныеДанные.Вставить("Команды", ТЗ_Команды); Возврат РегистрационныеДанные; КонецФункции |
Ну и подключить её через соответствующий пункт вашей конфигурации (например «Дополнительные внешние отчеты и обработки»).
Самый простой способ, перед вызовом Запрос.Выполнить(), поставить точку останова и по Shift-F9 вычислить чтото-вроде:
Запрос.МенеджерВременныхТаблиц.Таблицы[0].ПолучитьДанные().Выгрузить()