powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Организация ввода документов ???
8 сообщений из 8, страница 1 из 1
Организация ввода документов ???
    #33302429
megadonkey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто, как организует ввод документов с табличной частью (накладные, фактуры и т.д.). Поделитесь опытом гуру ? Или может где материальчик кто видел.

Проблемы такие:
- при редактировании данных на клиенте должна проверяться ссылочная целостность, но ведь данные из табличной части по идее не должны записываться на сервер до нажатия кнопки "Записать" на форме документа
- иногда существует потребность всетаки сохранять изменения на клиенте в строках документа сразу на сервер (например установка резервов по заказу) а как тогда быть при нажатии кнопки "отмена".

Кто-то использет временные таблицы на клиенте. Кто-то использует временные таблицы на сервере. А каким путем идут специалисты ?
...
Рейтинг: 0 / 0
Организация ввода документов ???
    #33302449
при редактировании данных на клиенте должна проверяться ссылочная целостность, но ведь данные из табличной части по идее не должны записываться на сервер до нажатия кнопки "Записать" на форме документа

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


- иногда существует потребность всетаки сохранять изменения на клиенте в строках документа сразу на сервер (например установка резервов по заказу) а как тогда быть при нажатии кнопки "отмена".

по моему отмена ввода строки - есть удаление сторки (т е заменяем "Отменить" на "Удалить" )
...
Рейтинг: 0 / 0
Организация ввода документов ???
    #33302470
megadonkey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ссылочная целостность, это когда пользователь правильно указал товар (напрмер поставил код существующего), указал единицу измерения, указал не нулевое количество и т.д.... кончно можно это все на клиенте, но не всегда...


Вообще если это ввод нового документа тогда проблем нет, а если изменение существующего ? Т.е. пользовтель открыл документ, какие-то строки удалил, какие-то изменил, а потом сказал "Отмена". Тогда как ?
...
Рейтинг: 0 / 0
Организация ввода документов ???
    #33302958
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все изменения делать только на клиенте. А на сервер сливать в транзакции с проверкой. Еще можно все что редактируется на форме держать в темповой табличке, по нажатию кнопки сохранить из темповой законять в постоянные в транзакции
...
Рейтинг: 0 / 0
Организация ввода документов ???
    #33303067
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megadonkeyВообще если это ввод нового документа тогда проблем нет, а если изменение существующего ? Т.е. пользовтель открыл документ, какие-то строки удалил, какие-то изменил, а потом сказал "Отмена". Тогда как ?
Если документ еще не проведен, то проблем нет... Надо действовать так же, как при вводе нового.
А вот если документ уже проведен (с него сделаны бухгалтерские проводки, подсчитаны остатки, итоги и т.д.), то тогда только сторнирование и ввод нового. И бить такого пользователя (и "по рукам" и рублем (в смысле - штрафовать))
...
Рейтинг: 0 / 0
Организация ввода документов ???
    #33303080
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megadonkeyВообще если это ввод нового документа тогда проблем нет, а если изменение существующего ? Т.е. пользовтель открыл документ, какие-то строки удалил, какие-то изменил, а потом сказал "Отмена". Тогда как ?
"Отмена" - она и есть отмена. По другому - Rollback. Соответственно, все обновления информации до commit'a должны лежать на клиенте и при "отмене" просто делается requery с сервера...
...
Рейтинг: 0 / 0
Организация ввода документов ???
    #33303292
Тяп-ляп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megadonkeyданные из табличной части по идее не должны записываться на сервер до нажатия кнопки "Записать"Сколько голов - столько идей.

Я сторонник такой схемы:
Если документ еще разрешен для редактирования и что-то юзер изменил в документе - тут же на сервере идут изменения триггерами и процедурами, в том числе и для проведенного документа. Ссылочная целостность проверяется в процедурах на сервере.
...
Рейтинг: 0 / 0
Организация ввода документов ???
    #33303447
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычно различают события редактирования формы документа:
- выход из поля - проверить значение поля,
- выход из строки - проверить правила для строки (например, запрещено дублирование пару товар + цена продажи),
- нажатие функциональной кнопки - проверить условия на документ в целом - (например, общая сумма не более ....).

Где проверять и когда писать - возможно для разных событий по-разному.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Организация ввода документов ???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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