Снегопат https://snegopat.ru/forum/ |
|
Помогите с запросом https://snegopat.ru/forum/viewtopic.php?f=6&t=304 |
Страница 1 из 2 |
Автор: | JohnyDeath [ 05 дек 2012, 08:41 ] |
Заголовок сообщения: | Помогите с запросом |
Реально ли сделать такое: 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 [ 05 дек 2012, 08:47 ] |
Заголовок сообщения: | Re: Помогите с запросом |
Рассмотри вариант слепить уникальный ключ в первой таблице. Тупо сложить. |
Автор: | JohnyDeath [ 05 дек 2012, 08:52 ] |
Заголовок сообщения: | Re: Помогите с запросом |
Так 1С не умеет преобразовывать ссылки в строки |
Автор: | also [ 05 дек 2012, 08:57 ] |
Заголовок сообщения: | Re: Помогите с запросом |
Ну это понятно. Но можно же рассмотреть разные варианты: у справочников наименования есть, у документов номер+дата. Может можно придумать какой-то числовой ключ, все зависит от задачи. Хотя это все мега криво конечно)) |
Автор: | JohnyDeath [ 05 дек 2012, 09:03 ] |
Заголовок сообщения: | Re: Помогите с запросом |
Нее, наименования, коды и прочее это вообще некрасиво и неправильно. Уж лучше тогда 4 вложенных запроса с группировками |
Автор: | also [ 05 дек 2012, 09:07 ] |
Заголовок сообщения: | Re: Помогите с запросом |
ну с такой постановкой задачи - 4 вложенных по идее самое правильное решение. Просто может все таки ключ можно например перед запросом сформировать. |
Автор: | Stepa86 [ 05 дек 2012, 09:10 ] |
Заголовок сообщения: | Re: Помогите с запросом |
Зачем уже спрашивали? Если бы надо было это в скд вывести так, чтоб итоги правильно показывали, то это я знаю как, а вот как это через запрос - хз. Опять же разные подходы будут к "сделать правильные итоги" или "вывести долг в каждой первой строке по новому контрагенту" |
Автор: | JohnyDeath [ 05 дек 2012, 09:35 ] |
Заголовок сообщения: | Re: Помогите с запросом |
Применительно к данному примеру идея следующая: закинуть долг контрагента в любую строчку его покупок. В исходной задаче эти суммы появляются в результате округлений. Т.е. у нас есть была какая-то сумма по контрагенту, мы её распределяем по точкам Контрагента и остаток округления вбухиваем любому. Например, Контрагент должен нам 100 руб., у него есть три торговые точки. Распределяем долг на эти точки по 33,33 руб. в итоге получаем 99,99. И вот эту потерянную копейку надо закинуть на любую точку. |
Автор: | also [ 05 дек 2012, 10:23 ] |
Заголовок сообщения: | Re: Помогите с запросом |
Я подобные распределения всегда уже в обходе запроса писал. Просто, если строчка последняя, то не делим, а вычитаем из общей суммы накопленную. Есть ли смысл прям все в запросе делать? |
Автор: | Stepa86 [ 05 дек 2012, 10:36 ] |
Заголовок сообщения: | Re: Помогите с запросом |
also писал(а): Я подобные распределения всегда уже в обходе запроса писал. Просто, если строчка последняя, то не делим, а вычитаем из общей суммы накопленную. Есть ли смысл прям все в запросе делать? +100500 в типовых так же видел такое распределение через цикл и сваливание остатка последней строчке. Если через запрос и получится, то это будет ооооочень нетривиальная фигня |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |