Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
16 Июл 2019, 06:58
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: как избежать многократного завышения ресурса (остатка) при левом соединении ?  (Прочитано 99 раз)

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

Оффлайн Lun

  • *
  • Сообщений: 39
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2017-10-23
  • Сайт: 
  • Профессия: Бухгалтер
Подскажите, пожалуйста, как избежать многократного завышения ресурса при левом соединении ?
Привожу запрос цель которого сформировать остатки по дебету счета &счет_ост и выбрать для него записи по погашению, т.е. проводки Дт * (не этот счет) Кт (&счет_ост).
Запрос делает следующее:
1) формируется ВТ ОстаткиДт - таблица остатков,
2) формируется ВТ ОперацииКт - это операции по погашению,
3) формируется целевая таблица = (1) левое соединение с (2).
В итоге формируется таблица и с остатками и с проводками погашения.
Проблема в том, что исходный остаток Ост_Дт_ориг попадая в запрос (3) как поле Ост_Дт многократно суммируется столько раз, сколько присоединяется правая часть(оно и понятно - это левая таблица соединения), а мне нужно, чтобы оно не суммировалось.
Для этого я поставил в СКД роли остатков (поле Ост_Дт), у счет, субконто1, субконто2 - роль измерения.
Все остальные поля - оставил без ролей (даже регистратор, который был периодом).
Все равно остаток ост_Дт суммируется и поэтому оказывается завышенным.
Если при всем этом из запроса (3) выкинуть левое соединение, то остаток получается правильным.
Вопрос1 - Не могли бы Вы подсказать, как избежать суммирования остатков в целевом запросе ?
Вопрос2 - из всех полей остатков в СКД для проставления ролей доступны только поля запроса (3) - Ост_Дт, Ост_Кт,  Ост_ДтВ, Ост_КтВ, т.е. по именам запроса (1) эти поля для проставления ролей недоступны. Так и должно быть ?


ВЫБРАТЬ
ХозрасчетныйОстатки.Счет КАК Счет_Ост_ориг,
ХозрасчетныйОстатки.Субконто1 КАК Субконто1_ост_ориг,
ХозрасчетныйОстатки.Субконто2 КАК Субконто2_ост_ориг,
ХозрасчетныйОстатки.СуммаОстатокДт КАК Ост_Дт_ориг,
ХозрасчетныйОстатки.СуммаОстатокКт КАК Ост_Кт_ориг,
ХозрасчетныйОстатки.ВалютнаяСуммаОстатокДт КАК Ост_ДтВ_ориг,
ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт КАК Ост_КтВ_ориг
ПОМЕСТИТЬ ОстаткиДт
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОстатка, Счет В ИЕРАРХИИ (&счет_ост), , ) КАК ХозрасчетныйОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ХозрасчетныйДвиженияССубконто.Регистратор КАК регистратор,
ХозрасчетныйДвиженияССубконто.СчетДт,
ХозрасчетныйДвиженияССубконто.СчетКт,
ХозрасчетныйДвиженияССубконто.СубконтоДт1,
ХозрасчетныйДвиженияССубконто.СубконтоДт2,
ХозрасчетныйДвиженияССубконто.СубконтоКт1,
ХозрасчетныйДвиженияССубконто.СубконтоКт2,
ХозрасчетныйДвиженияССубконто.Период,
ХозрасчетныйДвиженияССубконто.Сумма КАК Сумма_оп,
ХозрасчетныйДвиженияССубконто.ВалютнаяСуммаКт КАК СуммаВалКт_оп
ПОМЕСТИТЬ ОперацииКт
ИЗ
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
&НачальнаяДатаОпераций,
&КонечнаяДатаОпераций,
СчетКт В ИЕРАРХИИ (&счет_оп)
И НЕ СчетДт В ИЕРАРХИИ (&счет_оп)
И ВЫБОР
КОГДА &ИсключитьПереоценку = ИСТИНА
ТОГДА ТИПЗНАЧЕНИЯ(Регистратор) <> ТИП(Документ.ПереоценкаВалютныхСредств)
ИНАЧЕ ИСТИНА
КОНЕЦ,
,
) КАК ХозрасчетныйДвиженияССубконто
ГДЕ
ХозрасчетныйДвиженияССубконто.Активность = ИСТИНА
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ОстаткиДт.Счет_Ост_ориг как Счет_Ост,
ОстаткиДт.Субконто1_ост_ориг как Субконто1_ост,
ОстаткиДт.Субконто2_ост_ориг как Субконто2_ост,
ОстаткиДт.Ост_Дт_ориг как Ост_Дт,
ОстаткиДт.Ост_Кт_ориг как Ост_Кт,
ОстаткиДт.Ост_ДтВ_ориг как Ост_ДтВ,
ОстаткиДт.Ост_КтВ_ориг как Ост_КтВ,
ОперацииКт.регистратор,
ОперацииКт.СчетДт КАК СчетДт_оп,
ОперацииКт.СчетКт КАК СчетКт_оп,
ОперацииКт.СубконтоДт1 КАК СубконтоДт1_оп,
ОперацииКт.СубконтоДт2 КАК СубконтоДт2_оп,
ОперацииКт.СубконтоКт1 КАК СубконтоКт1_оп,
ОперацииКт.СубконтоКт2 КАК СубконтоКт2_оп,
ОперацииКт.Сумма_оп,
ОперацииКт.СуммаВалКт_оп
ИЗ
ОстаткиДт КАК ОстаткиДт
левое СОЕДИНЕНИЕ ОперацииКт КАК ОперацииКт
ПО ОстаткиДт.Счет_Ост_ориг = ОперацииКт.СчетКт
И ОстаткиДт.Субконто1_ост_ориг = ОперацииКт.СубконтоКт1
И ОстаткиДт.Субконто2_ост_ориг = ОперацииКт.СубконтоКт2


Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 6957
  • РЕПУТАЦИЯ: 824
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С
Может при левом соединении поле не суммироватт, а брать максимум?


Теги: скд 
 

Не дает перепровести приходную накладную. "Недостаточно остатка"

Автор KollegueРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 625
Последний ответ 22 Ноя 2017, 11:28
от Геннадий ОбьГЭС
Управление небольшой фирмой, редакция 1.4 (1.4.9.44) / нужен отчет остатка товара на складе в деньгах

Автор dlenaРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 5036
Последний ответ 04 Дек 2014, 10:48
от Eugeneer
Внешняя обработка. Вывод чисел, которые без остатка делятся на количество своих цифр

Автор ХомякРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 1729
Последний ответ 03 Июл 2017, 18:48
от Dethmontt
Для каждого дополнительного подразделения необходим свой лимит остатка в кассе

Автор newsРаздел Новости

Ответов: 0
Просмотров: 995
Последний ответ 03 Июл 2014, 11:27
от news
Если лимит остатка наличных в кассе установлен, он должен соблюдаться

Автор newsРаздел Новости

Ответов: 0
Просмотров: 1109
Последний ответ 29 Дек 2014, 17:24
от news

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
59 Сообщений
MuI_I_Ika MuI_I_Ika
54 Сообщений
LexaK
19 Сообщений
DmitriyF DmitriyF
17 Сообщений
wise wise
14 Сообщений
Александр Мун Александр Мун
12 Сообщений
Мария112689
11 Сообщений
alexandr_ll
10 Сообщений
alex0402 alex0402
8 Сообщений
Lun
7 Сообщений

* Кто онлайн

  • Точка Гостей: 320
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal