Страница 1 из 1

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

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

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

Подробности:
Проблема в том, что я не знаю что необходимо выставить для "переинициализации" формы. Т.е. допустим, что мы зашли на добавление записи, потом нажали "Apply", запись должна сохраниться, + Request должен поменяться на ChangeRecord +как минимум надписи на окне должны поменяться с "Insert" на "Change".
Если запись была на редактировании и нажали "Apply", то запись должна сохраниться и буфер записи (SAV:Rec), видимо, должен обновиться. Ну и в том духе.

Добавлено: 05 Июнь 2007, 8:52
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
проверили на простой форме - работает!... насколько этот код правильный? не будет ли ликов?

Добавлено: 06 Июнь 2007, 7:27
Andrew™
Да вы что, товарищи!!!

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

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

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

а то, что ты предлагаешь, непреемлемо на мой взгляд, т к теряется смысл кнопки ?Cancel в форме, ты ввёл дцать позиций, нажал ?Cancel и откат не произошёл, да и в таком подходе твою накладную уже при создании первой же позиции могут захватить на редактирование с других рабочих станций

Добавлено: 06 Июнь 2007, 10:09
StillZero
а то, что ты предлагаешь, непреемлемо на мой взгляд
я сейчас спорить не буду, мне надо именно так как я написал
просто оцени код
шаблон сделали сегодня