Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Итог по колонке в запросе          
wmatik Подменю пользователя
сообщение 22.08.11, 14:00
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0

1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)

Не корректно выводится сумма:
Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;

    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |КодДК = Документ.ПланЗакупок.КодДК;  
    |Закупки = Документ.ПланЗакупок.Закупки;    
    |Примечание = Документ.ПланЗакупок.Примечание;
    |СуммаЗаГод = Документ.ПланЗакупок.СуммаЗаГод;  
    |Функция Всего = Сумма(СуммаЗаГод);
    |Группировка КодДК;
    |Группировка Примечание;
    |"//}}ЗАПРОС
;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
    

        
    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        Если (ПустоеЗначение(ВыбКод) = 0)и((Лев(СокрЛП(Запрос.КодДК),СтрДлина(СокрЛП(ВыбКод))) <> СокрЛП(ВыбКод))или(СтрДлина(СокрЛП(ВыбКод))>СтрДлина(СокрЛП(Запрос.КодДК)))) Тогда
            Продолжить;
        КонецЕсли;
        ТекДок = Запрос.КодДК; // Заполнение полей КодДК
        Закупки = Запрос.Закупки;
        
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей Примечание
            ТекПрим = Запрос.Примечание;
            СуммаЗаГод = Запрос.СуммаЗаГод;
            
            Таб.ВывестиСекцию("Секция_1");
            Итог = Запрос.Всего;
        КонецЦикла;
    КонецЦикла;

    Таб.ВывестиСекцию("Итог");

    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры


Подскажите, что не так

Когда выводу просто месяц, считает правильно,а вот когда указываю чтобы выводил определенный код считает неправильно, может условие выставить, только вот как...


Signature
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)

kalyamov Подменю пользователя
сообщение 22.08.11, 14:28
Сообщение #2

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 186
Спасибо сказали: 31 раз
Рейтинг: 0

А не пробовали вместо
    Если (ПустоеЗначение(ВыбКод) = 0)и((Лев(СокрЛП(Запрос.КодДК),СтрДлина(СокрЛП(ВыбКод))) <> СокрЛП(ВыбКод))или(СтрДлина(СокрЛП(ВыбКод))>СтрДлина(СокрЛП(Запрос.КодДК)))) Тогда
            Продолжить;
    КонецЕсли;

добавить в запрос условие
    | Условие (КодДК = ВыбКод);

и тут наверное так
    Итог =Итог+ Запрос.Всего;




А наверное даже так :
    Итог = Итог +Запрос.СуммаЗаГод;

Спасибо сказали: wmatik,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 20.09.24, 5:27
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!