Книга знаний |
Рекламное место пустует
|
1С:Предприятие / Приемы программирования / Формы |
|
Для проверки заполненности реквизитов в 1С:Предприятие версии 8.2 появился новый механизм.
<br><br>Ниже приводится пример обработки табличной части на пустые значения реквизита (в этом примере - товара) и повторы (дубли) его значений. | Автор статьи: romix | Редакторы: Последняя редакция №2 от 11.04.11 | История URL: http://kb.mista.ru/article.php?id=828 |
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) // Срабатывает при проведении. // Сообщим платформе, что мы сами обрабатываем проверку реквизита Товар в табличной части Товары пр=ПроверяемыеРеквизиты.Найти("Товары.Товар"); Если пр<>Неопределено Тогда ПроверяемыеРеквизиты.Удалить(пр); КонецЕсли; сз = Новый СписокЗначений; // Обходим строки и проверяем заполнение реквизита Для Индекс = 1 по Товары.Количество() Цикл Индекс0=Индекс-1; СтрокаТовар = Товары.Получить(Индекс0); Если Не ЗначениеЗаполнено(СтрокаТовар.Товар) Тогда Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = "В строке " + Индекс + " не заполнено значение Товара"; Сообщение.Поле = "Товары[" + Индекс0 + "].Товар"; Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); Отказ = Истина; Иначе //Проверяем на повторы вв=сз.НайтиПоЗначению(СтрокаТовар.Товар); Если вв<>Неопределено Тогда Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = "Такой Товар в табличной части уже есть: "+вв.Значение+" в строке "+вв.Представление; Сообщение.Поле = "Товары[" + Индекс0 + "].Товар"; Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); Отказ = Истина; Иначе сз.Добавить(СтрокаТовар.Товар, Индекс); КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры
Описание
| Рубрикатор
| Поиск
| ТелепатБот
| Захваченные статьи
| Установки
| Форум
|