Исх. данные: V7.7SQL рел. 25, Win2000/SQL2000sp4, 1CPP.dll v2.0.3.0 Есть регистр партий RG/RA1360 со следующей структурой: Измерения: Товар (тип - спр.Товары), ПрихДокумент (тип – Документ неопределенного вида) Ресурсы: ОстатокТовара, Стоимость, НДС Реквизит: СуммаПродажи Хочу получить некий аналог РегПартий.ВыгрузитьИтоги(тзПартий,1,1) в документе расхода на позицию документа при проведении и списать партии по FIFO. //Код запроса получения итогов по партиям на документ: ЗапросПартий = "SELECT РегПартий.ПрихДокумент [ПрихДокумент $Документ], SUM(РегПартий.ОстатокТовараОстаток) [ОстатокТовара $Число], SUM(РегПартий.СтоимостьОстаток)/SUM(РегПартий.ОстатокТовараОстаток) [Стоимость $Число], SUM(РегПартий.НДСОстаток)/SUM(РегПартий.ОстатокТовараОстаток) [НДС $Число] FROM $РегистрОстатки.ПартииТоваров(:ПозДок~,,Товар =:ТекТовар,(ПрихДокумент),(ОстатокТовара,Стоимость,НДС)) as РегПартий WHERE (РегПартий.ОстатокТовараОстаток > 0) GROUP BY РегПартий.ПрихДокумент ORDER BY РегПартий.ПрихДокумент"; Далее в цикле по товарам расходной: глSQLSession.РежимRPC(1); глSQLSession.УстановитьТекстовыйПараметр("ТекТовар",тзТЧ.Товар); глSQLSession.УстановитьТекстовыйПараметр("ПозДок", СформироватьПозициюДокумента(ПолучитьПозицию(),-1)); глSQLSession.ВыполнитьИнструкцию(ЗапросПартий,тзПартий,1);
Запрос выполняется. Итоги в тзПартий есть. Цифры в целом правильные. НО(!): Т.к. партия-образующие доки разные по виду – приходные, инвентаризация и пр., то в результирующей тзПартий они отсортированы сначала в последовательности видов документов, определенной в конфигураторе, а уже затем – по позиции во времени. (напр,.Инв - я1 Дата1 Инв- я2 Дата2 , ПриходнаяН1 Дата1, ПриходнаяН2 Дата2 …). А хочется по расположить док-ты партий по FIFO во времени. В коде 1с я делал так: тзПартий.НоваяКолонка("Поз1");. тзПартий.НоваяКолонка("Поз2");. … РазобратьПозициюДокумента(тзПартий.ПрихДок.ПолучитьПозицию(),Д,Ч,М,С,); … тзПартий.Поз1 = Д; тзПартий.Поз2 = Ч; … тзПартий.Сортировать("Поз1,Поз2...);
Здесь, IMHO, нужно «order by РегПартий.ПрихДокумент.date_time_iddoc» из RA####, но как позицию «ПрихДокумента» получить в «ЗапросеПартий» – никак не соображу. Если можете, помогите, пожалуйста.
|