Имя: Пароль:
1C
1С v8
Проверка на заполнение в документе
0 Singenor
 
15.06.12
10:39
Имеется табличная часть, в ней в одном поле нужно сделать проверку на заполнение, делаю перед записью
ТекСтрока = ЭлементыФормы.РаспределениеПоСотрудникам.ТекущиеДанные;
       Если Не ЗначениеЗаполнено(ТекСтрока.КНачислениюСотрудникуЧасов) тогда
       Сообщить("К начислению сотруднику, часов не заполнено");
       Отказ = Истина;
   КонецЕсли;

но так он проверяет только в выбранной строке, т.е
            К начислению сотруднику часов  
1 строка:          6
2 строка:          - (строка пустая, при выборе ее появляется 0)
3 строка:          - (строка пустая, при выборе ее появляется 0)


как сделать, чтобы он проверял все строки на наличие записей в них? и если строка пустая, тогда ругался что это поле не заполнено?
1 Maxus43
 
15.06.12
10:41
// Укажем, что надо проверить:
   СтруктураОбязательныхПолей = Новый Структура("Номенклатура, Количество, ЕдиницаИзмерения");

// Теперь вызовем общую процедуру проверки.
   ЗаполнениеДокументов.ПроверитьЗаполнениеТабличнойЧасти(ЭтотОбъект, "Товары", СтруктураОбязательныхПолей, Отказ, Заголовок);
2 Singenor
 
15.06.12
10:42
в событие перед записью я так понимаю это?
3 Maxus43
 
15.06.12
10:43
(2) в типовых это делается в обработке проведения
4 pumbaEO
 
15.06.12
10:44
(2) перед проведением, не мучайте людей, вдруг надо будет в туалет отойти, а документа на 1000 строк не записывается
5 Cube
 
15.06.12
10:44
(0) Эх ты... Про циклы не слышал?

Для Каждого СтрокаДокумента Из РаспределениеПоСотрудникам Цикл
   Если Не ЗначениеЗаполнено(СтрокаДокумента.КНачислениюСотрудникуЧасов) тогда
       Сообщить("К начислению сотруднику, часов не заполнено");
       Отказ = Истина;
   КонецЕсли;
КонецЦикла;
6 Singenor
 
15.06.12
10:55
тогда еще вопрос не по теме:
В УПП, если без НДС считается документ, какой реквизит выбрать для этого?)
7 Cube
 
15.06.12
10:56
(6) Ты сам-то себя понимаешь? :)
8 pumbaEO
 
15.06.12
10:56
(6) Вопрос не по теме, а по содержанию вообще непонятен.
9 Singenor
 
15.06.12
11:08
Есть ТЧ, в которой есть такое поле как суммаНДС( из перечислений берется), там есть такой вариант как БЕЗ НДС, вот мне нужно, что если стоит БЕЗ НДС, тогда берется цена из поля ЦЕНА )
10 Maxus43
 
15.06.12
11:22
да посмотри как в типовых сделано, там же тоже самое
11 Singenor
 
15.06.12
11:30
(1) в 8.1 в общем модуле у меня нет процедуры ПроверитьЗаполнениеТабличнойЧасти
12 aleks-id
 
15.06.12
11:33
(5) забыл сделать выход из цикла. иначе последняя заполненная строка отказ вернет в ложь.
13 Cube
 
15.06.12
12:07
(12) С чего это вдруг?
14 aleks-id
 
15.06.12
12:10
(13) а блин точно. не проснулся еще )
15 Cube
 
15.06.12
12:10
(9) Простое условие:

Если МояСтрока.СуммаНДС = Перечисления.СтавкиНДС.БезНС Тогда
  Сообщить("Эта строка без НДС");
Иначе
   Сообщить("Эта строка с НДС");
КонецЕсли;


Тебе бы книжки почитать что-ли, прежде чем конфигуратор открывать и темы на мисте создавать... Я тебе без всякой задней мысли это говорю.
16 Cube
 
15.06.12
12:10
(14) Дык у нас обед уже прошел))