|
Работа с массивами | ☑ | ||
---|---|---|---|---|
0
Chuvaschow
01.06.15
✎
19:16
|
Здравствуйте!
Подскажите пожалуйста, куда копать. Есть процедура http://paste.org.ru/?i4865b При выполнении этой процедуры массив МС получается таким http://savepic.ru/7170864.jpg Как сделать некий массив НС, который будет свернут по полю "Номер" ? Чтобы видеть суммы по документу в целом? Или как, на основе этих данных получить суммы по документу (по номеру)? |
|||
1
Aceforg
01.06.15
✎
19:24
|
-Дни.Свернуть("День");
+Дни.Свернуть("Код"); |
|||
2
Chuvaschow
01.06.15
✎
21:35
|
Aceforg
Скажите, вы предлагаете написать еще один цикл Для Каждого День из Дни? Или Дописать к имеющемуся свертыванию еще одно? Через + ? |
|||
3
Chuvaschow
01.06.15
✎
21:40
|
Наверное не "Код", а "Номер", ибо Код - это код номенклатуры из табличной части. А нужно на уровень выше - в целом по документу.
|
|||
4
Chuvaschow
02.06.15
✎
08:17
|
Up
|
|||
5
dubraver
02.06.15
✎
10:00
|
о = ТЗ.Выгрузить("Номер,Сумма");
о.Свернуть("Номер","Сумма"); |
|||
6
Chuvaschow
02.06.15
✎
10:22
|
dubraver
Вы не могли бы привести кусок кода в целом? Дело в том, что если писать еще один цикл, то в том цикле, что уже имеется прописано создание документа в бухгалтерии, и как в него попасть я не знаю... |
|||
7
dubraver
02.06.15
✎
10:33
|
(6) куда попасть? вы скажите в общем какую цель преследуете?
|
|||
8
Chuvaschow
02.06.15
✎
10:40
|
dubraver
Попробую :) Вот выполняем запрос и сворачиваем таблицу в "День" ................ ТЗ = Запрос.Выполнить().Выгрузить(); Дни = ТЗ.Скопировать(); Дни.Свернуть("День"); Вот пошел цикл, в котором для каждого дня мы создаем документ Отчет о розничных продажах Для Каждого День Из Дни Цикл ЗапросБух = Бух.NewObject("Запрос"); ЗапросБух.Текст = "Выбрать Ссылка Из Документ.ОтчетОРозничныхПродажах КАК ОР Где Проведен = Истина И Дата Между &НачалоПериода И &КонецПериода"; ЗапросБух.УстановитьПараметр("НачалоПериода", День.День); ЗапросБух.УстановитьПараметр("КонецПериода", КонецДня(День.День)); Если Не ЗапросБух.Выполнить().Пустой() Тогда Продолжить; КонецЕсли; ............ Если написать еще один цикл помимо вышенаписанного, то получится два документа будет создаваться. Т.е., видимо, нужно как-то сворачивать в рамках этого цикла Для Каждого День Из Дни Цикл Нужно получить таблицу, в которой будет номер документа - сумма по всему документу(без табличных частей,без номенклатуры, в целом). Если я правильно понимаю, такую таблицу нужно сделать в рамках этого цикла. Т.е. массив МС получается свернутым по дню, в нем есть и номер документа, но там табличные части и все в разрезе номенклатура/цена. Свернуть бы этот массив по Номеру документа, просуммировав суммы по табличным частям. Надеюсь понятно объясняю :) |
|||
9
bolobol
02.06.15
✎
10:58
|
Если переименовать ТЗ в Дни, то строка:
Дни = ТЗ.Скопировать(); окажется ненужной. |
|||
10
Chuvaschow
02.06.15
✎
11:13
|
Свернул вот так:
НС = ТЗ.Скопировать(); НС.Свернуть("Номер,ВидПродажи","Сумма,ПКО"); Получил http://savepic.ru/7150235.jpg Получил таблицу значений, не массив. Скажите, можно обрабатывать таблицу значений как и массив циклом Для Каждого Т Из НС Цикл |
|||
11
FireAlex
02.06.15
✎
11:38
|
(10) можно
|
|||
12
Chuvaschow
02.06.15
✎
13:19
|
Будем пробовать, всем спасибо! Навели на мысли :)
|
|||
13
Chuvaschow
02.06.15
✎
20:30
|
Все получилось! Еще раз спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |