Имя: Пароль:
1C
1C 7.7
v7: Подскажите с запросом
0 PCcomCat
 
20.03.17
11:07
Доброго времени, уважаемые!

Подзабыла я 7.7.

Есть запрос:

         Запрос = СоздатьОбъект("Запрос");
         ТекстЗапроса =
         "//{{ЗАПРОС(Сформировать2)
         |Период с ДатаНач по (ТекущаяДата());
         |ОбрабатыватьДокументы все;
         |Без итогов;
         |ДокументПоступления = Документ.РС_ПоступлениеТоваров.ТекущийДокумент;
         |Товар = Документ.РС_ПоступлениеТоваров.Товар;
         |ЭлемШтрихКод = Документ.РС_ПоступлениеТоваров.ЭлемШтрихКод;
         |ЭлемПартия = Документ.РС_ПоступлениеТоваров.ЭлемПартия;
         |ПриходныйДокумент = Документ.РС_ПоступлениеТоваров.ЭлемПартия.ПриходныйДокумент;
         |Группировка Товар;
         |Группировка ЭлемШтрихКод;
         |Группировка ЭлемПартия;
         |Группировка ПриходныйДокумент;
         |Группировка ДокументПоступления;
         |Условие((СписокТоваров.Принадлежит(Товар) = 1) или (Товар В СписокТоваров)); // ПРОБЛЕМА С УСЛОВИЕМ!         
         |"//}}ЗАПРОС
         ;
    
         ДатаНач = '01.12.2016';
         
         СписокТоваров = СоздатьОбъект("СписокЗначений");  
        ДокИнвентаризация.ВыгрузитьТабличнуюЧасть(СписокТоваров, "Товар");
         Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
             Сообщить("    * Пусто");
             Возврат;
        КонецЕсли;  
         
        ТЗ = СоздатьОбъект("ТаблицаЗначений");
        Запрос.Выгрузить(ТЗ,,);
        
        Сообщить(ТЗ.КоличествоСтрок());    
        
        ТЗ.ВыбратьСтроку();

Во это мне дает пустую таблицу.

Как можно выбрать строки табличной части документов РС_ПоступлениеТоваров, в которых есть Товар из табличной части документа ДокИнвентаризация?

Благодарю заранее.
1 xXeNoNx
 
20.03.17
11:15
(СписокТоваров.Принадлежит(Товар) = 1) или (Товар В СписокТоваров)

Если в списке есть товар или Товар есть в списке - вроде так прочитал... Если так, то зачем 2 раза?
2 PCcomCat
 
20.03.17
11:19
(1) Ни один не срабатывает! Раздельно рисовала изначально. Показываю испробованные варианты.
Когда условие убираю, получаю заполненную таблицу. И там есть мои элементы.
3 PCcomCat
 
20.03.17
11:19
База DBF.
4 Масянька
 
20.03.17
11:20
(2) Попробуй сначала "Группировка ДокументПоступления", а потом "Группировка Товар".
5 пипец
 
20.03.17
11:23
Запрос.Выгрузить(ТЗ,0,0);
ЗЫ и
//    |Без итогов;  убрать нафинг

переменные которые в условие проверить что там

и
  |Группировка ЭлемШтрихКод;
         |Группировка ЭлемПартия;
         |Группировка ПриходныйДокумент;
         |Группировка ДокументПоступления;

это нафига так вообще
6 Ёпрст
 
20.03.17
11:24
(2) Посмотреть, для начала, что в списке значения твоём. И нет ли его переопределения где еще в коде (реквизит формы, к примеру)
7 PCcomCat
 
20.03.17
11:25
(6) В том-то и дело, что в списке то, что надо - проверяла.
8 vladko
 
20.03.17
11:25
(0) |Без итогов; убрать
Введи хотя бы 1 функцию
9 PCcomCat
 
20.03.17
11:26
(5) Чтобы посмотреть. Там еще три условия надо. Тут хотя бы одно запустить...
10 пипец
 
20.03.17
11:30
+ угу - хоть счётчик поставить как функцию
11 PCcomCat
 
20.03.17
11:33
Ок, пробую.
12 Масянька
 
20.03.17
11:37
(11) Так работает?

         Запрос = СоздатьОбъект("Запрос");
         ТекстЗапроса =
         "//{{ЗАПРОС(Сформировать2)

         |Период с ДатаНач по (ТекущаяДата());
         |ОбрабатыватьДокументы все;
         |ДокументПоступления = Документ.РС_ПоступлениеТоваров.ТекущийДокумент;
         |Товар = Документ.РС_ПоступлениеТоваров.Товар;
         |Группировка ДокументПоступления;
         |Группировка Товар без групп;
         |Условие (Товар В СписокТоваров));
     |Функция КолВоЗаписей = Счётчик();";


         |"//}}ЗАПРОС

         ;

И ещё - с датами все ОК?
13 PCcomCat
 
20.03.17
11:38
"И руль погладила, и фары протерла - не едет!"
         "//{{ЗАПРОС(Сформировать2)
         |Период с ДатаНач по (ТекущаяДата());
         |ОбрабатыватьДокументы все;
         |ДокументПоступления = Документ.РС_ПоступлениеТоваров.ТекущийДокумент;
         |Товар = Документ.РС_ПоступлениеТоваров.Товар;
         |ЭлемШтрихКод = Документ.РС_ПоступлениеТоваров.ЭлемШтрихКод;
         |ЭлемПартия = Документ.РС_ПоступлениеТоваров.ЭлемПартия;
         |Функция ДокументПоступленияКоличествоСумма = Сумма(ДокументПоступления.Количество);
         |Группировка ДокументПоступления;
         |Группировка Товар;
         |Условие(СписокТоваров.Принадлежит(Товар) = 1);
         |"//}}ЗАПРОС
         ;
         
Получаю только итоговую строку с нулем.
14 PCcomCat
 
20.03.17
11:39
(12) Без условия таблицу выводит.
15 Масянька
 
20.03.17
11:40
(13) Передачу не воткнула :))))
16 Масянька
 
20.03.17
11:40
(14) Ваще ничего не поняла...
17 PCcomCat
 
20.03.17
11:41
(14) Сто пудов! )))
18 PCcomCat
 
20.03.17
11:41
(17) к (15)
19 Ёпрст
 
20.03.17
11:46
(14) Так, есть че ?




     Запрос = СоздатьОбъект("Запрос");
         ТекстЗапроса =
         "


         |Период с ДатаНач по (ТекущаяДата());
         |ОбрабатыватьДокументы все;

         |Товар = Документ.РС_ПоступлениеТоваров.Товар;
         |Группировка Товар;
         |Условие (Товар В Вася));

      Вася= СоздатьОбъект("СписокЗначений");  
        ДокИнвентаризация.ВыгрузитьТабличнуюЧасть(Вася, "Товар");
         Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
             Возврат;
        КонецЕсли;  
        
        ТЗ = СоздатьОбъект("ТаблицаЗначений");
        Запрос.Выгрузить(ТЗ,,);
        ТЗ.ВыбратьСтроку();
20 PCcomCat
 
20.03.17
11:58
(19) Да!

Где нужная ступень в коробке передач?
21 PCcomCat
 
20.03.17
11:58
Мне ссылку на документ поступления нужно получить.
22 Ёпрст
 
20.03.17
11:59
(20)
У тебя СписокТоваров - или переменная с таким идентификатором на форме, или глобальная переменная или реквизит или еще чего
23 PCcomCat
 
20.03.17
12:05
(22) Спасибо!!! Где смайлик с поцелуйчиком?!

На форме вообще нет ничего кроме элемента выбора Инвентаризации, глобальных переменных в глобальном модуле не нашла. Ну да фиг с ним, значит есть что-то.
24 PCcomCat
 
20.03.17
12:11
Хотя непонятно...
Я делала
        а ="";
        СписокТоваров.ВыбратьЗначение(а);
        Сообщить(СокрЛП(а.Вид()));

Список тот, что в документе. И при выборе элемента это Номенклатура. Ух, отстала от жизни 7.7...
25 Масянька
 
20.03.17
12:11
(23) Можно не поцелуями, а деньгами :)))))))))
Пройдись глобальном поиском - найдешь.
26 PCcomCat
 
20.03.17
12:14
(25) Ну вот... Всё светлое в деньги переводим. ;)))
27 Масянька
 
20.03.17
12:14
(26) :)
28 пипец
 
20.03.17
12:59
а деньги в тёмное не фильтрованное ))))
29 PCcomCat
 
20.03.17
14:48
Будете у нас на "Калыме" - заходите! Налью. ;))
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс