Имя: Пароль:
1C
1С v8
помогите с КД выгрузка партий товаров.
0 zladenuw
 
16.03.12
13:24
Сделал такую выборку. как правильней добавить записи в тз Табличнаячасть. нужно ли пересоздавать в выборке.

//*******************************************
Процедура Сформировать()
ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений");
ВыборкаДанных.НоваяКолонка("Дата");
ВыборкаДанных.НоваяКолонка("Фирма");
ВыборкаДанных.НоваяКолонка("Склад");
ВыборкаДанных.НоваяКолонка("Поставщик");
ВыборкаДанных.НоваяКолонка("КатегорияЦен");
ВыборкаДанных.НоваяКолонка("ВидОстатков");
ВыборкаДанных.НоваяКолонка("Статус");
ВыборкаДанных.НоваяКолонка("ВидТоваров");
ВыборкаДанных.НоваяКолонка("ВидНДС");
 
ВыборкаДанных.НоваяКолонка("ТабличнаяЧасть");

ВыборкаДанных.НоваяСтрока();
ВыборкаДанных.Дата = ДатаОкончания; //ДатаОкончания - реквизит обработки "Выгрузка данных"
ВыборкаДанных.ТабличнаяЧасть = СоздатьОбъект("ТаблицаЗначений");

ТабличнаяЧасть = ВыборкаДанных.ТабличнаяЧасть;
ТабличнаяЧасть.НоваяКолонка("Товар");
ТабличнаяЧасть.НоваяКолонка("Кво");
ТабличнаяЧасть.НоваяКолонка("Ед");
ТабличнаяЧасть.НоваяКолонка("Коэффициент");
ТабличнаяЧасть.НоваяКолонка("ЦенаБезНДС");
ТабличнаяЧасть.НоваяКолонка("ЦенаСНДС");
ТабличнаяЧасть.НоваяКолонка("СуммаБезНДС");
ТабличнаяЧасть.НоваяКолонка("СуммаСНДС");
ТабличнаяЧасть.НоваяКолонка("ЦенаБезНДСРеал");
ТабличнаяЧасть.НоваяКолонка("ЦенаСНДСРеал");
ТабличнаяЧасть.НоваяКолонка("СуммаБезНДСРеал");
ТабличнаяЧасть.НоваяКолонка("СуммаСНДСРеал");



Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Партии)
|Период с (ДатаОкончания) по (ДатаОкончания);
|Фирма = Регистр.ПартииТоваров.Фирма;
|Поставщик = Регистр.ПартииТоваров.Поставщик;
|МестоХранения = Регистр.ПартииТоваров.МестоХранения;
|Товар = Регистр.ПартииТоваров.Товар;
|Статус = Регистр.ПартииТоваров.Статус;
|Поставка = Регистр.ПартииТоваров.Поставка;
|ПрихДокумент = Регистр.ПартииТоваров.ПрихДокумент;
|ОстатокТовара = Регистр.ПартииТоваров.ОстатокТовара;
|Стоимость = Регистр.ПартииТоваров.Стоимость;
|ПродСтоимость = Регистр.ПартииТоваров.ПродСтоимость;
|НДС = Регистр.ПартииТоваров.НДС;
|Функция ОстатокТовараКонОст = КонОст(ОстатокТовара);
|Группировка Фирма;
|Группировка Поставщик;
|Группировка МестоХранения;
|Группировка Товар;
|"//}}ЗАПРОС
;

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
   Отказ = 1;
   Возврат; //В 8.0/8.1 Возврат использовать нельзя!
КонецЕсли;

Пока Запрос.Группировка(1) = 1 Цикл
   Пока Запрос.Группировка(2) = 1 Цикл
       Пока Запрос.Группировка(3) = 1 Цикл
           Пока Запрос.Группировка(4) = 1 Цикл
           ТабличнаяЧасть.НоваяСтрока();
           ТабличнаяЧасть.Товар        = Запрос.Номенклатура;        
           ТабличнаяЧасть.Кво        = Запрос.ОстатокТовараКонОст;
           //ТабличнаяЧасть.Ед          =
           //ТабличнаяЧасть.Коэффициент;
           //ТабличнаяЧасть.ЦенаБезНДС;
           //ТабличнаяЧасть.ЦенаСНДС;
           //ТабличнаяЧасть.СуммаБезНДС;
           //ТабличнаяЧасть.СуммаСНДС;
           //ТабличнаяЧасть.ЦенаБезНДСРеал;
           //ТабличнаяЧасть.ЦенаСНДСРеал;
           //ТабличнаяЧасть.СуммаБезНДСРеал;
           //ТабличнаяЧасть.СуммаСНДСРеал;
           КонецЦикла;
       КонецЦикла;
   КонецЦикла;
КонецЦикла;
КонецПроцедуры