powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQL запрос - делаю в Фоксе учет финансов
15 сообщений из 40, страница 2 из 2
SQL запрос - делаю в Фоксе учет финансов
    #38231885
labirint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
labirintвижу, что 2-мя запросами и сканом можно перенести данные.
Спасибо за код!

Первая часть получилась - создать таблицу.
Теперь со второй - поможете? :)
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38231940
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
labirintТеперь со второй - поможете? :)"вторая часть" - это вот это?
labirint- лучше - если займ из одного фонда перекрывается обязательствами из другого фонда, то показать каким фондом перекрыть этот займТогда давайте на примере, вот таком хотя бы
idfrom_fundto_fundamount1121002234032360423405312063180 покажите, какой результат хочется увидеть.
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38233470
labirint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglirlabirintТеперь со второй - поможете? :)"вторая часть" - это вот это?
labirint- лучше - если займ из одного фонда перекрывается обязательствами из другого фонда, то показать каким фондом перекрыть этот займТогда давайте на примере, вот таком хотя бы
idfrom_fundto_fundamount1121002234032360423405312063180 покажите, какой результат хочется увидеть.

А ка Вы сюда таблицу поместили?
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38233482
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
labirint,

тег [ csv ]
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38233513
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
labirintА ка Вы сюда таблицу поместили?
Нажми "цитировать" и посмотри исходник :)
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38233616
labirint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
labirinttanglir"вторая часть" - это вот это?

idfrom_fundto_fundamount11210022340 покажите, какой результат хочется увидеть.

А ка Вы сюда таблицу поместили?

Например, есть исходные операции:
датаИЗфондаВ_фондсумма01.01.201312100002.01.20131350004.01.20132550005.01.20133550008.01.201328500 и т.д.

результат (хочется видеть)
ИЗфондаВ_фондсумма51100081500
т.е. фонд "2" из баланса выбыл, поскольку долг передан фондам "5" и "8" и фонд "3" выбыл - долг тоже передан в "5"; 5 и 8 - это фонды из которых нужно вернуть долг.
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38233874
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
labirint,

М-да... Видите, насколько важна постановка задачи. При такой постановке однозначного решения нет.

Представьте такую картину:
ИзфондаВфондСумма121000135002320031200
Что получается:
ФондСумма1-10002-20057008500

И кто кому сколько должен платить? Это я еще не слишком удачный пример привел ...
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38233894
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
labirintрезультат (хочется видеть)
ИЗфондаВ_фондсумма51100081500
т.е. фонд "2" из баланса выбыл, поскольку долг передан фондам "5" и "8" и фонд "3" выбыл - долг тоже передан в "5"; 5 и 8 - это фонды из которых нужно вернуть долг.Хочется "видеть"? То есть это нужно только отобразить, для последующих расчетов именно такая форма - не особо принципиальна? Кому "хочется видеть"? - вам, бухгалтерии, начальству? Почему именно в таком конкретном виде? Ведь для таких отображений существует "шахматка", и "бухгалтер" об этом знает, привык видеть в таком разрезе; либо в виде оборотки между двумя конкретными фондами. А косолидация оборотов в "группе фондов" таит в себе маленькую, но очень скрытую угрозу - не по всем возможным оборотам возможна "полная консолидация-взаимозачёт", и вот изучение всех возможных движений и есть путь к решению задачи, а то можно заложить косяки уже при проектировании...
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38233935
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
labirintlabirintпропущено...


А ка Вы сюда таблицу поместили?

Например, есть исходные операции:
датаИЗфондаВ_фондсумма01.01.201312100002.01.20131350004.01.20132550005.01.20133550008.01.201328500 и т.д.

результат (хочется видеть)
ИЗфондаВ_фондсумма51100081500
т.е. фонд "2" из баланса выбыл, поскольку долг передан фондам "5" и "8" и фонд "3" выбыл - долг тоже передан в "5"; 5 и 8 - это фонды из которых нужно вернуть долг.
Если у тебя фонд 2 может занять в 1-м а вернуть в 5 и 8, то тут нельзя говорить кто кому должен. Можно только разделить кредиты и долги, т.е. ожидай такой результат
ФондВыдалДолжен50100080500115000
этот результат можно присте к тому что ты ожидаешь т.к. один фонд выдавший, но если выдавших будет много и должников много, то твою табличку возвратов можно нарисовать кучей способов.

Ели это принципиально, то надо фиксировать именно возвраты в исходный фонд , т.е. взаимозачеты
датаИЗфондаВ_фондсумма01.01.201312100002.01.20131350004.01.20132150004.01.20131550005.01.20133150005.01.20131550008.01.20132150008.01.201318500 тогда можно получить то что ты хочешь.
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38233971
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
labirint,

Может, рассмотреть такой вариант?

Исходные данные:
ДатаИЗ_фондаВ_фондСумма12100013500257003140028500
Результат:
ID_фондаF1F2F3F4F5F6F7F8Itog10-1000-10000000-110021000000-70000-500-200310000000001004000000000507000000007006000000000700000000080500000000500

Правда, вопросов все равно еще много остается...
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38234407
labirint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jonny540labirint,

М-да... Видите, насколько важна постановка задачи. При такой постановке однозначного решения нет.

Представьте такую картину:
ИзфондаВфондСумма121000135002320031200
Что получается:
ФондСумма1-10002-20057008500

И кто кому сколько должен платить? Это я еще не слишком удачный пример привел ...

