Помогите с запросом

Обсуждение различных вопросов, связанных с разработкой и эксплуатацией 1С-Предприятия 8.X
JohnyDeath
Сообщения: 722
Зарегистрирован: 24 авг 2011, 15:32

Помогите с запросом

Сообщение JohnyDeath »

Реально ли сделать такое: http://www.forum.mista.ru/topic.php?id=642538
Копипаста сюда:
Есть две таблицы:
1)втРасходы с колонками: Контрагент, Услуга, Товар, ПриходДок
2)втДолги с колонками: Контрагент, Сумма

Во второй таблице "Контрагент" - уникальное. В первой уникальность по совокупности столбцов.
Нужно дополнить ЛЮБУЮ ОДНУ строку первой значением столбца "Сумма" второй таблицы для каждого контрагента.

Пример.
1) втРасходы:
Контрагент1, Продажа, Костыль, Док1
Контрагент1, Продажа, Костыль2, Док1
Контрагент1, Продажа, Костыль, Док2
Контрагент2, Продажа, Цветок, Док2
20 втДолги:
Контрагент1, 100
Контрагент2, 200

Итоговая таблица:
Контрагент1, Продажа, Костыль, Док1, 100
Контрагент1, Продажа, Костыль2, Док1, 0
Контрагент1, Продажа, Костыль, Док2, 0
Контрагент2, Продажа, Цветок, Док2, 200

Ес-но надо в запросе
also
Сообщения: 160
Зарегистрирован: 12 ноя 2012, 17:51
Контактная информация:

Re: Помогите с запросом

Сообщение also »

Рассмотри вариант слепить уникальный ключ в первой таблице. Тупо сложить.
JohnyDeath
Сообщения: 722
Зарегистрирован: 24 авг 2011, 15:32

Re: Помогите с запросом

Сообщение JohnyDeath »

Так 1С не умеет преобразовывать ссылки в строки
also
Сообщения: 160
Зарегистрирован: 12 ноя 2012, 17:51
Контактная информация:

Re: Помогите с запросом

Сообщение also »

Ну это понятно. Но можно же рассмотреть разные варианты: у справочников наименования есть, у документов номер+дата. Может можно придумать какой-то числовой ключ, все зависит от задачи. Хотя это все мега криво конечно))
JohnyDeath
Сообщения: 722
Зарегистрирован: 24 авг 2011, 15:32

Re: Помогите с запросом

Сообщение JohnyDeath »

Нее, наименования, коды и прочее это вообще некрасиво и неправильно. Уж лучше тогда 4 вложенных запроса с группировками
also
Сообщения: 160
Зарегистрирован: 12 ноя 2012, 17:51
Контактная информация:

Re: Помогите с запросом

Сообщение also »

ну с такой постановкой задачи - 4 вложенных по идее самое правильное решение. Просто может все таки ключ можно например перед запросом сформировать.
Stepa86
Сообщения: 20
Зарегистрирован: 02 авг 2012, 09:56

Re: Помогите с запросом

Сообщение Stepa86 »

Зачем уже спрашивали? Если бы надо было это в скд вывести так, чтоб итоги правильно показывали, то это я знаю как, а вот как это через запрос - хз.
Опять же разные подходы будут к "сделать правильные итоги" или "вывести долг в каждой первой строке по новому контрагенту"
JohnyDeath
Сообщения: 722
Зарегистрирован: 24 авг 2011, 15:32

Re: Помогите с запросом

Сообщение JohnyDeath »

Применительно к данному примеру идея следующая: закинуть долг контрагента в любую строчку его покупок.
В исходной задаче эти суммы появляются в результате округлений. Т.е. у нас есть была какая-то сумма по контрагенту, мы её распределяем по точкам Контрагента и остаток округления вбухиваем любому. Например, Контрагент должен нам 100 руб., у него есть три торговые точки. Распределяем долг на эти точки по 33,33 руб. в итоге получаем 99,99. И вот эту потерянную копейку надо закинуть на любую точку.
also
Сообщения: 160
Зарегистрирован: 12 ноя 2012, 17:51
Контактная информация:

Re: Помогите с запросом

Сообщение also »

Я подобные распределения всегда уже в обходе запроса писал. Просто, если строчка последняя, то не делим, а вычитаем из общей суммы накопленную. Есть ли смысл прям все в запросе делать?
Stepa86
Сообщения: 20
Зарегистрирован: 02 авг 2012, 09:56

Re: Помогите с запросом

Сообщение Stepa86 »

also писал(а):Я подобные распределения всегда уже в обходе запроса писал. Просто, если строчка последняя, то не делим, а вычитаем из общей суммы накопленную. Есть ли смысл прям все в запросе делать?

+100500

в типовых так же видел такое распределение через цикл и сваливание остатка последней строчке. Если через запрос и получится, то это будет ооооочень нетривиальная фигня
Ответить