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

результат запроса

Автор joystas, 13 июл 2015, 14:26

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

mixqn

ну и как в Дельфи имена переменных бывают с пробелами?
если мне память не изменяет, то нет. тут же вы смело используете пробел.
я правда догадался, что вы, вероятно восприняли амперсанд как нечто вроде кавычек - мол все что между 2-мя амперсандами - это 1 параметр.
ничего подобного. амперсанд ставится один раз в начале и после должно быть имя параметра, которое удовлетворяет правилам именования переменных. т.е. должно быть так: &ИмяВашегоПараметра

joystas

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

mixqn

так при чем тут название организации то??
вы же учили дельфи!
допустим, в дельфи переменная:
a:=  'Hello world!';
как видим, там не только пробелы но и черт возьми восклицательный знак! но это, внимание ЗНАЧЕНИЕ переменной, а не ее ИМЯ. чувствуете разницу?

joystas

Цитата: mixqn от 14 июл 2015, 10:29
так при чем тут название организации то??
вы же учили дельфи!
допустим, в дельфи переменная:
a:=  'Hello world!';
как видим, там не только пробелы но и черт возьми восклицательный знак! но это, внимание ЗНАЧЕНИЕ переменной, а не ее ИМЯ. чувствуете разницу?

   Запрос = новый Запрос;
   Запрос.Текст ="ВЫБРАТЬ
                 |   СУММА(НДСЗаписиКнигиПродаж.СуммаБезНДС) КАК СуммаБезНДС,
                 |   НДСЗаписиКнигиПродаж.Покупатель
                 |ИЗ
                 |   РегистрНакопления.НДСЗаписиКнигиПродаж КАК НДСЗаписиКнигиПродаж
                 |ГДЕ
                 |   НДСЗаписиКнигиПродаж.Период МЕЖДУ &НачалоПериода И &КонецПериода
                 |   И НДСЗаписиКнигиПродаж.Покупатель = &ИмпортТехПродукция
                 |   И НДСЗаписиКнигиПродаж.Покупатель = &ОренбургскиеМинералы
                 |   И НДСЗаписиКнигиПродаж.Покупатель = &Технопарк
                 |
                 |СГРУППИРОВАТЬ ПО
                 |   НДСЗаписиКнигиПродаж.Покупатель";                                       
Запрос.УстановитьПараметр("ИмпортТехПродукция",Справочники.Контрагенты.НайтиПоКоду("ИмпортТехПродукция г.Екатеринбург"));
Запрос.УстановитьПараметр("ОренбургскиеМинералы",Справочники.Контрагенты.НайтиПоКоду(" ОренбургскиеМинералы"));
Запрос.УстановитьПараметр("Технопарк",Справочники.Контрагенты.НайтиПоКоду("Технопарк  г.Екатеринбург"));
Запрос.УстановитьПараметр("КонецПериода", КонецМесяца(отчет.КонецПериода));
Запрос.УстановитьПараметр("НачалоПериода", НачалоГода(отчет.НачалоПериода));
выборка=запрос.Выполнить().Выбрать();
   если Выборка.Следующий() тогда
      возврат выборка.СуммаБезНДС;
    
  КонецЕсли
вот так?

mixqn

:D :D :D
мне кажется, или у вас отсутствует желание немного напрячь мозг?
тем более, что я даже писал уже выше об этом: условие по полю Покупатель должны быть перечислены через ИЛИ - ибо вам нужны все 3 клиента. Ваш запрос выдаст пустой результат, ибо вы хотите выбрать такие данные из базы, где Покупатель одновременно равен 3-м значениям. Это невозможно.

ну и НайтиПоКоду("ИмпортТехПродукция г.Екатеринбург")) скорее всего даст пустую ссылку. как-то с трудом верится, что у элемента справочника код "ИмпортТехПродукция г.Екатеринбург". Наименованием это еще может быть, но вот кодом маловероятно.

joystas

 Запрос.УстановитьПараметр("ИмпортТехПродукция",Справочники.Контрагенты.НайтиПоНаименованию("ИмпортТехПродукция г.Екатеринбург"));

написал так, так он выводит сумму толи не по периоду, то ли просто общую сумму

mixqn

он вам выводит сумму по какому-то одному из 3-х контрагентов. я еще в начале темы писал о том, что надо не условие, а цикл использовать для вывода всех результатов запроса.
либо уберите группировку по покупателю. 1 поле если будет - сумма, то и результат в запросе будет 1 - сумма по всем 3-м контрагентам.

joystas

Группировку по покупателю я делаю для того, чтобы в консоли запросов смотреть какие суммы по каким организациям,если его убрать то и будет выводится собственно сумма общая.
"ВЫБРАТЬ
                 |   СУММА(НДСЗаписиКнигиПродаж.СуммаБезНДС) КАК СуммаБезНДС,
                 |   НДСЗаписиКнигиПродаж.Покупатель
                 |ИЗ
                 |   РегистрНакопления.НДСЗаписиКнигиПродаж КАК НДСЗаписиКнигиПродаж
                 |ГДЕ
                 |   НДСЗаписиКнигиПродаж.Период МЕЖДУ &НачалоПериода И &КонецПериода
                 |
                 |СГРУППИРОВАТЬ ПО
                 |   НДСЗаписиКнигиПродаж.Покупатель"
вот в этом запросе получаем правильные данные,
2 504,24
9 958 923,43
11 800,14
602,02
44 970,5
 
а в в другом
10 978,82
38 856 873,06
11 800,14
602,02
44 970,5

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

mixqn

Я не понимаю, о каком первом и о каком втором запросе идёт речь. Так же я не могу понять, что вы хотите складывать в цикле

Отправлено с моего Nexus 5 через Tapatalk


Теги:

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

Рейтинг@Mail.ru

Поиск