Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически часто с пользователем)
Текущее время: 28.10.2024 19:16

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




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: 20.07.2014 21:28 
Не в сети

Зарегистрирован: 30.06.2014 20:40
Сообщения: 106
Задача:
Привязать оказанные услуги к платежам. Если оказанная услуга оплачена, то в поле "ПлатежID" ставится значение ID платежа.
Пример:
(рис.1) - в главной таблице выбирается пациент -> в подчиненной таблице "Оказанные услуги" отображаются оказанные ему услуги, там также добавляются те услуги, которые надо оказать.
Вложение:
001.JPG
001.JPG [ 142.53 КБ | Просмотров: 29922 ]

(рис.2) - в подчиненной таблице "Платежи" отображаются платежи, которые произвел пациент -> в таблице, подчиненной таблице "Платежи" ("Оплаченные услуги") отображаются и добавляются оплаченные услуги, прикрепленные к этому платежу, причем выбор их должен происходить не из всей таблицы "Оказанные услуги", а из таблицы "Оказанные услуги", но этому пациенту. После привязки оказанных услуг к платежу - они считаются оплаченными и в их поле "Платеж" появляется код платежа.
Вложение:
002.JPG
002.JPG [ 135.85 КБ | Просмотров: 29922 ]

Пояснения:
Все оказанные услуги должны иметь поле оплаты. Если оно пустое - оплаты не было (не прикреплено ни к одному платежу). Платеж один на несколько услуг (связь один-ко-многим).
- Оказанные услуги связаны с главной таблицей Пациенты (tblSalesServicec.PatientID - tblMain.ID);
- Платежи связаны с главной таблицей Пациенты (tblPayments.PatientID - tblMain.ID);
- Платежи связаны с Оказанными услугами (tblPayments.ID - tblSalesServicec.PaymentID);
(рис.3)
Вложение:
003.JPG
003.JPG [ 28.07 КБ | Просмотров: 29922 ]

Проблема:
не могу организовать связи с таблицами так, чтобы решить задачу, как в примере. При существующем алгоритме услуги добавляются к платежу, но в таблице Оказанные услуги появляются новые записи
PS
Может вообще я не в том направлении думаю? и мне нужны промежуточные запросы?

Спасибо!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23.07.2014 12:36 
Не в сети

Зарегистрирован: 22.07.2014 10:42
Сообщения: 1
Здавствуйте, docpakhomov.

Насколько я понимаю, Вам нужно организовать платежи по каждой услуге отдельно.
Я бы отказался от таблицы Оплаченные услуги - зачем второй раз вводить услугу, только по факту ее оплаты.
Связь таблиц: Пациенты - Оказанные услуги - Платежи по услуге.
Для отслеживания фактов оплаты и долгов по услугам, можно добавить в представление Оказанные услуги вычисляемое поле Сумма платежей по услуге и второе вычисляемое поле Долг по услуге = Цена услуги - Сумма платежей по услуге
Смотрите типовой вопрос № 19 на сайте.
Можно для удобства вывести представление Оказываемые услуге во вкладки и с помощью деревьев и фильтров получать всю финансовую информацию за любые периоды.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25.07.2014 17:40 
Не в сети

Зарегистрирован: 30.06.2014 20:40
Сообщения: 106
Спасибо за ответ/совет.
Задача моя чуть другая. Не
Цитата:
организовать платежи по каждой услуге отдельно.
, а организовать платежи услуг у пациента. У пациента может быть несколько платежей, у платежа должно быть несколько оказанных услуг. Т.е. один пациент производит в данный момент один платеж нескольких услуг.
Таким образом: создается платеж и к нему прикрепляются оказанные услуги, путем добавления в поле "код платежа" таблицы "оказанные услуги" значения ID платежа, который мы сейчас создали.

Сейчас моя мечта, чтобы это выглядело так: приходит пациент... администратор заводит паспортную часть и т.д.... затем на пациента заносятся разные услуги, которые ему будут оказываться... пациент ходит по врачам (тоже могу че-нить назначить), туда-сюда, а в конце приходит расплачиваться. Администратор заводит платеж, и добавляет к нему нужные услуги, которые были назначены на этого пациента и ранее не были оплачены... видит получившуюся сумму и берет с пациента монеты.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15.08.2014 11:30 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Есть таблица "Договоры". Которую можно переименовать в "Сделки" (для лучшего понимания). Или в "Визиты пациентов".
И все оказанные услуги должны привязываться к конкретному (договору/сделке/визиту).
А в таблице "Платежи" должно быть поле "Код договора" (сделки/визита), и оно там есть.
Платеж всегда один на общую сумму по всем оказанным услугам (в рамках данного визита, договора, сделки).

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15.08.2014 14:17 
Не в сети

Зарегистрирован: 30.06.2014 20:40
Сообщения: 106
Спасибо, учту.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

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


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

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


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

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