| 
    
            
         
         | 
    
  | 
Работа с массивами | ☑ | ||
|---|---|---|---|---|
| 
    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 
 | 
         
        Все получилось! Еще раз спасибо!     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |