|
Проверка заполнения реквизита таб. части | ☑ | ||
---|---|---|---|---|
0
Сергей333
15.08.17
✎
16:10
|
Как правильно сделать проверку? Есть таб. часть "ТехнологическиеОперации", в ней реквизиты "ВремяНачала" и "Получил".
Нужно что бы когда заполнено "ВремяНачала" делалась проверка на заполнение "Получил" и без его заполнения не проводился документ. Пробовал Процедура ПроверитьЗаполнениеТабличнойЧастиТехнологическиеОперации(ТаблицаПоТехнологическимОперациям, СтруктураШапкиДокумента, Отказ, Заголовок) ИмяТабличнойЧасти = "ТехнологическиеОперации"; Если ЗначениеЗаполнено("ВремяНачала") Тогда СтруктураОбязательныхПолей = Новый Структура("Получил"); КонецЕсли // Теперь вызовем общую процедуру проверки. ЗаполнениеДокументов.ПроверитьЗаполнениеТабличнойЧасти(ЭтотОбъект, "ТехнологическиеОперации", СтруктураОбязательныхПолей, Отказ, Заголовок); КонецПроцедуры |
|||
1
h-sp
15.08.17
✎
16:55
|
Если ЗначениеЗаполнено("ВремяНачала") Тогда
это что за бред почитайте справку про функцию ЗначениеЗаполнено |
|||
2
Михаил Козлов
15.08.17
✎
16:58
|
Общая процедура проверки заполнения проверяет для ВСЕХ строк таб. части.
Вам же нужно проверять по каждой строке в зависимости от значения реквизита "ВремяНачала". Пишите проверку в цикле. |
|||
3
Dmitrii
гуру
15.08.17
✎
17:09
|
(1) И что там такого в справке по этой функции?...
|
|||
4
Сергей333
15.08.17
✎
17:13
|
(2) Я пробовал еще так
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) Для Каждого ТекСтрокаТехнологическиеОперации Из ТехнологическиеОперации Цикл Если ТекСтрокаТехнологическиеОперации.ВремяНачала = Истина Тогда Если Не ЗначениеЗаполнено("Получил") Тогда Предупреждение("Не заполнен реквизит Получил"); Отказ = Истина; КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
5
h-sp
15.08.17
✎
17:13
|
(3) что передавать в качестве параметра. Пусть выучит.
|
|||
6
Ахмадинежад
15.08.17
✎
17:14
|
(0)
та ёшкин кот) ЗначениеЗаполнено("Получил") - всегда Истина |
|||
7
h-sp
15.08.17
✎
17:14
|
(4) "Получил" это не реквизит у вас, а строка текста.
|
|||
8
mehfk
15.08.17
✎
17:15
|
(0) На чем еще, кроме 1с программируете?
|
|||
9
Ахмадинежад
15.08.17
✎
17:15
|
"ТекСтрокаТехнологическиеОперации.ВремяНачала = Истина "
А это всегда ложь, если ВремяНачала не типа Булево |
|||
10
Serg_1960
15.08.17
✎
17:16
|
(4)
Для Каждого ТекСтрока Из ТехнологическиеОперации Цикл Если ЗначениеЗаполнено(ТекСтрока.ВремяНачала) И Не ЗначениеЗаполнено(ТекСтрока.Получил) Тогда Предупреждение("Не заполнен реквизит Получил"); |
|||
11
oslokot
15.08.17
✎
17:17
|
Для УФ достаточно использовать ПроверитьЗаполнение()
|
|||
12
Serg_1960
15.08.17
✎
17:20
|
(11) Технологические операции, ЗаполнениеДокументов.ПроверитьЗаполнениеТабличнойЧасти() - это УПП скорее всего (обычные формы)
|
|||
13
Serg_1960
15.08.17
✎
17:23
|
А документ - ОтчетПроизводстваЗаСмену, скорее всего
|
|||
14
h-sp
15.08.17
✎
17:25
|
интересная фишка
ЗначениеЗаполнено(Ложь) = Истина |
|||
15
Ахмадинежад
15.08.17
✎
17:48
|
(14)век живи, век учись )
|
|||
16
Сергей333
15.08.17
✎
19:09
|
(10) Спасибо огромное), (15) Это точно)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |