Имя: Пароль:
1C
1C 7.7
v7: Запрос к регистру
,
0 Buzztekk
 
25.01.17
13:18
Добрый день.
Подскажите пожалуйста почему то не получается сделать запрос к регистру ПартииТоваров
Хочу чтобы по конкретному товару он показывал все партии и остаток по каждой из них

Ошибки ни какой не возникает, просто ничего не выводит в окно сообщений, кроме "Запрос ок"

Процедура Регистры()

РЦ="РЦ72981";
ТоварСП=СоздатьОбъект("Справочник.Номенклатура");
ТоварСП.НайтиПоКоду(РЦ);

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

Пока Запрос3.Группировка(1)=1 Цикл
    Сообщить("товар  "+Запрос3.Товар);
    Пока Запрос3.Группировка(2)=1 Цикл
    Сообщить("Партия "+Запрос3.Партия+" Остаток "+Запрос3.ост);
КонецЦикла;
КонецЦикла;
КонецПроцедуры
1 Джинн
 
25.01.17
13:20
После ТоварСП.НайтиПоКоду(РЦ); даже не стал дальше читать.
2 Остап Сулейманович
 
25.01.17
13:21
(0) Вместо :
РЦ="РЦ72981";
ТоварСП=СоздатьОбъект("Справочник.Номенклатура");
ТоварСП.НайтиПоКоду(РЦ);

Написать :
РЦ="РЦ72981";
ТоварСП=СоздатьОбъект("Справочник.Номенклатура");
Если ТоварСП.НайтиПоКоду(РЦ) = 0 Тогда
    Сообщить("А нету такого кода в справочнике номенклатура");
    Возврат;
Иначе
   Сообщить("Таки есть код "+РЦ+" в справочнике номенклатура");
КонецЕсли;

Результат - в студию.
3 Ёпрст
 
25.01.17
13:22
(0)

ТоварСП=СоздатьОбъект("Справочник.Номенклатура");
Если ТоварСП.НайтиПоКоду("РЦ72981")=1 Тогда
   ВыбТовар = ТоварСП.ТекушийЖлемент();
Иначе
   Предупреждение("Пнх, Альфредо!",60);
   Возврат;
КонецЕсли;


......
//|Условие (Товар=ТоварСП.текущийэлемент());
|Условие (Товар=ВыбТовар);
4 Tatitutu
 
25.01.17
13:22
Сообщить(ТоварСП.текущийэлемент());
//уверен что находит
5 Buzztekk
 
25.01.17
13:23
(1) Да я не знаю как иначе в условии прописать конкретный товар.
На меня внезапно все это свалилось, я раньше не занимался всем этим, просто сейчас срочно надо, вот и приходится лихом наваливаться
6 Джинн
 
25.01.17
13:24
(5) Реквизит на форму и указать его явно.
7 Tatitutu
 
25.01.17
13:25
и Регистр.ПартииТоваров
это регистр Остатков или Оборотов
Переодичность ?
8 Остап Сулейманович
 
25.01.17
13:25
(5) "я не знаю как иначе в условии прописать конкретный товар. "
Для начала нужно определиться с критериями "товар этот/товар не этот".

От куда то он же должен браться?
9 Buzztekk
 
25.01.17
13:35
(4) точно находит, есть такой товар
(7) Это регистр остатков
(2) Есть такой товар, и результат выдает
Таки есть код "+РЦ+" в справочнике номенклатура
....потом какое то время думает и ниже окна сообщений пишется "обработка итогов на 10.01.2017" - видимо выполняется запрос.
А потом уже пишется в окне сообщений - "Запрос ок"

т.е. результат такой:
Таки есть код "+РЦ+" в справочнике номенклатура
Запрос ок
10 Остап Сулейманович
 
25.01.17
13:41
(9) Период в запросе закомментирован. Откуда берется 10.01.2017? Это ДатаТА()?
11 Buzztekk
 
25.01.17
13:47
(10) Да, она самая.
12 Остап Сулейманович
 
25.01.17
13:47
+ (10) Странный результат выдает программа.
Она не должна была сказать вот так:
Таки есть код "+РЦ+" в справочнике номенклатура

нормальный ее ответ был бы таким :
Таки есть код РЦ72981 в справочнике номенклатура

Кто то врет.
13 Buzztekk
 
25.01.17
13:49
Ну это я скопировал) просто я по удаленке работаю и при вставке текста оттуда каракули, поэтому я скопировал вашу строчку
14 Это_mike
 
25.01.17
13:50
(13) переключись в обоих окнах на русский, и не будет каракулей...
15 Ёпрст
 
25.01.17
13:51
(9) см. (3)
16 Buzztekk
 
25.01.17
14:10
Заккоментил условия - дак пошел в разнос - перелопачивает весь регистр.
(15) Ёпрст щас попробую (3)
17 Buzztekk
 
25.01.17
14:19
(15) Ёпрст спасибо, вроде получилось, правда почему то такое ощущение что остатки задвоенные, как будто в регистре встречается по две строчки одинаковые, но это уже другая история
18 Duke1C
 
25.01.17
17:24
(17) Я так понимаю ТС пишет в ТиС, там есть штатный отчет - "Ведомость по партиям"