Надо кнопку "Apply"

Обсуждение MAV Direct ODBC

Модератор: Andrew™

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
StillZero
Ветеран
Сообщения: 454
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Контактная информация:

Надо кнопку "Apply"

Сообщение StillZero »

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

Надо бы такой шаблон кнопку.

Подробности:
Проблема в том, что я не знаю что необходимо выставить для "переинициализации" формы. Т.е. допустим, что мы зашли на добавление записи, потом нажали "Apply", запись должна сохраниться, + Request должен поменяться на ChangeRecord +как минимум надписи на окне должны поменяться с "Insert" на "Change".
Если запись была на редактировании и нажали "Apply", то запись должна сохраниться и буфер записи (SAV:Rec), видимо, должен обновиться. Ну и в том духе.
Аватара пользователя
StillZero
Ветеран
Сообщения: 454
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Контактная информация:

Сообщение StillZero »

поставили следующий код на кнопку "Apply"

Код: Выделить всё

IF MAV:Save.Completed() = 0
  ThisWindow.Request = ChangeRecord
  MAV:Save.Init(Window,?OK,?Cancel,ThisWindow.Request)
ELSE
  MESSAGE('Error on apply record')
  CYCLE
END
проверили на простой форме - работает!... насколько этот код правильный? не будет ли ликов?
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Сообщение Andrew™ »

Да вы что, товарищи!!!

это до простоты штатная ситуация, это в первую очередь было реализовано в библиотеке, за отсутствие такового функционала в базовых шаблонах

делается форма редактирования шапки накладной
вставляется Browse по позициям, Browse шаблон соображает что находится в форме редактирования, т е имеет место OKButton шаблон и в свойствах шаблона Browse появляется крыжик - Save Browser in form, включаешь его, а в форме редактирования позиций накладной ставишь режим Queue, и всё, весь документ будет редактироваться на клиенте не лазя в БД и сохранится целиком по ?OK

погляди ABCMAVT.APP, SQLBrowseAccount - похожая задача

а то, что ты предлагаешь, непреемлемо на мой взгляд, т к теряется смысл кнопки ?Cancel в форме, ты ввёл дцать позиций, нажал ?Cancel и откат не произошёл, да и в таком подходе твою накладную уже при создании первой же позиции могут захватить на редактирование с других рабочих станций
Аватара пользователя
StillZero
Ветеран
Сообщения: 454
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Контактная информация:

Сообщение StillZero »

а то, что ты предлагаешь, непреемлемо на мой взгляд
я сейчас спорить не буду, мне надо именно так как я написал
просто оцени код
шаблон сделали сегодня
Ответить