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

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

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




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

Зарегистрирован: 02.03.2011 17:07
Сообщения: 19
Здравствуйте, прошу подсказать как реализовать данную функцию:
Имеется таблица - услуги, вместе с ней связная таблица расход материалов по каждой услуге (связь по коду услуги)
в таблице расход материалов указаны все товары которые расходуются на данную услугу (см. скриншот_1)
Что требуется - когда клиент заказывает допустим маникюр, я его вбиваю в оказанные услуги (см. скрин_2) и то количество материала которое идет по нормам для этой услуги должно вычитаться со склада. Для этого в типовой конфигурации есть таблица SalesProducts но по умолчанию туда нужно вбивать товары в ручную в моем же случае хочется реализовать чтобы надо было лишь выбрать услугу а программа сама вычла нужное количество товара.
Жду вашей помощи :)


Вложения:
Комментарий к файлу: Скрин_2
22.JPG
22.JPG [ 49.38 КБ | Просмотров: 26824 ]
Комментарий к файлу: скрин__1
111.JPG
111.JPG [ 47.36 КБ | Просмотров: 26824 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14.06.2011 20:39 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Здравствуйте. Нужно реализовать это на триггере. Желательно, чтобы триггер был с подтверждением, лишний раз информирующим пользователя о том, что целый список продуктов будет списан.
Подобное сделано в демо базах данных. Например, в DemoDatabase.mdb при установке галки "Выполнен" в заказах клиентов срабатывает триггер, добавляющий этот заказ в продажи вместе со всем его содержимым (список продуктов с проставленным количеством).
Скачайте полный дистрибутив последней версии и посмотрите в демо БД.

_________________
2B OR NOT 2B = TRUE


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

Зарегистрирован: 02.03.2011 17:07
Сообщения: 19
Спасибо получилось, единственный момент остался - нужно добавить таким образом через триггер несколько записей в таблицу.
Фактически получается триггер должен выполниться столько раз сколько строк возвращает подзапрос из таблицы с нормами... но вот как его зациклить :)

Сам запрос:
INSERT INTO tblSalesProducts (Ordinal, ProductID, AddTime, SaleID, KolML)
VALUES (1,(select ProductID from tblNormi, qdfOkazanieUslugi where tblNormi.UslugaID=<UslugaID>), (select NOW()), <SaleID>, (select Quantity from tblNormi,qdfOkazanieUslugi where tblNormi.UslugaID=<UslugaID>))


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

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Ничего не надо зацикливать. Используйте конструкцию INSERT INTO ... SELECT
office.microsoft.com/ru-ru/access-help/HP001032245.aspx
Именно такие конструкции и используются в демо БД в том месте, что я вам сказал (триггеры таблицы "Заказы клиентов").

_________________
2B OR NOT 2B = TRUE


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

Зарегистрирован: 02.03.2011 17:07
Сообщения: 19
Все догнал я спасибо :) , просмотрел не все демо-базы а только одну в которой как раз таки было добавление одной записи.


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

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


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

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


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

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