Это состояние отдельных фондов по сумме приходов расходов в каждом, это уже есть.
Мне нужно именно состояние взаимных обязательств, желательно, с исключением "промежуточных" сумм и фондов, т.е. тех, через которые, при погашении, средства пройдут транзитом.
Поэтому в моем примере и объяснении я исключил из результата фонды 2 и 3.
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38234417
labirint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMlabirintрезультат (хочется видеть)
ИЗфондаВ_фондсумма51100081500
т.е. фонд "2" из баланса выбыл, поскольку долг передан фондам "5" и "8" и фонд "3" выбыл - долг тоже передан в "5"; 5 и 8 - это фонды из которых нужно вернуть долг.
Хочется "видеть"? То есть это нужно только отобразить, для последующих расчетов именно такая форма - не особо принципиальна? Кому "хочется видеть"? - вам, бухгалтерии, начальству?

Финдиректору. Он не бухгалтер, и бухгалтерия этим не занимается, фонды не проходят по бухсчетам.
AndreTMПочему именно в таком конкретном виде? Ведь для таких отображений существует "шахматка", и "бухгалтер" об этом знает, привык видеть в таком разрезе; либо в виде оборотки между двумя конкретными фондами. А консолидация оборотов в "группе фондов" таит в себе маленькую, но очень скрытую угрозу - не по всем возможным оборотам возможна "полная консолидация-взаимозачёт", и вот изучение всех возможных движений и есть путь к решению задачи, а то можно заложить косяки уже при проектировании...
Не хочется вникать в термины "консолидация", "оборотка" и др. (хотя может и зря), поскольку бухгалтеру это пока не поручают, а ФД не намерен пока изучать бухгалтерию...
"не по всем возможным оборотам возможна "полная консолидация-взаимозачёт"" - что ПОЛНАЯ может не получиться, понимаю, надо сделать хотя бы частично. В конце-концов - не обязательно одним запросом.
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38234419
labirint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima Tlabirintпропущено...

т.е. фонд "2" из баланса выбыл, поскольку долг передан фондам "5" и "8" и фонд "3" выбыл - долг тоже передан в "5"; 5 и 8 - это фонды из которых нужно вернуть долг.
Если у тебя фонд 2 может занять в 1-м а вернуть в 5 и 8, то тут нельзя говорить кто кому должен. Можно только разделить кредиты и долги, т.е. ожидай такой результат
ФондВыдалДолжен50100080500115000
этот результат можно пристегнуть к тому что ты ожидаешь т.к. один фонд выдавший, но если выдавших будет много и должников много, то твою табличку возвратов можно нарисовать кучей способов.

Ели это принципиально, то надо фиксировать именно возвраты в исходный фонд , т.е. взаимозачеты
Возвраты, когда они делаются - конечно фиксируются. Задача увидеть дисбаланс, если так можно сказать, крайних значений, чтобы при планировании возвратов понимать - откуда начинать погашение.
Dima TдатаИЗфондаВ_фондсумма01.01.201312100002.01.20131350004.01.20132150004.01.20131550005.01.20133150005.01.20131550008.01.20132150008.01.201318500 тогда можно получить то что ты хочешь.
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38234422
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
labirint,

Я понимаю, что "не обязательно одним запросом". Вопрос теперь упирается не в реализацию, а в "принятые у вас принципы учёта взаимозачётов", т.е. в бизнес-логику. И тут никакие наши советы не помогут, надо, как я уже упоминал, разбираться с движениями средств и смотреть, что, где и как можно "сокращать".
Вообще, вам бы сейчас надо не пытаться сделать махом "красивый отчётик", а расспросить знающих, как правильно такой отчётик составляться должен...
...
Рейтинг: 0 / 0
SQL запрос - делаю в Фоксе учет финансов
    #38234519
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
labirintВозвраты, когда они делаются - конечно фиксируются. Задача увидеть дисбаланс, если так можно сказать, крайних значений, чтобы при планировании возвратов понимать - откуда начинать погашение.
Тут два варианта:
1. Как в твоем примере: получают из одного фонда (1->2), а возвращают в другие (2->5 и 2->8). С точки зрения сумм все нормально (фонд 2 ничего не должен), это нормально только если фонды все под одним управлением. Но тут невозможно утверждать что фонды 5 и 8 должны в 1. Поэтому надо конкретный алгоритм погашения долгов. Например возврат идет сначала в фонд с максимальной выданной суммой. Может какой-то другой алгоритм, например связанный с датами: кто раньше выдал тому вперед возвращать. Тут ты должен знать как правильно для твоей задачи.

2. Фонд А должен фонду Б пока явно не вернет. Тогда учет усложняется, как я показал возврат должен быть не как у тебя (2->5 и 2->8) а через фонд источник (2->1;1->5 и 2->1;1->8). Но тут можно четко видеть кто-кому сколько должен.

Если у тебя задача позволяет, то удобнее делать по варианту 1. В интерфейсе как-то так реализовать:
в фонде X появилась сумма N для возврата: получаешь список фондов для возврата отсортированных в порядке убывания порядка погашения и возвращаешь с учетом суммы долга.
например список выдач
Фонд Выдано15002300
решили погасить из 5 фонда 700 формируешь проводки
датаИЗфондаВ_фондсумма22.04.20135150022.04.201352200

Думаю тебе надо условия задачи поподробнее выяснить: какие операции возможны и что определяет алгоритм их решения.
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQL запрос - делаю в Фоксе учет финансов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]