|
опять запрос | ☑ | ||
---|---|---|---|---|
0
Domanoff26
21.10.11
✎
10:43
|
есть запросик
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | УчетТоваров.Период КАК Период, | УчетТоваров.Регистратор КАК Регистратор, | УчетТоваров.ВидДвижения, | УчетТоваров.Номенклатура КАК Номенклатура, | УчетТоваров.ХарактеристикаНоменклатуры, | УчетТоваров.Заказ КАК ВнутреннийЗаказ, | УчетТоваров.СерияНоменклатуры, | УчетТоваров.Количество КАК Количество, | УчетТоваров.Заказ.РазделКВ КАК РазделКВ, | УчетТоваров.Заказ.Заказчик КАК Заказчик, | УчетТоваров.Номенклатура.ЕдиницаХраненияОстатков КАК ЕденицаИзмерения |ИЗ | РегистрНакопления.УчетТоваров КАК УчетТоваров |ГДЕ | УчетТоваров.Заказ ССЫЛКА Документ.ВнутреннийЗаказ | И УчетТоваров.Регистратор = &Регистратор | |УПОРЯДОЧИТЬ ПО | Период |ИТОГИ | СУММА(Количество) |ПО | Номенклатура, | ВнутреннийЗаказ" ; Запрос.УстановитьПараметр("Регистратор", ЭтотОбъект.Отбор.Регистратор.Значение); // НачатьТранзакцию(); Результат = Запрос.Выполнить(); ВыборкаНом = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ВыборкаЗак = ВыборкаНом.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); сначало я обойду по последней группировке и если не ноль, сделаю записи в регистр через ЗаполнитьЗначенияСвойств, но нужно еще делать записи в этот регистр когда группировка нулевая,(соответственно буду обходить внутри группировки)но Только тогда КОГДА в группировке две записи (это всегда вообщем будет если она нулевая) и одна с кол>0 размещением типа1, а другая с кол>0 с размещением типа2, НЕ ПОЙМУ ГДЕ И КАК МНЕ НАКЛАДЫВАТЬ ЭТИ УСЛОВИЯ |
|||
1
salvator
21.10.11
✎
10:44
|
Счетчик?
|
|||
2
MatrosoV AleXXXand_R
21.10.11
✎
10:45
|
Что-то я ничего не понял
|
|||
3
Domanoff26
21.10.11
✎
10:49
|
это будет дальше
НаборЗаписей = РегистрыНакопления.ВнутренниеЗаказы.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ЭтотОбъект); НаборЗаписей.Прочитать(); Пока ВыборкаЗак.Следующий() Цикл НоваяЗапись = НаборЗаписей.Добавить(); ЗаполнитьЗначенияСвойств(НоваяЗапись, ВыборкаЗак); НоваяЗапись.СтатусПартии = Перечисления.СтатусыПартийТоваров.Купленный; КонецЦикла; Выборка = ВыборкаЗак.Выбрать(ОбходРезультатаЗапроса.Прямой); Пока Выборка.Следующий() ЦИкл .....(?????????? НоваяЗапись = НаборЗаписей.Добавить(); ЗаполнитьЗначенияСвойств(НоваяЗапись, ВыборкаЗак); НоваяЗапись.СтатусПартии = Перечисления.СтатусыПартийТоваров.Купленный; КонецЦикла; |
|||
4
Domanoff26
21.10.11
✎
10:50
|
(1)Это например?
|
|||
5
Domanoff26
21.10.11
✎
10:56
|
Размещение это измерение , щас добавлю
|
|||
6
Domanoff26
21.10.11
✎
11:05
|
Пока ВыборкаЗак.Следующий() Цикл
НоваяЗапись = НаборЗаписей.Добавить(); ЗаполнитьЗначенияСвойств(НоваяЗапись, ВыборкаЗак); НоваяЗапись.СтатусПартии = Перечисления.СтатусыПартийТоваров.Купленный; //Заполнение как в Требованни накладной Выборка = ВыборкаЗак.Выбрать(ОбходРезультатаЗапроса.Прямой); ТН = 0; Пока Выборка.Следующий() ЦИкл Если (Выборка.Количество <0 И ТИпЗнч(Выборка.Размещение) = Тип("СправочникССылка.Склады")) ИЛИ (Выборка.Количество <0 И (ТИпЗнч(Выборка.Размещение) = Тип("СправочникССылка.Пользователи") или ТИпЗнч(Выборка.Размещение) = Тип("СправочникССылка.ФизическиЛица"))) Тогда ТН = ТН+1; КОнецЕСли; Если (Выборка.Количество <0 И ТИпЗнч(Выборка.Размещение) = Тип("СправочникССылка.Склады")) Тогда ВыборкаТН = Выборка; КонецЕсли; Если TH = 2 Тогда НоваяЗапись = НаборЗаписей.Добавить(); ЗаполнитьЗначенияСвойств(НоваяЗапись, ВыборкаТН); НоваяЗапись.СтатусПартии = Перечисления.СтатусыПартийТоваров.Купленный; КОнецЕсли; КонецЦикла; КонецЦикла; Попытка НаборЗаписей.Записать(); Исключение //Сообщить(ВыборкаРегистратор.РегистраторПредставление); Сообщить(ОписаниеОшибки()); //Предупреждение("Ошибка!"); //ОтменитьТранзакцию(); //Возврат; КонецПопытки; как то коряво( |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |