Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 16:02

Сравнение строк в ТЧ

Автор Nosferatu112, 11 сен 2023, 13:34

0 Пользователей и 1 гость просматривают эту тему.

Nosferatu112

Доброго времени суток, как правильно сравнить строки в ТЧ исключая только что созданную
&НаКлиенте
Процедура НачисленияПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)

ТекДан = Элементы.Начисления.ТекущиеДанные;
Если Объект.Начисления.Количество() > 1 Тогда
Для Каждого Стр Из Объект.Начисления Цикл

Если Стр.Начисление = ТекДан.Начисление Тогда

Объект.Начисления.Удалить(Объект.Начисления[Объект.Начисления.Количество() - 1]);
Сообщить("Запрет на введение одинаковых строк");
Прервать;

КонецЕсли;

КонецЦикла;

КонецЕсли;

КонецПроцедуры
Вот я написал код и предполагал что строка которую я создаю не отразиться в цикле так как процедура перед окончанием редактирования но она сравниваеться сама с собой и соответсвенно удаляеться как правильно прописать этот алгоритм на запрет введения одинаковых строк

LexaK

используйте событие поля/колонки строки Начисления, ПриИзмененииНачисления()!
проверяйте если их несколько,
то очищайте текущее
если помогло нажмите: Спасибо!

antoneus

НомерСтроки - есть такая колонка у табличных частей, заполняется автоматически, соответственно в цикле пишем
Если Стр.НомерСтроки = ТекДан.НомерСтроки Тогда
    Продолжить
КонецЕсли;

LexaK

или использовать команду

...
Если Объект.Начисления.НайтиСтроки(лкОтбор).Количество() > 1 Тогда
//есть повторение
ТекДанные.Начисления = Неопределено;
...
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск