|
Выгрузка из таблицы значений. | ☑ | ||
---|---|---|---|---|
0
Ikatesgi
03.05.16
✎
15:05
|
В общем есть несколько документов, надо табличные части из всех засунуть в один созданный...
делаю так, но при этом в колонке "количество" образуется космическая цифра из шести знаков. Подскажите что не так? ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Номенклатура"); ТЗ.Колонки.Добавить("Количество"); ТЗ.Колонки.Добавить("Сумма"); Выборка = Документы.РеализацияТоваровУслуг.Выбрать(ДатаНач,КонецДня(ДатаКон)); Пока Выборка.Следующий() цикл ЕСли Выборка.ПометкаУдаления = Ложь Тогда ЕСли Выборка.Контрагент = Контрагент Тогда объектДокумента = выборка.Ссылка.ПолучитьОбъект(); Для Каждого СтрДок Из объектДокумента.Товары Цикл Стр=ТЗ.Добавить(); Стр.Номенклатура = СтрДок.Номенклатура; Стр.Количество = СтрДок.Количество; Стр.Сумма = СтрДок.Сумма; КонецЦикла; КонецЕСлИ; КонецЕсли; конецЦикла; ТЗ.Свернуть("Номенклатура","Сумма,Количество"); СЗ = Новый СписокЗначений; док = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); док.Дата = Датанач; Док.Организация = Организация; Док.Контрагент = Контрагент; Док.ДоговорКонтрагента = Договор; Док.Склад = Склад; док.ВалютаДокумента=Константы.ВалютаРегламентированногоУчета.Получить(); док.мВалютаРегламентированногоУчета =Константы.ВалютаРегламентированногоУчета.Получить(); док.КурсВзаиморасчетов =1; док.КратностьВзаиморасчетов=1; док.ОтражатьВБухгалтерскомУчете=Истина; док.ОтражатьВНалоговомУчете=Истина; док.ОтражатьВУправленческомУчете=Истина; док.ВидОперации=Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия; Док.ВидПередачи=Перечисления.ВидыПередачиТоваров.СоСклада; для каждого СтрТз из ТЗ цикл Если стрТз.количество > 0 Тогда НоваяСтрока = док.Товары.Добавить(); НоваяСтрока.Номенклатура = СтрТз.Номенклатура; НоваяСтрока.ЕдиницаИзмерения = НоваяСтрока.Номенклатура.ЕдиницаХраненияОстатков; НоваяСтрока.Коэффициент =1; НоваяСтрока.Количество = СтрТз.Количество; Константы.ВалютаРегламентированногоУчета.Получить(); НоваяСтрока.Сумма = СтрТз.Сумма; НоваяСтрока.Цена = СтрТз.Сумма/СтрТз.Количество; КонецЕСЛИ; |
|||
1
Fram
03.05.16
✎
15:26
|
Топорно, конечно очень, но в плане кол-ва все верно должно получиться. Подозреваю что есть еще кусок кода, где корень ошибки заложен
|
|||
2
zenik
03.05.16
✎
15:26
|
1. объектДокумента = выборка.Ссылка.ПолучитьОбъект(); - не надо. Получать объект надо только для изменения, для чтения все доступно по ссылке.
2. А проверить количество в ТЗ до того как ее свернуть? Может в каком то документе и забито шестизначное количество.... |
|||
3
Ikatesgi
03.05.16
✎
15:36
|
(1) Топорно, но я только учусь. Это весь код какой есть.
|
|||
4
4St
03.05.16
✎
15:41
|
(0) возможно, в выборку попал документ, созданный этим же кодом в прошлый раз. В нем большие количества.
И раз уж только начинаешь, то потрать ещё немного усилий и сделай то же самое запросом вместо выборки документов. Кода будет меньше, скорость работы вырастет на порядок. |
|||
5
Ikatesgi
03.05.16
✎
15:44
|
(2) 1. Спасибо. запомню.
2. Просто делаю выборку по периоду, и в указанный период есть всего несколько документов, с еденичными значениями по количеству. а в созданном документе миллионы. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |