7.7 Не отображаются данные после сворачивания

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем M a x i m, 3 фев 2009.

  1. TopicStarter Overlay
    M a x i m
    Offline

    M a x i m Опытный в 1С

    Регистрация:
    6 окт 2008
    Сообщения:
    212
    Симпатии:
    0
    Баллы:
    26
    Добрый день
    Я когда это делаю
    Код:
    //сворачиваем Таблицу Значений в зависимости от флажков на ПоказПрихода и ПоказРасхода (т.е. объединяем повторяющиеся записи по Наименованию)
    Если (ПоказПрихода=1) и (ПоказРасхода=1) Тогда
    ТЗ.Свернуть("Наименование","ЕдИзм,НачОст,Выпуск,Возврат,ВсегоПриход,Сухарь,Мочка,Раздача,Реализация,ВсегоРасход,Остаток,ПередачаСмены");
    ИначеЕсли (ПоказПрихода=1) и (ПоказРасхода<>1) Тогда
    ТЗ.Свернуть("Наименование","ЕдИзм,НачОст,Выпуск,Возврат,ВсегоПриход");
    ИначеЕсли (ПоказПрихода<>1) и (ПоказРасхода=1) Тогда
    ТЗ.Свернуть("Наименование","ЕдИзм,Сухарь,Мочка,Раздача,Реализация,ВсегоРасход");
    КонецЕсли;
    
    
    теряются значения колонок:Сухарь,Мочка,Раздача,Реализация,ВсегоРасход,Остаток,ПередачаСмены
    Без сворачивания все отображается, но некрасиво ессно
    Кажется все уже проверил.
    Подскажите, где могут быть подводные камни, а то я уже :unsure:
  2. alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Код:
    ТЗ.Свернуть("Наименование","ЕдИзм,НачОст,Выпуск,Возврат,ВсегоПриход,Сухарь,Мочка,Раздача,Реализация,ВсегоРасход,Остаток,ПередачаСмены");
    
    //не там запятая стоит!
    
    ТЗ.Свернуть("Наименование,ЕдИзм,НачОст,Выпуск,Возврат,ВсегоПриход,Сухарь,Мочка,Раздача,Реализация","ВсегоРасход,Остаток,ПередачаСмены");
    
    
  3. TopicStarter Overlay
    M a x i m
    Offline

    M a x i m Опытный в 1С

    Регистрация:
    6 окт 2008
    Сообщения:
    212
    Симпатии:
    0
    Баллы:
    26
    не помогло :(


    Интересно, что так:
    Код:
    ТЗ.Свернуть("Наименование","ЕдИзм,Сухарь,Мочка,Раздача,Реализация,ВсегоРасход");
    
    
    все получается, но только по расходу.

    С приходом вообще нет проблем никаких.
  4. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    При свертке в первой паре кавычек показываем по каким параметрам свертываем, во вторых что свертываем (здесь только числа должны быть). Из приведенного кода не видно структуру таблицы. Покажите часть таблицы или структуру опишите.
  5. alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
  6. TopicStarter Overlay
    M a x i m
    Offline

    M a x i m Опытный в 1С

    Регистрация:
    6 окт 2008
    Сообщения:
    212
    Симпатии:
    0
    Баллы:
    26
    конечно
    Код:
    //СОЗДАДИМ ВИРТУАЛЬНУЮ ТАБЛИЦУ ЗНАЧЕНИЙ
    ТЗ=СоздатьОбъект(\"ТаблицаЗначений\");
    ТЗ.НоваяКолонка(\"Наименование\"); //Формируем структуру ТЗ
    ТЗ.НоваяКолонка(\"ЕдИзм\");
    Если ПоказПрихода=1 Тогда //если \"Показ прихода\"
    ТЗ.НоваяКолонка(\"НачОст\");
    ТЗ.НоваяКолонка(\"Выпуск\");
    ТЗ.НоваяКолонка(\"Возврат\");
    ТЗ.НоваяКолонка(\"ВсегоПриход\");  
    КонецЕсли;
    Если ПоказРасхода=1 Тогда //если \"Показ расхода\"
    ТЗ.НоваяКолонка(\"Сухарь\");
    ТЗ.НоваяКолонка(\"Мочка\");
    ТЗ.НоваяКолонка(\"Раздача\");
    ТЗ.НоваяКолонка(\"Реализация\");
    ТЗ.НоваяКолонка(\"ВсегоРасход\");
    КонецЕсли;
    Если (ПоказПрихода=1) и (ПоказРасхода=1) Тогда
    ТЗ.НоваяКолонка(\"Остаток\");
    ТЗ.НоваяКолонка(\"ПередачаСмены\");
    КонецЕсли;                    
    
    
    
    

    т.е. у меня вроде правильно
    мне суммировать надо по всем, кроме Наименования и ЕдИзм

    в коде в скобках слэшей нету - я не знаю откуда они и зачем появляются
  7. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Если сворачивать нужно по номенклатуре и едизм, тогда как минимум так должно быть:
    Код:
    ТЗ.Свернуть("Наименование,ЕдИзм","НачОст,Выпуск,Возврат,ВсегоПриход,Сухарь,Мочка,Раздача,Реализация,ВсегоРасход,Остаток,ПередачаСмены");
    
    Ну и в других строках соответственно.
    А по алгоритму создания тз колонки создаются не числовые, а неопределенного типа. И если в ходе заполнения тз строками некоторые значения пропускаются, то суммирование нормально проходить не будет.

    Попробуйте создавать колнки так:
    Код:
    ТЗ.НоваяКолонка("Сухарь","Число",10,2);//ну или другие параметры нужные
    
    
  8. TopicStarter Overlay
    M a x i m
    Offline

    M a x i m Опытный в 1С

    Регистрация:
    6 окт 2008
    Сообщения:
    212
    Симпатии:
    0
    Баллы:
    26
    Указывать тип значений в колонке - похоже это помогло.
    Спасибо, я даже не знал, что так делается. Так красивее вообще выглядит и логичнее.

    p.s. Я недавно курсы по Базовым объектам прошел - там учили делать примерно так:
    Код:
    //ПОКАЖЕМ РЕАЛИЗАЦИЮ
    Док=СоздатьОбъект("Документ.РеализацияПродукции");
    Док.ВыбратьДокументы(НачДата,КонДата);
    Пока Док.ПолучитьДокумент()=1 Цикл
    Док.ВыбратьСтроки();
    Пока Док.ПолучитьСтроку()=1 Цикл
    ТЗ.НоваяСтрока();
    ТЗ.Наименование=Док.Товар;
    ТЗ.ЕдИзм=Док.ЕдиницаИзмерения;
    ТЗ.Сухарь=0;
    ТЗ.Мочка=0;
    ТЗ.Раздача=0;
    ТЗ.Реализация=Док.Количество;
    ТЗ.ВсегоРасход=Док.Количество;
    Если ПоказПрихода=1 Тогда//нужно для вычислений остатка
    ТЗ.ВсегоПриход=0;
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;//отбор реализации 
    
    
    
    
    т.е. нули ставить там, где данные в данный момент не забиваются, но по этим колонкам будет суммирование

Поделиться этой страницей