Имя: Пароль:
1C
1C 7.7
v7: Помогите с созданием запроса
0 oleg056
 
27.07.12
12:23
ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |ТМЦ = Документ.РозничнаяНакладная.ТМЦ;
   |Кво = Документ.РозничнаяНакладная.Кво;
   |Функция КвоСумма = Сумма(Кво);  
   |Группировка ТМЦ Упорядочить По ТМЦ.Код;
   |"//}}ЗАПРОС
   ;
Проблема в том что происходит группировка товара с разной ценной продажи.

Как этого избежать ?
1 GLazNik
 
27.07.12
12:25
Ничего не понял
2 Жан Пердежон
 
27.07.12
12:25
добавь цену в группировки
3 oleg056
 
27.07.12
12:59
ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |ТМЦ = Документ.РозничнаяНакладная.ТМЦ;
   |Кво = Документ.РозничнаяНакладная.Кво;
   |ЦенаСНДС = Документ.РозничнаяНакладная.ЦенаСНДС;
   |Группировка ТМЦ;
   |Группировка ЦенаСНДС;
   |"//}}ЗАПРОС

Пробовал так и только с "|Группировка ЦенаСНДС;" Не выходит
Смысл запроса чтобы одинаковый товар но с разной ценной не группировались
4 GLazNik
 
27.07.12
13:00
(3) а чего не выходит? ругается? или что?
5 oleg056
 
27.07.12
13:05
Если  только "|Группировка ЦенаСНДС;"
то он объединяет по ценам разные товары, а
если так
|Группировка ТМЦ;
|Группировка ЦенаСНДС;

то я имею сгруппированный товар т.е. "Группировка ЦенаСНДС" не влияет когда прошла группировка по ТМЦ
6 Zmich
 
27.07.12
13:09
(5). После выполнение запроса обе группировки обходишь?
7 GLazNik
 
27.07.12
13:12
(5) Так группировку цен тоже обходить надо
8 oleg056
 
27.07.12
13:12
Эмм... Что значит обходишь группировки, где почитать ?
9 Mikeware
 
27.07.12
13:13
(8)в ЖКК
10 Zmich
 
27.07.12
13:14
(8).
Пока Запрос.Группировка(1) = 1 Цикл
 ТМЦ = Запрос.ТМЦ;
 Пока Запрос.Группировка(2) = 1 Цикл
   ЦенаСНДС = Запрос.ЦенаСНДС;
 КонецЦикла;
КонецЦикла;
11 oleg056
 
27.07.12
13:39
Огромное спасибо. Все получилось.
12 oleg056
 
27.07.12
19:55
Еще вопрос.
Я смотрю, что вместо документов используют регистры.
Какой регистр использовать вместо Документ.РозничнаяНакладная
И если можно пример, как будет выглядеть запрос
13 oleg056
 
27.07.12
20:03
Конфигурация 1С
7.70.024
Конфигурация АБТ З ПРОФ (3.6.1)
бух + торговля + производство + зарплата + кадры
14 Zamestas
 
27.07.12
20:16
(13) Модуль документа ОбработкаПроведения() - посмотри по каким регистрам движения идут.
15 oleg056
 
27.07.12
20:19
Если ПроверкаШапки()=0 Тогда
       НеПроводить(Контекст);
       Возврат;
   КонецЕсли;
   Касса = ПолучитьКассу(Фирма,Гривня);
   РассчитатьШапку();
   Если ВидУчета = Перечисление.ВидыУчета.Торговля Тогда
       РегистрыШапка();
   ИначеЕсли ВидУчета = Перечисление.ВидыУчета.Бухгалтерия Тогда
       ПроводкиШапка();
   Иначе
       РегистрыШапка();
       ПроводкиШапка();
   КонецЕсли;
   ВыбратьСтроки();
   Пока ПолучитьСтроку()=1 Цикл
       Если ПроверкаСтроки()=0 Тогда
           НеПроводить(Контекст);
           Возврат;
       КонецЕсли;

       Регистр.Остатки.ПривязыватьСтроку(НомерСтроки);
       Регистр.Обороты.ПривязыватьСтроку(НомерСтроки);
       Регистр.Резерв.ПривязыватьСтроку(НомерСтроки);

       Если ТМЦ.Вид <> Перечисление.ВидыТМЦ.Комплект Тогда
           Товар = ТМЦ;
           ПересчКво = Кво*Коэффициент;
           РассчитатьСтроку();
           фСоставляющая = 0;
           ОбработатьСтроку();
       Иначе
           РассчитатьКомплект();
           Состав = СоздатьОбъект("Справочник.СоставКомплекта");
           Состав.ИспользоватьВладельца(ТМЦ);
           Состав.ВыбратьЭлементы();
           Пока Состав.ПолучитьЭлемент()=1 Цикл
               Товар = Состав.ТМЦ;
               ПересчКво = Кво*Коэффициент*Состав.Кво;
               РассчитатьСтроку();
               фСоставляющая = 1; // 1 указывает на то, что это составляющая комплекта
               ОбработатьСтроку();
           КонецЦикла;
       КонецЕсли;

   КонецЦикла;

   Если ВидУчета <> Перечисление.ВидыУчета.Торговля Тогда
       Операция.Содержание = "Розничная продажа: ТМЦ";
       Операция.Записать();
   КонецЕсли;

   глГрупповаяОбработка = ?(глГрупповаяОбработка=1,1,ГрупповаяОбработка());
   Если (Константа.ИспользоватьКА = Да) и (глГрупповаяОбработка = 0) и (СтатусВозврата() = 1) Тогда
       Если НапечататьЧек() = 1 Тогда
           ЕстьЧек = 1;
       Иначе
           НеПроводить(Контекст);
       КонецЕсли;
   КонецЕсли;

   РегРез = 0;
   РегОст = 0;
16 lals
 
27.07.12
22:56
Земеля стукнись ко мне в аську!!! Аська в личке
17 Cthulhu
 
27.07.12
23:10
ё. абт-шка ещё живая разве???
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс