Форум программистов, компьютерный форум, киберфорум
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
24 / 24 / 1
Регистрация: 11.04.2008
Сообщений: 541
1
1C 8.x

Запрос работает некорректно

05.02.2014, 14:42. Показов 3421. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня запрос:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ВЫБРАТЬ
 ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
 ХозрасчетныйОстатки.Счет КАК СчетРасчетов,
 ВЫБОР
  КОГДА ХозрасчетныйОстатки.Счет.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
    ИЛИ ХозрасчетныйОстатки.СуммаОстатокДт > 0
   ТОГДА ХозрасчетныйОстатки.СуммаОстатокДт
  ИНАЧЕ ХозрасчетныйОстатки.СуммаОстатокКт
 КОНЕЦ КАК Подтверждено
ИЗ
 РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, &Субконто, Организация = &Организация) КАК ХозрасчетныйОстатки
ГДЕ
 ХозрасчетныйОстатки.Субконто1 = &Контрагент
ИТОГИ
 СУММА(Подтверждено)
ПО
 ОБЩИЕ
в таком виде запрос выдает одну сумму, но если я добавлю Субконто2:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
ВЫБРАТЬ
 ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
 ХозрасчетныйОстатки.Счет КАК СчетРасчетов,
 ХозрасчетныйОстатки.Субконто2 КАК Договор,
 ВЫБОР
  КОГДА ХозрасчетныйОстатки.Счет.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
    ИЛИ ХозрасчетныйОстатки.СуммаОстатокДт > 0
   ТОГДА ХозрасчетныйОстатки.СуммаОстатокДт
  ИНАЧЕ ХозрасчетныйОстатки.СуммаОстатокКт
 КОНЕЦ КАК Подтверждено
ИЗ
 РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, &Субконто, Организация = &Организация) КАК ХозрасчетныйОстатки
ГДЕ
 ХозрасчетныйОстатки.Субконто1 = &Контрагент
ИТОГИ
 СУММА(Подтверждено)
ПО
 ОБЩИЕ
то выдается совершенно другая сумма.
Почему так происходит? По идеи ведь вывожу те же самые остатки, единственное в разрезе договоров(Субконто2). Не должен ведь итог измениться...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2014, 14:42
Ответы с готовыми решениями:

Некорректно работает запрос
Таб=создатьобъект("Таблица"); СпрС=создатьобъект("Справочник.Сотрудники");...

Некорректно работает запрос в БД
Добрый день! Делаю голосование на сайте. Для этого id проголосовавшего вношу в таблицу и проверяю...

Запрос на SUM работает некорректно
SELECT Товары.Код, Товары., Sum(Продажи.Сумма) AS , Sum(Поставки.Цена) AS FROM (Товары INNER JOIN...

Некорректно работает Перекрестный запрос
Помогите плиз ламеру ) Есть таблицы: - Сервисы - информация по сервису - Сотрудники -...

7
286 / 186 / 18
Регистрация: 20.02.2012
Сообщений: 926
05.02.2014, 15:19 2
тут играет роль развертка до второго субконто

Добавлено через 2 минуты
была у меня такая трабла... решил таким образом

Кликните здесь для просмотра всего текста
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
        Запрос.Текст="ВЫБРАТЬ
        |   Выборка.Субконто1 КАК Контрагент,
        |   Выборка.СуммаНачальный"+Развернуть+"ОстатокКт,
        |   Выборка.СуммаКонечный"+Развернуть+"ОстатокКт,
        |   ВЫБОР
        |       КОГДА Выборка.СуммаНачальный"+Развернуть+"ОстатокКт > 0
        |               ИЛИ Выборка.СуммаКонечный"+Развернуть+"ОстатокКт > 0
        |           ТОГДА Выборка.СуммаОборотКт
        |       ИНАЧЕ 0
        |   КОНЕЦ КАК СуммаОборотКт,
        |   NULL КАК СтрокаТаблицы
        |ПОМЕСТИТЬ Вт_Ост
        |ИЗ
        |   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет В (&Счет), , "+УсловиеОрг+") КАК Выборка
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Субконто1,
        |   МАКСИМУМ(ХозрасчетныйОстаткиИОбороты.Субконто2.**************) КАК ВидОх,
        |   МАКСИМУМ(ХозрасчетныйОстаткиИОбороты.СуммаНачальный"+Развернуть+"ОстатокКт) КАК СНКР,
        |   МАКСИМУМ(ХозрасчетныйОстаткиИОбороты.СуммаКонечный"+Развернуть+"ОстатокКт) КАК СККР
        |ПОМЕСТИТЬ Вт_****
        |ИЗ
        |   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет В (&Счет), ,"+УсловиеОрг+" ) КАК ХозрасчетныйОстаткиИОбороты
        |
        |СГРУППИРОВАТЬ ПО
        |   ХозрасчетныйОстаткиИОбороты.Субконто1
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   Вт_Ост.Контрагент,
        |   Вт_Ост.СуммаНачальный"+Развернуть+"ОстатокКт КАК СНК,
        |   Вт_Ост.СуммаКонечный"+Развернуть+"ОстатокКт КАК СКК,
        |   Вт_Ост.СуммаОборотКт КАК ОБК,
        |   Вт_****.****,
        |   ВЫБОР
        |       КОГДА Вт_***Ох.***В (&ВидОхСтр7670)
        |           ТОГДА ""7670""
        |       ИНАЧЕ ""*****""
        |   КОНЕЦ КАК Строка
        |ИЗ
        |   Вт_Ост КАК Вт_Ост
        |       ЛЕВОЕ СОЕДИНЕНИЕ Вт_***КАК Вт_***
        |       ПО Вт_Ост.Контрагент = Вт_***.Субконто1";


некоторые вещи я закомментил звездочками, сори
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
05.02.2014, 19:35 3
1. Убрать из параметров &Субконто или передать туда массив с назначением порядка видов субконто.
2. ИТОГИ ПО Контр, Дог либо ГДЕ Договор=&Договор
(У Вас прошло соединение записей Контра с записями по Субконто2)
0
24 / 24 / 1
Регистрация: 11.04.2008
Сообщений: 541
06.02.2014, 07:34  [ТС] 4
Цитата Сообщение от duk337 Посмотреть сообщение
1. Убрать из параметров &Субконто или передать туда массив с назначением порядка видов субконто.
2. ИТОГИ ПО Контр, Дог либо ГДЕ Договор=&Договор
(У Вас прошло соединение записей Контра с записями по Субконто2)
1. В &Субконто я передаю:

ВидыСубконто = Новый Массив();ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные. Контрагенты);ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчет ные.Договоры);Запрос.УстановитьПараметр("&Субконто", ВидыСубконто);

Если убрать &Субконто, ничего не меняется.

2. ИТОГИ ПО Контр, Дог тоже ничего не дают, как сумма была другая так и осталась.... Контрагент у меня получается один, а договоров куча. И если делать ИТОГИ ПО Контр, Дог, то считается итог по каждому договору + общий итог по контрагенту выдает, но итог не тот. ГДЕ Договор=&Договор не могу так написать, т.к. у меня нет договора, мне известен только контрагент

3. У меня соединения вообще нет в запросе, как у меня могло пройти соединение?
Я делаю выборку из одного регистра, где Субконто1 - Контрагенты, а Субконто2 - Договоры контрагентов.

Добавлено через 19 минут
Цитата Сообщение от SonicQ Посмотреть сообщение
тут играет роль развертка до второго субконто

Добавлено через 2 минуты
была у меня такая трабла... решил таким образом

Честно? Не особо уловила вашу идею, можно поподробнее?
0
900 / 877 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
06.02.2014, 10:40 5
Лучший ответ Сообщение было отмечено Оленька как решение

Решение

Цитата Сообщение от Оленька Посмотреть сообщение
Честно? Не особо уловила вашу идею, можно поподробнее?
Допустим имеем такую оборотку:
СубконтоДТКТ
Контрагент1000
Договор 12000
Договор 20100

Ваш первый запрос корректно берет сальдо по контрагенту, а второй будет суммировать все значения.
1
24 / 24 / 1
Регистрация: 11.04.2008
Сообщений: 541
06.02.2014, 10:42  [ТС] 6
в смысле? т.е. по второму запросу у меня будет Дт складывать отдельно и Кт отдельно?
0
286 / 186 / 18
Регистрация: 20.02.2012
Сообщений: 926
06.02.2014, 11:07 7
Лучший ответ Сообщение было отмечено Оленька как решение

Решение

нет, в первом случае у тебя будет = Дт 100, Кт 0, во втором случае Дт 200 Кт 100
1
24 / 24 / 1
Регистрация: 11.04.2008
Сообщений: 541
06.02.2014, 13:08  [ТС] 8
проблему решила следующим образом:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
ВЫБРАТЬ
 ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
 ХозрасчетныйОстатки.Счет КАК СчетРасчетов,
 ХозрасчетныйОстатки.Субконто2 КАК Договор,
 СУММА(ВЫБОР
   КОГДА ХозрасчетныйОстатки.Счет.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
     ИЛИ ХозрасчетныйОстатки.СуммаОстатокДт > 0
    ТОГДА ХозрасчетныйОстатки.СуммаОстатокДт
   ИНАЧЕ -ХозрасчетныйОстатки.СуммаОстатокКт
  КОНЕЦ) КАК Подтверждено
ИЗ
 РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , Организация = &Организация) КАК ХозрасчетныйОстатки
ГДЕ
 ХозрасчетныйОстатки.Субконто1 = &Контрагент
СГРУППИРОВАТЬ ПО
 ХозрасчетныйОстатки.Субконто1,
 ХозрасчетныйОстатки.Счет,
 ХозрасчетныйОстатки.Субконто2
УПОРЯДОЧИТЬ ПО
 Договор
ИТОГИ
 СУММА(Подтверждено)
ПО
 ОБЩИЕ
Запрос в принципе работал верно, просто я к Дт прибавляла Кт , поэтому у меня и выходила другая сумма. Для Кт поставила "-" в запросе и всё стало выходить как надо
Большое всем спасибо, кто помогал. Без вас искала бы свою ошибку как минимум неделю.
0
06.02.2014, 13:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.02.2014, 13:08
Помогаю со студенческими работами здесь

Некорректно работает запрос к БД Access из Excel
Люди, буду очень признателен любому, кто поможет по следующему вопросу. Есть база в Access и...

Запрос по выводу статистики долгов работает некорректно
Всем привет! Стоит задача одним SQL запросом вывести должников со статистикой долгов по каждому:...

Добавил шлюз, но удалённый запрос работает некорректно.
сеть настроил вроде верно, но пропигновать не выходит

Некорректно работает запрос на выход из игры или ее повтор
вообщем в когда сыграешь предлагает еще раз,чтобы я не жал пишет ерор и опять спрашивает буду ли...

Некорректно работает запрос, выбирающий последний курс каждой компании
Есть две таблицы, в одной id компании и имя компании в другой: id компании, время появление новой...

Запрос "Какие грузы перевозил данный корабль" работает некорректно, если груз перевозился несколькими кораблями
Сделал так, как предложили в этой теме. Пробую написать запрос: SELECT Г_Наименование FROM...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru