|
Проверка на пустое значение в поле ввода | ☑ | ||
---|---|---|---|---|
0
amadeus2010
15.05.12
✎
12:19
|
Добрый день, помогите пожалуйста разобраться есть необходимость проверить на пустые строки поля формы.Из ексель загружается документ,после загрузки документа на форму перед записью и проведением сделал проверку на пустые значения в полях ввода формы документа.Привожу часть кода:
Строка = Контрагенты.Добавить(); Строка.Контрагент= ПолучитьКонтрагентаПоКодуОракл(формат(Число(ВРег(СокрЛП(Лист.Cells(ПоСтрокам,1).Value))), "ЧГ=0")); Если Не ЗначениеЗаполнено(Строка.Контрагент) Тогда Сообщить("Заполните поле контрагент!"); КонецЕсли; Строка.Ордтейкер = Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(ВРег(СокрЛП(Лист.Cells(ПоСтрокам,2).Value))); Если НЕ ЗначениеЗаполнено(Строка.Ордтейкер) Тогда Сообщить("Заполните поле ордертейкер!"); КонецЕсли; Строка.Департамент = Справочники.Подразделения.НайтиПоНаименованию(СокрЛП(Лист.Cells(ПоСтрокам,3).Value)); Если НЕ ЗначениеЗаполнено(Строка.Департамент) Тогда Сообщить("Заполните поле департамент!"); КонецЕсли; DAY = ?(ЕстьНеЦифрыВСтроке(СокрЛП(Лист.Cells(ПоСтрокам,4).Value)) , 0, Число(СокрЛП(Лист.Cells(ПоСтрокам,4).Value))); Если DAY=0 Тогда Строка.ДеньПосещения=Перечисления.ДниПосещения.ПустаяСсылка(); Иначе Строка.ДеньПосещения=Перечисления.ДниПосещения[DAY-1]; КонецЕсли; Если ПустаяСтрока(Строка.ДеньПосещения) Тогда Сообщить("Не заполнено поле Дни посещения!"); КонецЕсли; Если оставить пустые ячейки в ексель файле,то Условие срабатывает только для Строка.ДеньПосещения, а для Строка.Департамент вместо выдачи сообщения о пустом поле выводится первое значение из справочника Подразделения. Где может быть ошибка в коде? |
|||
1
salvator
15.05.12
✎
12:24
|
В НайтиПоНаименованию 2-й параметр Истина попробуй поставить
|
|||
2
amadeus2010
15.05.12
✎
13:24
|
Я поставил в
Строка.Департамент = Справочники.Подразделения.НайтиПоНаименованию(СокрЛП(Лист.Cells(ПоСтрокам,3).Value)).Родитель.ЭтоГруппа; Если НЕ ЗначениеЗаполнено(Строка.Департамент) Тогда Сообщить("Заполните поле департамент!"); КонецЕсли; трассировкой показал значения департамента, в предприятии не заполнил поле Департамент и выдал сообщение указаное в коде. В реквизитах документа Департамент указан как Подразделения.Ссылка. Может и здесь указать вместо Родитель.ЭтоГруппа Родитель.Ссылка |
|||
3
amadeus2010
15.05.12
✎
16:48
|
Подскажите пожалуйста как в данную проверку можно добавить строку в которой не заполнено значение
Если ПустаяСтрока(Строка.Ордтейкер) Тогда Предупреждение("Укажите имя и фамилию ордертейкера"+Строка№); КонецЕсли; |
|||
4
hhhh
15.05.12
✎
16:56
|
ну попробуйте по-очереди: Родитель, ЭтоГруппа и Ссылка. Чего прокатит, то и ставьте.
|
|||
5
amadeus2010
15.05.12
✎
17:13
|
Я сделал так
Строка.Ордтейкер = Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(ВРег(СокрЛП(Лист.Cells(ПоСтрокам,2).Value))); Если ПустаяСтрока(Строка.Ордтейкер) Тогда Предупреждение("Укажите имя и фамилию ордертейкера"+Строка.Ордтейкер); КонецЕсли; вроде бы работает |
|||
6
salvator
15.05.12
✎
17:28
|
(3) Добавь переменную счетчик
Предупреждение("Укажите имя и фамилию ордертейкера, Строка № "+Счетчик); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |