Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 13:46

Долг контрагента!

Автор SpiritDark, 18 ноя 2011, 14:25

0 Пользователей и 1 гость просматривают эту тему.

SpiritDark

Подскажите плз!!! Вложил скриншот, посмотрите плз!! Смысл таков. Сделал отчет по контрагентам, данные берутся с регистра накопления. При выводе отчета по партиям показываются долги контрагента. Нужно что бы с каждой новой партией долг увеличивался на предыдущий, а у меня просто показывает какой долг на данную партию. Помогите плз, как это сделать???  :dfbbdrfb: :dfbbdrfb: :dfbbdrfb:

Андрей Федотов

Сделайте итоги по контрагенту.
С уважением,
Андрей Федотов
Future IT Solutions

SpiritDark

Делал. Он только в итог отображается в конце. А надо что бы во второй строке вместо 2 420 было 2 420 + 55

Dethmontt

Так сгруппируйте партии не по документам!!!!!!!!!!!!!!!!!!!!!!!Ё
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Dethmontt

А документы сделайте в расшифровке
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Spiriton

Ребят можно плз сюда пример запроса!!!!!!!!!!!!!!!!!!!!

Spiriton

Вот пример запроса: 
Макет = Отчеты.ВедомостьПоКонтрагентам.ПолучитьМакет("Макет1");
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ДолгКонтрагентаОстаткиИОбороты.Контрагенты,
      |   ДолгКонтрагентаОстаткиИОбороты.ДолгНаш,
      |   ДолгКонтрагентаОстаткиИОбороты.Долг,
      |   ДолгКонтрагентаОстаткиИОбороты.СуммаДолгаКонечныйОстаток КАК СуммаДолгаКонечныйОстаток,
      |   ДолгКонтрагентаОстаткиИОбороты.Партия.Ссылка,
      |   ВЫБОР
      |      КОГДА ДолгКонтрагентаОстаткиИОбороты.СуммаДолгаКонечныйОстаток > 0
      |         ТОГДА ДолгКонтрагентаОстаткиИОбороты.СуммаДолгаКонечныйОстаток
      |   КОНЕЦ КАК УменьшениеДолга,
      |   ВЫБОР
      |      КОГДА ДолгКонтрагентаОстаткиИОбороты.СуммаДолгаКонечныйОстаток < 0
      |         ТОГДА -ДолгКонтрагентаОстаткиИОбороты.СуммаДолгаКонечныйОстаток
      |   КОНЕЦ КАК УвеличениеДолга,
      |   ДолгКонтрагентаОстаткиИОбороты.Партия.Долги,
      |   ВЫБОР
      |      КОГДА ДолгКонтрагентаОстаткиИОбороты.Партия.Долги > 0
      |         ТОГДА ДолгКонтрагентаОстаткиИОбороты.Партия.Долги
      |   КОНЕЦ КАК НашДолг,
      |   ВЫБОР
      |      КОГДА ДолгКонтрагентаОстаткиИОбороты.Партия.Долги < 0
      |         ТОГДА -ДолгКонтрагентаОстаткиИОбороты.Партия.Долги
      |   КОНЕЦ КАК ДолгКонтрагента
      |ИЗ
      |   РегистрНакопления.ДолгКонтрагента.ОстаткиИОбороты КАК ДолгКонтрагентаОстаткиИОбороты
      |ГДЕ
      |   ДолгКонтрагентаОстаткиИОбороты.Контрагенты = &Контрагент
      |   И ДолгКонтрагентаОстаткиИОбороты.Фирма = &Фирма
      |   И ДолгКонтрагентаОстаткиИОбороты.Партия.Дата МЕЖДУ &ДатаОт И &ДатаДо
      |ИТОГИ
      |   СУММА(УменьшениеДолга),
      |   СУММА(УвеличениеДолга),
      |   СУММА(НашДолг),
      |   СУММА(ДолгКонтрагента)
      |ПО
      |   ОБЩИЕ
      |АВТОУПОРЯДОЧИВАНИЕ";

      
      Запрос.УстановитьПараметр("ДатаДо", ДатаДо);
   Запрос.УстановитьПараметр("ДатаОт", ДатаОт);
   Запрос.УстановитьПараметр("Контрагент", Контрагент);
   Запрос.УстановитьПараметр("Фирма", Фирма);

   Результат = Запрос.Выполнить();

   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
   ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
   ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
   ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");
   ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
   
   ОбластьОбщийИтог.Параметры.ДолгМинус = ДолгМинус;
   ОбластьОбщийИтог.Параметры.ДолгПолюс = ДолгПолюс;

   ТабДок.Очистить();
   ТабДок.Вывести(ОбластьЗаголовок);
   ТабДок.Вывести(ОбластьШапкаТаблицы);
   ТабДок.НачатьАвтогруппировкуСтрок();

   ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

   ВыборкаОбщийИтог.Следующий();      // Общий итог
   ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
   ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

   ВыборкаДетальныеЗаписи = ВыборкаОбщийИтог.Выбрать();

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
      ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
   КонецЦикла;

   ТабДок.ЗакончитьАвтогруппировкуСтрок();
   ТабДок.Вывести(ОбластьПодвалТаблицы);
   ТабДок.Вывести(ОбластьПодвал);

   //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
Ребят что прописать что бы он после каждого долга плюсовал предыдущий и выводил в колонке????

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск