Имя: Пароль:
1C
 
Запрос в цикле
,
0 Дебет
 
30.09.15
04:49
создаю документ копированием, сохраняю или провожу этот документ. В документе в табличной части  ОС, которые надо проверить на состояние(снято с учета или на консервации). Делаю проверку в модуле ПЕРЕДЗАПИСЬЮ. А теперь сам вопрос- Что бы сделать проверку необходимо в цикле делать запрос= ( . Можно ли это сделать без по другому, без запроса?
1 Дебет
 
30.09.15
04:55
потому что все говорят что запрос в цикле это оч неправлильно!
2 Альбатрос
 
30.09.15
05:17
(0) Не можно, а нужно без цикла. Показывай свой код с запросом
3 Дебет
 
30.09.15
05:22
вот он, ниже еще будет проверка

     Для каждого СтрокаТаблицы Из Материалы Цикл
             СтрокаНачалаСообщенияОбОшибке = "В строке номер """+ СокрЛП(СтрокаТаблицы.НомерСтроки) +
             """ табличной части ""Материалы"": ";
             Если Не СтрокаТаблицы.ОС.Пустая() Тогда
                 Запрос.Текст = "ВЫБРАТЬ
                 |
                 |    СостоянияОСОрганизаций.Состояние                                КАК СостояниеОС,
                 |    СостоянияОСОрганизаций.ОсновноеСредство.Ссылка              КАК ОС,
                 |    МАКСИМУМ(СостоянияОСОрганизаций.ДатаСостояния)              КАК ДатаСостоянияОС
                 |
                 |ИЗ  РегистрСведений.СостоянияОСОрганизаций.СРЕЗПОСЛЕДНИХ(&НаДату)      КАК СостоянияОСОрганизаций
                 |
                 |ГДЕ
                 |    СостоянияОСОрганизаций.ОсновноеСредство  = &СписокОС
                 |СГРУППИРОВАТЬ ПО
                 |    СостоянияОСОрганизаций.ОсновноеСредство,    
                 |    СостоянияОСОрганизаций.Состояние    
                 |УПОРЯДОЧИТЬ ПО
                 |    ДатаСостоянияОС
                 |";
                 Запрос.УстановитьПараметр("СписокОС", СтрокаТаблицы.ОС);    
                 Запрос.УстановитьПараметр("НаДату", Дата);    
                 Выборка = Запрос.Выполнить().Выгрузить();
4 jurassic
 
30.09.15
05:24
не догадался выгрузить ТЧ в ТЗ и скормить её запросу? не догадался делать запрос к ТЧ попозже?
5 Дебет
 
30.09.15
05:25
(4) так а в итоге там тоже будет цикл, который будет обходить только ТЗ или я что то упустил?
6 jurassic
 
30.09.15
05:26
упустил. из тч левое рс
7 Дебет
 
30.09.15
05:45
(6) документ еще не сохранен, ты предлагаешь ТЗ сравнить в запросе?
8 Альбатрос
 
30.09.15
05:57
(7) он предлагает выгрузить ТЗ в запрос и соединить с РС в запросе
9 jurassic
 
30.09.15
05:57
нене, я предлагаю давать записывать, а контролировать правильность заполнения уже при проведении
10 jurassic
 
30.09.15
05:58
(9) точнее, допускаю мысль, что так будет красивше ;)
11 Дебет
 
30.09.15
06:05
(10) если ОС списано то нельзя сохранять и проводить, если там напистаь то что вы говорите то записать получтся =(
12 jurassic
 
30.09.15
06:09
а почему бы и не сохранять, Ватсон?
13 Альбатрос
 
30.09.15
06:14
(12) Хламить не хотят может?
14 jurassic
 
30.09.15
06:17
вот бы ещё мне ворд не давал записывать с орфографическими ошибками...
15 Альбатрос
 
30.09.15
06:17
(11) Тогда делай как (8) с отбором по нужному состоянию внутренним соединением
16 Дебет
 
30.09.15
06:18
(15) спс, выбрал этот вариант!
17 Альбатрос
 
30.09.15
06:18
(14) Нууу... всяко может быть, хз как у них там заведено.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой