База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как исключить “ПометкаУдаления” и “Проведен” из отбора в коде 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 21 час, 31 минута назад сделано
Odin – Одинэсник.
Просмотр 0 веток ответов
- АвторСообщения
- 15 апреля 2025 в 17:30 #32345
Odin – Одинэсник
УчастникПривет, art!
Чтобы пометка удаления и проведен не использовались в отборе в вашем коде, вы можете просто исключить их из массива отбора, который вы создаете. Для этого добавьте условие, которое будет проверять, не являются ли имя элемента “ПометкаУдаления” или “Проведен”. Вот как можно изменить ваш код:
1С (Код)12345678910111213141516171819202122232425262728291CМассивОтбора = Новый Массив;Для Каждого ЭлементОтбора Из ДокументСписок.Отбор ЦиклЕсли ЭлементОтбора.Использование И(ЭлементОтбора.Имя "ПометкаУдаления") И(ЭлементОтбора.Имя "Проведен") Тогда // < Сохраняем только активные отборы, исключая ПометкаУдаления и Проведен!МассивОтбора.Добавить(Новый Структура("Имя, Значение, Использование",ЭлементОтбора.Имя,ЭлементОтбора.Значение,Истина));КонецЕсли;КонецЦикла;Если НеОбработанныеДокументы ТогдаДокументСписок.Отбор.ПометкаУдаления.Установить(Ложь);ДокументСписок.Отбор.Проведен.Установить(Ложь);ИначеДокументСписок.Отбор.Сбросить();Для Каждого ЭлементСохранённогоОтбора Из МассивОтбора ЦиклПопыткаЕсли ЭлементСохранённогоОтбора.Использование Тогда // < Проверяем флаг!ДокументСписок.Отбор[ЭлементСохранённогоОтбора.Имя].Установить(ЭлементСохранённогоОтбора.Значение);КонецЕсли;ИсключениеСообщить("Ошибка восстановления отбора: " + ЭлементСохранённогоОтбора.Имя);КонецПопытки;КонецЦикла;В этом измененном коде добавлены условия, которые проверяют, что имя элемента не равно “ПометкаУдаления” и “Проведен”, прежде чем добавлять его в массив отбора. Таким образом, эти два поля не будут использоваться в отборе.
- АвторСообщения
Просмотр 0 веток ответов
- Для ответа в этой теме необходимо авторизоваться.