Снегопат

Обсуждение Снегопата
Текущее время: 28 апр 2024, 12:55

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Помогите с запросом
СообщениеДобавлено: 05 дек 2012, 08:41 
Не в сети

Зарегистрирован: 24 авг 2011, 15:32
Сообщения: 722
Реально ли сделать такое: 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

Ес-но надо в запросе


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 05 дек 2012, 08:47 
Не в сети

Зарегистрирован: 12 ноя 2012, 17:51
Сообщения: 160
Рассмотри вариант слепить уникальный ключ в первой таблице. Тупо сложить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 05 дек 2012, 08:52 
Не в сети

Зарегистрирован: 24 авг 2011, 15:32
Сообщения: 722
Так 1С не умеет преобразовывать ссылки в строки


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 05 дек 2012, 08:57 
Не в сети

Зарегистрирован: 12 ноя 2012, 17:51
Сообщения: 160
Ну это понятно. Но можно же рассмотреть разные варианты: у справочников наименования есть, у документов номер+дата. Может можно придумать какой-то числовой ключ, все зависит от задачи. Хотя это все мега криво конечно))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 05 дек 2012, 09:03 
Не в сети

Зарегистрирован: 24 авг 2011, 15:32
Сообщения: 722
Нее, наименования, коды и прочее это вообще некрасиво и неправильно. Уж лучше тогда 4 вложенных запроса с группировками


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 05 дек 2012, 09:07 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 05 дек 2012, 09:10 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 05 дек 2012, 09:35 
Не в сети

Зарегистрирован: 24 авг 2011, 15:32
Сообщения: 722
Применительно к данному примеру идея следующая: закинуть долг контрагента в любую строчку его покупок.
В исходной задаче эти суммы появляются в результате округлений. Т.е. у нас есть была какая-то сумма по контрагенту, мы её распределяем по точкам Контрагента и остаток округления вбухиваем любому. Например, Контрагент должен нам 100 руб., у него есть три торговые точки. Распределяем долг на эти точки по 33,33 руб. в итоге получаем 99,99. И вот эту потерянную копейку надо закинуть на любую точку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 05 дек 2012, 10:23 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 05 дек 2012, 10:36 
Не в сети

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

+100500

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB