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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Не выводится секция  (Прочитано 10407 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Мариша
Гость
« : 28-01-2009 13:24 » 

Подскажите, что не правельно, почему вторая секция не выводится?Не понял (выдел красным)
Но Итог между группировками высчитуеться и секция("Итог") выводиться.
в общем мне надо получить выборку ТМЦ по РасходнымНакл и Сумму; по ВозврНакл и Сумму; и разницу между ними. 

   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   //|Контрагенты = Справочник.Контрагенты.ТекущийЭлемент;
   |ТоргПредставитель = Документ.РасходнаяНакладная.ТоргПредставитель;
   |Розница = Документ.РасходнаяНакладная.Розница;
   |ТМЦ = Документ.РасходнаяНакладная.ТМЦ;
   |Касса = Документ.РасходнаяНакладная.Касса;
   |Кво = Документ.РасходнаяНакладная.Кво;
   |Коэффициент = Документ.РасходнаяНакладная.Коэффициент;
   |СуммаСНДС = Документ.РасходнаяНакладная.СуммаСНДС;   
   |ТоргПредставитель1 = Документ.ВозвратнаяНакладная.ТоргПредставитель;
   |ТМЦ1 = Документ.ВозвратнаяНакладная.ТМЦ;
   |Касса1 = Документ.ВозвратнаяНакладная.Касса;
   |Кво1 = Документ.ВозвратнаяНакладная.Кво;
   |Коэффициент1 = Документ.ВозвратнаяНакладная.Коэффициент;
   |СуммаСНДС1 = Документ.ВозвратнаяНакладная.СуммаСНДС;   
   |Функция КвоСумма = Сумма(Кво*Коэффициент);
   |Функция СуммаСНДССумма = Сумма(СуммаСНДС);
   |Функция КвоСумма1 = Сумма(Кво1*Коэффициент1);
   |Функция СуммаСНДССумма1 = Сумма(СуммаСНДС1);
   |Группировка ТМЦ Без групп;
   |Группировка ТМЦ1 Без групп;
   |Условие(ТоргПредставитель в ВыбТорг);
   |Условие(Касса в ВыбКасса);
   |Условие(ТоргПредставитель1 в ВыбТорг);
   |Условие(Касса1 в ВыбКасса);
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
      Возврат;
   КонецЕсли;
   
   // Подготовка к заполнению выходных форм данными запроса
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Сформировать");
   // Заполнение полей "Заголовок"
   Таб.ВывестиСекцию("Заголовок");
   Состояние("Заполнение выходной таблицы...");
   Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
   Пока Запрос.Группировка("ТМЦ") = 1 Цикл
      // Заполнение полей ТоргПредставитель по док РасходнНакл
      Если Запрос.КвоСумма=0 Тогда
         Продолжить;
            КонецЕсли;   
      ЦенасНДС=Запрос.СуммаСНДССумма/Запрос.КвоСумма;
         Таб.ВывестиСекцию("ТоргПредставитель");
         
   Пока Запрос.Группировка("ТМЦ1") = 1 Цикл
      // Заполнение полей ТП по документам ВозврНакл
               Если Запрос.КвоСумма1=0 Тогда
         Продолжить;
      ЦенасНДС1=Запрос.СуммаСНДССумма1/Запрос.КвоСумма1; 
           Таб.ВывестиСекцию("ТП");
          КонецЕсли;
       КонецЦикла;
    КонецЦикла;
   // Заполнение полей "Итого"
   Итог=Запрос.СуммаСНДССумма-Запрос.СуммаСНДССумма1;
   Таб.ВывестиСекцию("Итого");
Записан
Kivals
Модератор

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

WWW
« Ответ #1 : 28-01-2009 15:23 » 

Поставь правильно отступы - и все сразу станет понятно:
Код:
	Если Запрос.КвоСумма1=0 Тогда
Продолжить;
ЦенасНДС1=Запрос.СуммаСНДССумма1/Запрос.КвоСумма1;
Таб.ВывестиСекцию("ТП");
КонецЕсли;
В общем - аккуратность в написании кода еще никому не вредила....
Записан
Мариша
Гость
« Ответ #2 : 29-01-2009 10:25 » 

Отформатировала весь модуль, не выводится!!
Записан
Sla
Команда клуба

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

WWW
« Ответ #3 : 29-01-2009 11:09 » 

Мариша, читай по строкам
Код:
1. 	Если Запрос.КвоСумма1=0 Тогда //Условие
2. Продолжить; //Это значит продолжить цикл, т.е прыгнуть на продолжение цикла
3. ЦенасНДС1=Запрос.СуммаСНДССумма1/Запрос.КвоСумма1; //Дальше ЭТО выполняться НЕ БУДЕТ
Таб.ВывестиСекцию("ТП"); //Это то же не работает!!!
КонецЕсли;
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Kivals
Модератор

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

WWW
« Ответ #4 : 29-01-2009 15:11 » 

Мариша, порадовала Улыбаюсь
Я не говорил что при форматировании что-то поменяется для интерпретатора Улыбаюсь - просто тебе будет легче видеть структуру и находить логические ошибки. Объяснение ошибки уже написал Sla.
Записан
Мариша
Гость
« Ответ #5 : 29-01-2009 16:57 » 

Если я правильно поняла надо было написать так:
                        Если Запрос.КвоСумма1=0 Тогда
            ЦенасНДС1=Запрос.СуммаСНДССумма1/Запрос.КвоСумма1; 
            Таб.ВывестиСекцию("ТП");
            Продолжить;
         КонецЕсли;
Но и так не работает!
И, почему тогда это выполняется и выводится??? //Первое условие работает! Почему?
Если Запрос.КвоСумма=0 Тогда
         Продолжить;
            КонецЕсли;   
      ЦенасНДС=Запрос.СуммаСНДССумма/Запрос.КвоСумма;
         Таб.ВывестиСекцию("ТоргПредставитель");
Записан
Kivals
Модератор

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

WWW
« Ответ #6 : 29-01-2009 17:39 » 

Ну и где здесь отформатированный текст?Не понял  Я зол!
Записан
Мариша
Гость
« Ответ #7 : 29-01-2009 20:14 » 

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

Не сердись!  Улыбаюсь
И все таки, где ОШИБКА? Подскажи, пожалуйста!
Записан
Sla
Команда клуба

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

WWW
« Ответ #8 : 30-01-2009 05:39 » 

Мариша, а что показывает отладчик на Запрос.КвоСумма1 Может там действительно не ноль.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Kivals
Модератор

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

WWW
« Ответ #9 : 30-01-2009 06:32 » 

Не считай занудством, но отформатируй также первое условие (которое работает) и поставь их рядом. Никакой разницы не замечаешь?
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines