![]() |
|
Конвертация данных, выгрузка остатков из 77 в 8 | ☑ | ||
---|---|---|---|---|
0
xenos
12.07.12
✎
10:43
|
Создал правило выгрузки данных.
Перед обработкой Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ДатаОкончания по ДатаОкончания; |Товар = Регистр.Товары.Товар; |Количество = Регистр.Товары.Количество; |Стоимость = Регистр.Товары.Стоимость; |Функция КоличествоКонОст = КонОст(Количество); |Функция СтоимостьКонОст = КонОст(Стоимость); |Группировка Товар без групп; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Отказ=1; КонецЕсли; ТЗ=СоздатьОбъект("ТаблицаЗначений"); Запрос.Выгрузить(ТЗ,0,0); ТЗДанные=СоздатьОбъект("ТаблицаЗначений"); ТЗДанные.НоваяКолонка("СчетУчета"); ТЗДанные.НоваяКолонка("Номенклатура"); ТЗДанные.НоваяКолонка("Количество"); ТЗДанные.НоваяКолонка("Сумма"); ТЗДанные.НоваяКолонка("СуммаНУ"); ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку()=1 Цикл ТЗДанные.НоваяСтрока(); ТЗДанные.СчетУчета="ТоварыНаСкладах"; ТЗДанные.Номенклатура=ТЗ.Товар.ТекущийЭлемент(); ТЗДанные.Количество=ТЗ.КоличествоКонОст; ТЗДанные.Сумма=ТЗ.СтоимостьКонОст; ТЗДанные.СуммаНУ=ТЗ.СтоимостьКонОст; КонецЦикла; ИсходящиеДанные =СоздатьОбъект("СписокЗначений"); ИсходящиеДанные.Установить("РазделУчета", "Товары"); ИсходящиеДанные.Установить("Дата", ДатаОкончания); ИсходящиеДанные.Установить("Номер", "00001"); ИсходящиеДанные.Установить("МПЗПриобретенные", ТЗДанные); ВыгрузитьПоПравилу(, , ИсходящиеДанные, , "ОстаткиПоТоварам"); Описан объект: http://s1.ipicture.ru/uploads/20120712/ReRgmVHS.jpg http://s1.ipicture.ru/uploads/20120712/D6OUTc3J.jpg При выгрузке выдает: Ошибка выбора объектов коллекции |
|||
1
andrewks
12.07.12
✎
10:46
|
в ПередОбработкой ты должен определить коллекцию объектов для обхода
|
|||
2
andrewks
12.07.12
✎
10:47
|
либо, если уж всё делаешь тут, тогда не забывай Отказ=1;
|
|||
3
xenos
12.07.12
✎
10:49
|
(1) > ПередОбработкой это где в субъекте или правило выгрузки данных
|
|||
4
andrewks
12.07.12
✎
10:50
|
в ПВД
|
|||
5
xenos
12.07.12
✎
10:54
|
(4)
Я вроде правило конвертации указал или это не то? http://s1.ipicture.ru/uploads/20120712/YJqGhVPz.jpg |
|||
6
xenos
12.07.12
✎
10:56
|
||||
7
andrewks
12.07.12
✎
11:03
|
если указал правило конвертации - будь добр создай и коллекцию для стандартного обхода
|
|||
8
xenos
12.07.12
✎
11:05
|
(7) Извинясь за тупость, что такое: "коллекцию для стандартного обхода"?
|
|||
9
xenos
12.07.12
✎
11:14
|
апап
|
|||
10
xenos
12.07.12
✎
11:18
|
апапап
|
|||
11
andrewks
12.07.12
✎
11:50
|
(8) открой для себя кнопку "Информация по обработчикам"
|
|||
12
elisabet
12.07.12
✎
12:10
|
ВыгрузитьПоПравилу(, , ИсходящиеДанные, , "ОстаткиПоТоварам");
Код правил по остаткам можно увидеть? |
|||
13
xenos
12.07.12
✎
12:21
|
(12) Там его нет
|
|||
14
xenos
12.07.12
✎
12:22
|
Переделал все по другому:
ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений"); ВыборкаДанных.НоваяКолонка("Дата"); ВыборкаДанных.НоваяКолонка("Номер"); ВыборкаДанных.НоваяКолонка("РазделУчета"); ВыборкаДанных.НоваяКолонка("ОтражатьВБухгалтерскомУчете"); ВыборкаДанных.НоваяКолонка("ОтражатьВНалоговомУчете"); ВыборкаДанных.НоваяКолонка("ОтражатьПоСпециальнымРегистрам"); ВыборкаДанных.НоваяКолонка("МПЗПриобретенные"); ////////////////////////////////////////////////////////////// ВыборкаДанных.НоваяСтрока(); ВыборкаДанных.Дата = ДатаОкончания; ВыборкаДанных.Номер = "00001"; ВыборкаДанных.РазделУчета = "Товары"; ВыборкаДанных.ОтражатьВБухгалтерскомУчете=1; ВыборкаДанных.ОтражатьВНалоговомУчете=1; ВыборкаДанных.ОтражатьПоСпециальнымРегистрам=1; ВыборкаДанных.МПЗПриобретенные = СоздатьОбъект("ТаблицаЗначений"); ТЗДанные = ВыборкаДанных.МПЗПриобретенные; Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ДатаОкончания по ДатаОкончания; |Товар = Регистр.Товары.Товар; |Количество = Регистр.Товары.Количество; |Стоимость = Регистр.Товары.Стоимость; |Функция КоличествоКонОст = КонОст(Количество); |Функция СтоимостьКонОст = КонОст(Стоимость); |Группировка Товар без групп; |Условие ((Количество>0) и (Стоимость>0)); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Отказ=1; КонецЕсли; ТЗ=СоздатьОбъект("ТаблицаЗначений"); Запрос.Выгрузить(ТЗ,0,0); //МПЗПриобретенные=СоздатьОбъект("ТаблицаЗначений"); ТЗДанные.НоваяКолонка("НомерСтрокиТЧ"); ТЗДанные.НоваяКолонка("СчетУчета"); ТЗДанные.НоваяКолонка("Номенклатура"); ТЗДанные.НоваяКолонка("Количество"); ТЗДанные.НоваяКолонка("Сумма"); ТЗДанные.НоваяКолонка("СуммаНУ"); НомерСтрокиТЧ=0; ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку()=1 Цикл НомерСтрокиТЧ=НомерСтрокиТЧ+1; ТЗДанные.НоваяСтрока(); ТЗДанные.НомерСтрокиТЧ=НомерСтрокиТЧ; ТЗДанные.СчетУчета="ТоварыНаСкладах"; ТЗДанные.Номенклатура=ТЗ.Товар.ТекущийЭлемент(); ТЗДанные.Количество=ТЗ.КоличествоКонОст; ТЗДанные.Сумма=ТЗ.СтоимостьКонОст; ТЗДанные.СуммаНУ=ТЗ.СтоимостьКонОст; КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |