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

Хранилище

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

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



> Выборка в отчете          
wmatik Подменю пользователя
сообщение 13.01.12, 14:22
Сообщение #1

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

Образовалась такая проблемка: есть документы "ПланыЗакупок", в которых есть реквизит "КодДК" и "Сумма". Необходимо перебрать все документы за определенный период, сравнить, если есть одинаковые коды, то их сумму сложить. Вот таким способом у меня получается отобрать все коды с суммами, когда я пытаюсь сложить суммы у одинаковых кодов с помощью Табл.Свернуть("КодДК","Сумма") у меня ничего не получается, в чем может быть причина, подскажите пожалуйста

Процедура Сформировать()
    Док = СоздатьОбъект("Документ.ПланЗакупок");

    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    Таб.ВывестиСекцию("Шапка");
    Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);

    Табл = СоздатьОбъект("ТаблицаЗначений");    
    Табл.НоваяКолонка("КодДК");
    Табл.НоваяКолонка("Ответственный");
    Табл.НоваяКолонка("Месяц");
    Табл.НоваяКолонка("Сумма");

    Док.ВыбратьДокументы(НачДата,КонДата);
    Пока Док.ПолучитьДокумент() = 1 Цикл
        Если Док.Проведен() = 0 Тогда
            Продолжить;
        КонецЕсли;
        Док.ВыбратьСтроки();
        Пока Док.ПолучитьСтроку() = 1 Цикл
            Если ПустоеЗначение(Док.КодДК) = 1 Тогда
                Продолжить;
            КонецЕсли;  
            
            Табл.НоваяСтрока();
            Табл.КодДК = Док.КодДК;
            Табл.Сумма = Док.СуммаЗаГод;
            Таб.ВывестиСекцию("Строка_1");

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


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

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

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 957 раз
Рейтинг: 0

А что именно не получается?

wmatik Подменю пользователя
сообщение 13.01.12, 14:41
Сообщение #3

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

Когда я добавляю "Свернуть" у меня не складываются суммы одинаковых кодов, а остается первый встречающийся код с суммой, а остальные строки пустые:
Табл.НоваяСтрока();
Табл.КодДК = Док.КодДК;
Табл.Сумма = Док.СуммаЗаГод;
Табл.Свернуть("КодДК","Сумма");
Таб.ВывестиСекцию( "Строка_1");


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

Voha74 Подменю пользователя
сообщение 13.01.12, 14:44
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 92
Из: Киев
Спасибо сказали: 110 раз
Рейтинг: 0

Эх... После цикла надо ОПЯТЬ открыть свою полученную таблицу, свернуть, только после этого ОПЯТЬ в цикле обойти таблицу и вывести на печать!

nysysimara Подменю пользователя
сообщение 13.01.12, 15:00
Сообщение #5

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

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


Signature
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП)
1С Предприятие 8.3: Бух.предприятия 3.0 + самописка
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Кроме высшего образования, нужно иметь хотя бы среднее соображение

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

wmatik Подменю пользователя
сообщение 13.01.12, 15:06
Сообщение #6

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

спасибо, nysysimara


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

Домовик Подменю пользователя
сообщение 13.01.12, 15:38
Сообщение #7

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

wmatik, заглядывайте в типовые конфигруации, коды отчетов. Такую задачу хорошо сделать Запросом. В типовых отчетах можно найти пример.
Причина редактирования: замість _х_ в повідомленні вказуємо - видалити; Mr. | Можно и х. Вофка.

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

Digeshka Подменю пользователя
сообщение 29.01.12, 15:44
Сообщение #8

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

Цитата(wmatik @ 13.01.12, 14:22) *
//Табл.НоваяКолонка("Сумма");
Табл.НоваяКолонка("Сумма","Число");
Причина редактирования: що це таке?; М-р

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


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

 

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