Имя: Пароль:
1C
1С v8
Цикл по незаполненным реквизитам
,
0 scorp364
 
19.08.16
15:52
Как с помощью цикла сократить это условие?

Если  Не ЗначениеЗаполнено(СтрокаДокумента.ПервыйВидВремени1) Тогда
СтрокаДокумента.ПервыйВидВремени1 = Справочники.ВидыРабочегоВремени.НайтиПоНаименованию("В");
КонецЕсли;
Если  Не ЗначениеЗаполнено(СтрокаДокумента.ПервыйВидВремени2) Тогда
СтрокаДокумента.ПервыйВидВремени2 = Справочники.ВидыРабочегоВремени.НайтиПоНаименованию("В");
КонецЕсли;
Если  Не ЗначениеЗаполнено(СтрокаДокумента.ПервыйВидВремени3) Тогда
СтрокаДокумента.ПервыйВидВремени3 = Справочники.ВидыРабочегоВремени.НайтиПоНаименованию("В");
КонецЕсли;
1 Горогуля
 
19.08.16
15:54
СтрокаДокумента["ПервыйВидВремени"+й]
2 butterbean
 
19.08.16
15:54
для начала нужно в переменную запихнуть значение: Справочники.ВидыРабочегоВремени.НайтиПоНаименованию("В");
3 KishMish
 
19.08.16
15:55
СтрокаДокумента["ПервыйВидВремени2"+Номер]
4 Argon
 
19.08.16
15:59
ВремВидРабочегоВремени = Справочники.ВидыРабочегоВремени.НайтиПоНаименованию("В");
Для Номер = 1 по 3 цикл
    Если НЕ Значениезаполнено(СтрокаДокумента["ПервыйВидВремени"+Номер]) тогда
        СтрокаДокумента["ПервыйВидВремени"+Номер] = ВремВидРабочегоВремени;
    КонецЕсли;
Конеццикла
5 lodger
 
19.08.16
16:08
а если там большая таблица и много полей, то можно замутить выгрузку в тз, отдать тз в запрос, в запросе навертеть условие с подстановкой, потом тч.загрузить(запрос.выполнить().выгрузить());
и никакого головняка с циклами.
6 Nuobu
 
19.08.16
16:10
СтрокаДокумента.ПервыйВидВремени3 = ?(ЗначениеЗаполнено(СтрокаДокумента["ПервыйВидВремени" + Инд]), СтрокаДокумента["ПервыйВидВремени" + Инд], ВремВидРабочегоВремени);
7 Argon
 
19.08.16
16:13
(6)  это что? :)
8 Nuobu
 
19.08.16
16:14
(7) Это чтоб Если Тогда КонецЕсли; не писать.
9 scorp364
 
20.08.16
08:51
(4) спасибо работает!
10 Горогуля
 
20.08.16
09:06
трудились все, а спасибо только Аргону. а и правильно. только он догадался дать то, что можно тупо скопипастить