Имя: Пароль:
1C
1С v8
помогите с запросом 8.2
,
0 korgallom
 
04.04.12
16:35
Для каждого текстрокз Из заявки Цикл
   Если текстрокз.Выбор=Истина Тогда
   Ссылка1=текстрокз.Заявка;
   
   
   //Проверка.Очистить();
   отгруз.Очистить();
   //коды.Очистить();
   
   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    ЗаказыПокупателей.ЗаказПокупателя.Номер КАК номер,
       |    ЗаказыПокупателей.ЗаказПокупателя.ДатаДоставки,
       |    ЗаказыПокупателей.Номенклатура,
       |    ЗаказыПокупателей.КоличествоОстаток,
       |    ЗаказыПокупателей.ЗаказПокупателя,
       |    ЗаказыПокупателей.ЗаказПокупателя.СкладГруппа
       |ИЗ
       |    РегистрНакопления.ЗаказыПокупателей.Остатки КАК ЗаказыПокупателей
       |ГДЕ
       |    ЗаказыПокупателей.ЗаказПокупателя.Ссылка = &Ссылка1";

   //Запрос.УстановитьПараметр("Датанач", Датанач);
   //Запрос.УстановитьПараметр("Датакон", Датакон);
   Запрос.УстановитьПараметр("Ссылка1", Ссылка1);
   Результат = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
       Ном1=ВыборкаДетальныеЗаписи.Номенклатура;
       Если не СокрЛП(Ном1.Видноменклатуры)="Услуга" тогда
       новстр=Отгруз.Добавить();
       //новстр.НомерЗаявки=ВыборкаДетальныеЗаписи.номер;
       новстр.Номенклатура=Ном1;
       новстр.Количество=ВыборкаДетальныеЗаписи.Количествоостаток;
       новстр.колупак=ВыборкаДетальныеЗаписи.номенклатура.колупак;
       новстр.всего=ВыборкаДетальныеЗаписи.Количествоостаток*ВыборкаДетальныеЗаписи.номенклатура.колупак;
       КонецЕсли;
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
КонецЕсли;
КонецЦикла;

   отгруз.Выгрузить();


пустой результат запроса хотя точно есть что выгружать
1 korgallom
 
04.04.12
16:39
нужно выбрать из документа табличную часть по ссылке документа, из списка документов.. вот не пойму в чем дело((((
2 salvator
 
04.04.12
16:40
ВыборкаДетальныеЗаписи.Количество() что показывает?
3 YF
 
04.04.12
16:40
Где тут табличная часть документа?
4 korgallom
 
04.04.12
16:42
выбирает по документу из регистра.. или это бред???
5 YF
 
04.04.12
16:42
(4) Нужно-то что? Табличная часть или регистр?
6 korgallom
 
04.04.12
16:43
ВыборкаДетальныеЗаписи.Количество() показывает 10
7 korgallom
 
04.04.12
16:43
регистр
8 salvator
 
04.04.12
16:44
(6) Значит запрос данные выбирает. Еще вопросы?
9 mirosh
 
04.04.12
16:45
отгруз - что такое?
10 korgallom
 
04.04.12
16:46
отгруз, табличная вторая таб часть документа куда выгружается табчличная чать документа
11 korgallom
 
04.04.12
16:46
вот только там ничего не появляется
12 salvator
 
04.04.12
16:47
>> Если не СокрЛП(Ном1.Видноменклатуры)="Услуга" тогда

Скорее всего тут условие не срабатывает.
13 mirosh
 
04.04.12
16:47
(10) находится ли на форме элементу правления, связанный с данной ТЧ (т.е. таблица, у которой в свойстве "данные" указана данная ТЧ_?
14 Rizhij_Nikitos
 
04.04.12
16:50
(0) поему запрос у тебя неверный, тебе нужно выбрать все записи, где данные документ является регистратором верно?
15 korgallom
 
04.04.12
16:53
да
16 korgallom
 
04.04.12
16:53
(14) нужно просто выбрать где док регистратор
17 korgallom
 
04.04.12
16:54
в отладчике все строки приходят но не добавляются даже когда убрал условие, непонятно
18 mirosh
 
04.04.12
16:54
(17) попробуй не писать  
отгруз.Выгрузить();
19 salvator
 
04.04.12
16:56
Сама Отгруз в отладчике заполняется?
20 mirosh
 
04.04.12
16:57
КонецЦикла;
КонецЕсли;
КонецЦикла;

нефиговый у тебя запрос в 2х циклах
21 korgallom
 
04.04.12
17:05
всем спасибо извинияюсь, если что, стояло отгруз.очистить(); это не убрал из модуля, все работает
22 korgallom
 
04.04.12
17:08
Процедура ОсновныеДействияФормыДействие(Кнопка)
Для каждого текстрокз Из заявки Цикл
   Если текстрокз.Выбор=Истина Тогда
   Ссылка1=текстрокз.Заявка;
   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    ЗаказыПокупателей.ЗаказПокупателя.Номер КАК номер,
       |    ЗаказыПокупателей.ЗаказПокупателя.ДатаДоставки,
       |    ЗаказыПокупателей.Номенклатура,
       |    ЗаказыПокупателей.КоличествоОстаток,
       |    ЗаказыПокупателей.ЗаказПокупателя,
       |    ЗаказыПокупателей.ЗаказПокупателя.СкладГруппа
       |ИЗ
       |    РегистрНакопления.ЗаказыПокупателей.Остатки КАК ЗаказыПокупателей
       |ГДЕ
       |    ЗаказыПокупателей.ЗаказПокупателя.Ссылка = &Ссылка1";

   Запрос.УстановитьПараметр("Ссылка1", Ссылка1);
   Результат = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
       Ном1=ВыборкаДетальныеЗаписи.Номенклатура;
       Если не СокрЛП(Ном1.Видноменклатуры)="Услуга" тогда
       новстр=Отгруз.Добавить();
       новстр.НомерЗаявки=ВыборкаДетальныеЗаписи.номер;
       новстр.Номенклатура=Ном1;
       новстр.Количество=ВыборкаДетальныеЗаписи.Количествоостаток;
       новстр.колупак=ВыборкаДетальныеЗаписи.номенклатура.колупак;
       новстр.всего=ВыборкаДетальныеЗаписи.Количествоостаток*ВыборкаДетальныеЗаписи.номенклатура.колупак;
       сообщить("!");
       КонецЕсли;
   КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры


вот полностью рабочий код
23 lubja
 
04.04.12
17:10
было бы лучше, если вытащить запрос из цикла...
24 le_
 
04.04.12
17:18
(23) +1