Имя: Пароль:
1C
1С v8
Как выбрать обороты по регистраторам из регистра накопления
0 Patrion
 
30.08.16
11:20
Извиняюсь конечно, просто тут тему уже закрыли, задавался вопрос, а зачем, поясняю..

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

Запрос.УстановитьПараметр("НачПериода", НачалоДня(НачПериода));
Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
Запрос.УстановитьПараметр("ВыбСчет", ВыбСчет);


Вот я получаю список документов по счету за период (Конкретно тут, регистр накопления, остатки)
Что я хочу, я хочу получать в запросе сразу не как (Счета.Сумма) на два значения СумПриход и Сумрасход, чтобы располагать в таблице в соответствующих колонках таблицы отчета.. В данном варианте запроса, все естественно грузит в одну колонку, что визуально не приятно.. и не логично..

Я только начинаю изучать 8.3 но честно, несмотря на казалось бы простые решения в 7.7 тут блин приходится попотеть...
1 Зая Бусечка
 
30.08.16
11:22
Используй виртуальную таблицу РегистрНакопления.Счета.Обороты
2 Лефмихалыч
 
30.08.16
11:27
ВЫБРАТЬ
Регистратор, СуммаПриход, СуммаРасход
Из РегистрНакопления.Счета.Обороты(&НачалоПериода,&КонецПеирода,Регистратор,,Счет=&ВыбСчет)


ты просто матчасти не знаешь, по этому и трудно. Какие регистры вообще бывают, какие у них виртуальные таблицы, какие параметры у этих таблиц и как они влияют на результат - вот это вот все надо почитать и понять. А уже потом пальцем в небо тыкать.
3 Patrion
 
30.08.16
11:30
Дык я не спорю.. :) спс, сейчас гляну..
4 Лефмихалыч
 
30.08.16
11:30
да и снеговики с клюшками в голове не лепятся - это давно известно.
Пока ты пытаешься постичь восьмерку с вопросами типа: "а как в v8 делалось вот это семерошное", кроме головной боли, ни чего не получишь. Учиться надо от задач. Например - как в снеговике сделать простую конфигурацию по учету товаров - приход, расход, партионное списания + отчет "Ведомость по партиям". Без оглядки на клюшки.
5 Patrion
 
30.08.16
11:36
Лефмихалыч, Регистратор из "Обороты" точно можно выбрат??? В конструкторе он недоступен...
6 Лефмихалыч
 
30.08.16
11:38
(5) ну, вот я по этому и говорю, что надо тебе узнать где-то какие у регистров бывают виртуальные таблицы, какие параметры у этих таблиц и как они влияют на результат.
Можно выбрат. Периодичност надо правильно указат проста
7 hhhh
 
30.08.16
11:38
(5) значит это

Из РегистрНакопления.Счета.Обороты(&НачалоПериода,&КонецПеирода,Регистратор,,Счет=&ВыбСчет)

ты забыл слово Регистратор тут.

Ну или из вредности выкинул.
8 Лефмихалыч
 
30.08.16
11:40
параметры виртуальных таблиц - очень важная штука. За их игнор в некоторых сообществах бьют иппло...
9 Patrion
 
30.08.16
12:00
Ну вот смотри

Матерится по причине:
{(3, 4)}: Неверные параметры "РегистрНакопления.Счета.Обороты"
Из <<?>>РегистрНакопления.Счета.Обороты(&НачПериода,&КонПеирода,Регистратор,,Счет=&ВыбСчет)

Запрос.Текст =
"ВЫБРАТЬ
|Регистратор, СуммаПриход, СуммаРасход
|Из РегистрНакопления.Счета.Обороты(&НачПериода,&КонПеирода,Регистратор,,Счет=&ВыбСчет)
|СГРУППИРОВАТЬ ПО
|Регистратор";

Запрос.УстановитьПараметр("НачПериода", НачалоДня(НачПериода));
Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
Запрос.УстановитьПараметр("ВыбСчет", ВыбСчет);

РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Заглушка=0;    
КонецЦикла;


Или я что-то не то написал?
10 ptiz
 
30.08.16
12:01
КонПеирода <> КонПериода
11 Mauser
 
30.08.16
12:02
И "сгруппировать по регистратор" выброси
12 Лефмихалыч
 
30.08.16
12:06
КонПеирода
13 Patrion
 
30.08.16
12:40
Дело не в этом вообще, даже если упростить запрос.. все равно выдаст ошибку.. По крайней мере в 8.3 потому что я смотрел конфы ф 8.2 там Регистратор вроде как работает в оборотах..


Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|СуммаПриход, СуммаРасход, Регистратор
|Из РегистрНакопления.Счета.Обороты"

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Заглушка=0;    
КонецЦикла;


итог:  Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(2, 27)}: Поле не найдено "Регистратор"
СуммаПриход, СуммаРасход, <<?>>Регистратор
14 Зая Бусечка
 
30.08.16
12:43
|Из РегистрНакопления.Счета.Обороты(,,Регистратор)
15 ptiz
 
30.08.16
12:58
(13) Правильно советуют - лучше день потерять (почитать документацию), потом за пять минут долететь. Иначе будет бег по граблям.
16 Patrion
 
31.08.16
09:23
Всё, разобрался .. Просто не знал, что в конструкторе, перво наперво нужно настроить параметры виртуальной таблицы, а уже потом все начнет работать и выбор скрытых полей и тд и тп..
Есть вопрос по конструктору.. Настройки - Отчет -Добавление группировки как-то странно.. и (Счет, потом Регистратор) и (Счет потом Детальные записи) при формировании отчета выводит строку где пустое значение документ, но остальные поля заполнены.. как убрать в конструкторе??

http://floomby.ru/s2/qgJGGw
Основная теорема систематики: Новые системы плодят новые проблемы.