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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу 1, 2, 3  След.
Автор Сообщение
СообщениеДобавлено: 01.07.2014 08:09 
Не в сети

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

Мои решения (мне не нравятся или не получается):
- фильтровать оказанные услуги по ID пациента с помощью стандартных кнопок
фильтрации (не объяснишь пользователям и долго);
- создать тригер на вкладке "Оказанные услуги" по событию "открытие формы" с
запросом SELECT tbl---.* WHERE tbl---.IDPatient = tblMain.ID - чего-то не
хочет.


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

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
Именно эту функцию и выполняет подчиненная таблица "Оказанные услуги" у основной таблицы "Пациенты".
Зачем так все усложнять?

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


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

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
На панели инструментов главной таблицы "Пациенты" создаете новую пользовательскую кнопку "Перейти в главную таблицу оказанных услуг этому пациенту", по нажатию на которую должен срабатывать код-скрипт с парой нашей команд: GoToTable "имя_таблицы" и LoadFilters

Есть еще пункт контекстного меню при правом клике на любой записи в подчиненной таблице:
"Перейти на запись в главной таблице ... (ID=...)"

_________________
2B OR NOT 2B = TRUE


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

Зарегистрирован: 30.06.2014 20:40
Сообщения: 106
OMEN писал(а):
Именно эту функцию и выполняет подчиненная таблица "Оказанные услуги" у основной таблицы "Пациенты".
Зачем так все усложнять?

Это так, но я хочу также вводить расход препаратов. Таблица "Расход препаратов" является подчиненной к "Оказанные услуги", но она не отображается на вкладке "Пациенты".
Зачем нужно то, что я написАл? Например, чтобы списать препараты на услугу нужно найти услугу в общем списке. Мне же нужен не общий список оказанных услуг, а список оказанных услуг конкретному пациенту.


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

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
Ясно. В вашем случае тогда будет удобно вывести таблицу с препаратами как таблицу третьего уровня, т.е. сделать её подчиненной к подчиненной таблице «Оказанные услуги». Как это сделать показано в разделе Галерея на скриншоте №27 (там таблицей третьего уровня является т. «Компоненты заказанного продукта»).

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


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

Зарегистрирован: 30.06.2014 20:40
Сообщения: 106
Ivan писал(а):
На панели инструментов главной таблицы "Пациенты" создаете новую пользовательскую кнопку "Перейти в главную таблицу оказанных услуг этому пациенту", по нажатию на которую должен срабатывать код-скрипт с парой нашей команд: GoToTable "имя_таблицы" и LoadFilters

А что означает "...нашей команд..."? Это VBasic? Можно пример?
Ivan писал(а):
Есть еще пункт контекстного меню при правом клике на любой записи в подчиненной таблице: "Перейти на запись в главной таблице ... (ID=...)"

А как мне это пригодится?


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

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
Самый лучший и наглядный вариант — в моём предыдущем сообщении

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


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

Зарегистрирован: 30.06.2014 20:40
Сообщения: 106
OMEN писал(а):
Ясно. В вашем случае тогда будет удобно вывести таблицу с препаратами как таблицу третьего уровня, т.е. сделать её подчиненной к подчиненной таблице «Оказанные услуги». Как это сделать показано в разделе Галерея на скриншоте №27 (там таблицей третьего уровня является т. «Компоненты заказанного продукта»).

Так вот оно как... вполне подходящий вариант. Я пока не знал, что так можно.
Спасибо, это круто меняет мое дело!


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

Зарегистрирован: 30.06.2014 20:40
Сообщения: 106
Ivan писал(а):
На панели инструментов главной таблицы "Пациенты" создаете новую пользовательскую кнопку "Перейти в главную таблицу оказанных услуг этому пациенту", по нажатию на которую должен срабатывать код-скрипт с парой нашей команд: GoToTable "имя_таблицы" и LoadFilters
"

Не нашел, какой синтаксис у этих команд? Смотрел в справке к программе, вопросы, в справке по VB - не нашел.


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

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
docpakhomov писал(а):
Не нашел, какой синтаксис у этих команд? Смотрел в справке к программе, вопросы, в справке по VB - не нашел.
Справка в разработке, потерпите. Чтобы узнать синтаксис команды, в ее параметрах укажите знак вопроса -- при выполнении команды вы увидите справку по ее параметрам.

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


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

Зарегистрирован: 30.06.2014 20:40
Сообщения: 106
OMEN писал(а):
docpakhomov писал(а):
Не нашел, какой синтаксис у этих команд? Смотрел в справке к программе, вопросы, в справке по VB - не нашел.
Справка в разработке, потерпите. Чтобы узнать синтаксис команды, в ее параметрах укажите знак вопроса -- при выполнении команды вы увидите справку по ее параметрам.

Такой вот скрипт, прикрепленный к кнопке:
GoToTable (qdfServicesUnPaid); LoadFilters (PatientID = ID)
не подходит...
Корректно ли спросить как правильно?
GoToTable (qdfServicesUnPaid) - работает нормально, таблица открывается. При введении всей конструкции пишет, что такая таблица - "qdfServicesUnPaid); LoadFilters (PatientID = ID" - в базе не найдена.
Можно ли в скрипте указывать несколько команд или один скрипт = одна команда?
Если можно, то какой знак разделяет их?
Где еще можно посмотреть справку по скриптам?

Спасибо!


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

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
Если нужно указать несколько команд подряд, то выбираете команду "VBScript" и прописываете по команде на каждой строчке.

Если я правильно понял, то условие фильтра состоит в том, чтобы зн-ие поля PatientID таблицы qdfServicesUnPaid было равно значению поля ID записи текущей таблицы. Тогда так: тип команды VBScript, параметры команды:
Код:
Dim iID
iID = <ID>
GotoTable qdfSales
LoadFilters 1///DocumentNumber/=/iID/

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


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

Зарегистрирован: 30.06.2014 20:40
Сообщения: 106
OMEN писал(а):
Если я правильно понял, то условие фильтра состоит в том, чтобы зн-ие поля PatientID таблицы qdfServicesUnPaid было равно ID записи текущей таблицы.
Да, именно так.
OMEN писал(а):
P.S. К сожалению, почему-то в команду LoadFilters 1///PatientID/=/<ID>/ не подставляется значение поля ID текущей записи по ссылке <ID>, а всегда подставляется единица...
Я еще этого не проверял. Но если это так, то это недоработка/не предусмотрено/так и должно быть? Можно ли исправить?
А такой вот алгоритм совсем через одно место с бубнами?
Код:
запустить файл *.vbs в котором переменной присваивается значение ID текущей таблицы, формируется запрос, открывается таблица этого запроса
А можно ли вообще таким образом открыть в программе этот запрос?


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

Зарегистрирован: 30.06.2014 20:40
Сообщения: 106
Спасибо большое! Пойду попробую.


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

Зарегистрирован: 30.06.2014 20:40
Сообщения: 106
Попробовал
Код:
 Dim iID
iID = <ID>
GotoTable qdfServicesUnPaid
LoadFilters 1///PatientID/=/iID/

пока не совсем получилось :(
в фильтр передается переменная iID как текстовое значение (напр. "76"), а поле PatientID - числовой тип, т.о. значения "76" получается как и нет, т.к. есть 76 как число, а не текст.


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

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


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

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


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

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