Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: из регистра ПРОДАЖИ вывести ПРОДАЖНУЮ СТОИМОСТЬ  (Прочитано 4980 раз)
0 Пользователей и 1 Гость смотрят эту тему.
evairian
Гость
« : 22-10-2009 12:56 » 

Здравствуйте, подскажите, как правильно сделать. Мне нужно из регистра ПРОДАЖИ вывести ПРОДАЖНУЮ СТОИМОСТЬ. Выводит совсем не то.

Процедура  ВыводНом(ТМЦ,ТЗ,ТекЦена,Таб,РегПродажи,ПродСтоимость)
   Для сч = 1 по ТЗ.КоличествоСтрок() Цикл
      ТЗ.ПолучитьСтрокуПоНомеру(сч);
      Если ТЗ.Родитель = ТМЦ Тогда
      Иначе
         Продолжить;
      КонецЕсли;
      
   Если тз.ТМЦ.ЭтоГруппа() = 1 Тогда
      Если тз.ТМЦ.МинЦена <>0 Тогда
          ТекЦена = тз.ТМЦ.МинЦена;
          ПродСтоимость = РегПродажи.ПродСтоимость;
      КонецЕсли;      
      Таб.ВывестиСекцию("Группа" + тз.Уровень);
         ВыводНом(тз.ТМЦ,ТЗ,ТекЦена,Таб,РегПродажи,ПродСтоимость);
   Иначе          
       Таб.ВывестиСекцию("Строка" + тз.Уровень);
   КонецЕсли;
         КонецЦикла;
      
КонецПроцедуры  

Процедура Сформировать()
   Перем Запрос, ТекстЗапроса, Таб;
   //Создание объекта типа Запрос
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Номенклатура = Справочник.Номенклатура.ТекущийЭлемент;
   |Наименование = Справочник.Номенклатура.Наименование;
   |МинЦена = Справочник.Номенклатура.МинЦена;
   |Группировка Номенклатура упорядочить по Номенклатура.Наименование;
   |"//}}ЗАПРОС
   ;

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

        |"//}}ЗАПРОС
       ;
      Если Запр.Выполнить(ТекстЗапроса) = 0 Тогда
      Возврат;
   КонецЕсли;
    
       РегПродажи = СоздатьОбъект("Регистр.Продажи");
       РегПродажи.ВыбратьИтоги();
  
Пока РегПродажи.ПолучитьИтог() = 0 Цикл
    ПродСтоимость = РегПродажи.ПродСтоимость;
        //Сообщить("ПродСтоимость " + Строка(РегПродажи.ПродСтоимость));
КонецЦикла;

   Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("НаименованиеГруппа");  
    Таб.ВывестиСекцию("Заголовок");
  

   ТЗ = СоздатьОбъект("ТаблицаЗначений");
   ТЗ.НоваяКолонка("Уровень", "Число");
   ТЗ.НоваяКолонка("Родитель", "Справочник.Номенклатура");
    ТЗ.НоваяКолонка("ТМЦ" ,"Справочник.Номенклатура");
  
      
    Пока (Запрос.Группировка(("Номенклатура")) = 1) Цикл
      
              ТМЦ = Запрос.Номенклатура;
            ТЗ.НоваяСтрока();
            ТЗ.Уровень = ТМЦ.Уровень();
            ТЗ.Родитель = ТМЦ.Родитель;
            ТЗ.ТМЦ = ТМЦ;  
          
            
   КонецЦикла;

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

Это то, что есть, нужно что-то исправить. Помогите, пожалуйста.
« Последнее редактирование: 25-10-2009 18:23 от Sel » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 23-10-2009 13:29 » 

1. Конфигурация? Структура регистра продажи?
2. Текст программы - в теги code
3. Что именно выводит "НЕ ТО"?
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines