Запрос по регистру

1. antondyrin 19.08.09 12:33 Сейчас в теме
необходимо выдернуть из регистра розничные цены на печать, текущей датой, номенклатура из таблицы поступлениев розницу , делаю запрос, но не попадают первая и последняя позиции номенклатуры и мешаются некоторые еще.
Вот кусок текста с запросом

СЗНоменклатуры = СоздатьОбъект("СписокЗначений");
ВыгрузитьТабличнуюЧасть(СЗНоменклатуры, "Номенклатура");

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

ДатаЗапроса = РабочаяДата();

ТекстЗапроса = "
|Период с ДатаЗапроса;
|Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура;
|ЦенаПрод = Регистр.ОстаткиТМЦ.ЦенаПрод;
|Количество = Регистр.ОстаткиТМЦ.Количество;
|Условие (Номенклатура в СЗНоменклатуры);
|Функция ОстКоличество = КонОст(Количество);
|Группировка Номенклатура;
|Группировка ЦенаПрод;
|";

ТаблицаДокумента = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(ТаблицаДокумента, "Номенклатура, РозничнаяЦена, Коэффициент");

Запрос.Выполнить(ТекстЗапроса);

ПечДок="Накладная №"+глНомерНаПечать(ТекущийДокумент())+" от "+ДатаДок;

Пока Запрос.Группировка("Номенклатура") = 1 Цикл
Пока Запрос.Группировка("ЦенаПрод") = 1 Цикл
НомСтроки = 0;
ТаблицаДокумента.НайтиЗначение(Запрос.Номенклатура, НомСтроки, "Номенклатура");
Сообщить(НомСтроки);
Если НомСтроки <> 0 Тогда
ТаблицаДокумента.ПолучитьСтрокуПоНомеру(НомСтроки);

ПечЦена = Запрос.ЦенаПрод;
КонецЕсли;

ПечСтрана="Страна: "+ТаблицаДокумента.Номенклатура.СтранаПроисхождения;
ПечНаименование=ТаблицаДокумента.Номенклатура.Наименование;
ПечАртикул="Артикул "+ТаблицаДокумента.Номенклатура.Артикул;
Если НомВСтроке>3 Тогда
Если Строк>7 Тогда
строк=0;
Таб.НоваяСтраница();
КонецЕсли;
НомВСтроке=1;
КонецЕсли;
Если НомВСтроке=1 Тогда
Таб.ВывестиСекцию("СтрокаЭтикетки|СтолбецЭтикетки");
Строк=Строк+1;
НомВСтроке=НомВСтроке+1;
Иначе //Если НомВСтроке>1 Тогда
Таб.ПрисоединитьСекцию("СтрокаЭтикетки|СтолбецЭтикетки");
НомВСтроке=НомВСтроке+1;
КонецЕсли;
КонецЦикла;
КонецЦикла;
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. antondyrin 19.08.09 12:42 Сейчас в теме
как еще выборку по запросу, кроме как пока запрос.группировка(Номенклатура) =1 не знаю, есть ли варианты?
3. Ёпрст 1064 19.08.09 13:36 Сейчас в теме
4. CheBurator 3125 20.08.09 03:00 Сейчас в теме
Чисто по методике:
Если НомСтроки <> 0 Тогда
ТаблицаДокумента.ПолучитьСтрокуПоНомеру(НомСтроки);
ПечЦена = Запрос.ЦенаПрод;
КонецЕсли;

//сюда можем попасть если НомСтроки=0, но, тем не менее, идет обращение к строкам ТЗ
.
5. CheBurator 3125 20.08.09 03:07 Сейчас в теме
двигаешься в принципе в правильном направлении, отладчик в руки и вперед...
вопрос: где присвоение начального значения номВСтроке перед Если НомВСтроке>3 Тогда ...????
6. antondyrin 20.08.09 18:35 Сейчас в теме
Вообще воопрос в том, почему в запросе, вместо количества = 141 строке в документе, попадает 143 строки, хотя я делаю (|Условие (Номенклатура в СЗНоменклатуры);), это из-за того что на остатках может и не быть данной номенклатуры, а может и быть больше, можно ли как-то сгруппировать по номенклатуре чтобы не после выполнения запроса, в нем не было в разных строках одинаковой номенклатуры(Вроде группировка и должна с этим справляться??)? Возможно так. Но почему-то в стабильно не берет 1-ю и последнюю номенклатуру, я выгружал запрос в таблицу значений и смотрел кол-во строк, тоже 143.
7. CheBurator 3125 20.08.09 22:48 Сейчас в теме
где "не берет 1 и последнюю" номенклатуры??? в ТЗ по результатам запроса??? или пори выводе на печать???
откуда знаешь что не берет?? что является эталоном, на который ориентируешься??
8. qwest 20.08.09 23:06 Сейчас в теме
Скорее всего одна номенклатура по нескольким ценам
9. antondyrin 21.08.09 00:30 Сейчас в теме
Внимательно запрос смотри "ВыгрузитьТабличнуюЧасть(СЗНоменклатуры, "Номенклатура")" эталон табличная часть, проверял по выгрузки в таблЗнач. по выборки.
10. antondyrin 21.08.09 00:31 Сейчас в теме
А как группировать по последней??? Надо срезать по дате со временем в секундах, так в 77 можно?
11. CheBurator 3125 21.08.09 02:07 Сейчас в теме
(10) вопрос бессмысленен.
.
ситуация скорее всего в том, как написал (8) у тебя на остатках в рознице числится товар по разным ценам - вот и получается что одна номенклатура разворачивается в нескольо строк с разными ценами...
.
группировать по последней нельзя! сам-то понял что спросил - это типа как для одного человека построится по росту"... И цена не может быть последней - они существуют одновременно...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот