Кнопка открытия формы с продолжением

Автор bbv62, 2 декабря 2015, 16:58

0 Пользователи и 1 гость просматривают эту тему.

bbv62

Цитата: JohnSUN от 18 декабря 2015, 09:45Я так понимаю, до идеи... руки еще не дошли?
Как раз дошли - скрины сделаны с варианта единой таблицы.
Цитата: JohnSUN от 18 декабря 2015, 09:45вводит параметры объекта с планшета, ноутбука
Это десятая часть марлезонского балета, которая будет исполняться после обкатки (мин. годовой) структуры данного процесса.
Скорей всего в SQLServ2012 (или который там будет) ПРОФЕССИОНАЛЬНЫМ НАПИСАТЕЛЕМ с учётом "бесценного, никому не нужного опыта". На данный момент это и неактуально, поскольку те ж замерщики, как и все ключевые сотрудники нашей фирмы, это рукастые, головастые мужики возраста хозяина (и моего), прошедшие с ним в молодости бескрайние вертикальные просторы нашей Родины. Оне от планшета (нубука, смартфона, вида Клавы) впадают в ступор со всеми последствиями. Пока будет перепись с бумажки в офисе в присутствии автора...
Научный тык произведен пока семью из девяти переломанных пальцев. Ещё есть надежда.

JohnSUN

Извини, был не внимателен: скрины посмотрел только сейчас, после того как ты их упомянул.
Я так понял, тебя смущают цифры в счетчике записей? "Гм, видишь ли Юрий..." (с) Адъютант Его Превосходительства
Там всё правильно... Счётчик показывает количество записей в текущем наборе данных. Если наложить на набор из, скажем, 1000 записей фильтр, который отберёт только 5, то счётчик покажет именно 5, а не 1000.
Единичка в счётчике тебя должна не огорчать, а радовать - ты работаешь с единственной записью, она никуда не делась (не ноль) и никаким макаром не продублировалась (не больше 1). А чтобы не сбивало с толку - там дальше на этой панели Навигатора есть кнопочки установки-редактирования-удаления фильтров, поиграйся с ними.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

bbv62

Yessss! :beer:
Всё оказалось проще: в формочке "элемент управления" кнопки нашёл (обнаружил) поле "Тип кнопки". Поставил значение "Сохранить запись".
Нажимаю - изменения применились, кнопка посерела и ... желанная форма не открылась.
Поставил исполнение макроса в событие "отпускание кнопки" (через 20 мин головоскрёба) и всё заработало.
Пожалуй - это первое самостоятельное открытие на этой стезе - без форума и Гугла! Хороший знак.
Сейчас говорил с директором по маркетингу. Хранить варианты заказа после установки двери (фактически после присвоения номера заказа) - не нужно. Т. е. за 25 лет работы не было прецедента наезда заказчика с претензией на ошибку выбора.
В то же время (без удаления холостых записей) сильно увеличивается объём выборки при поиске заказчика в архиве - ведь и ФИО и год установки и город могут совпадать. Введение поля "Улица" чреват ошибками написания (не Kladr же подключать. Хотя...).
Ручной ввод ID в открывшейся форме "с пустым счётчиком" невозможен, поскольку в поле стоит "Автоназначение". Да и в жизни нереален.
С ошибкой фильтра "при разрыве значений ключа" не разобрался. "record.Filter = """ID2""=" + oModel.Parent.getInt(0)" не расколоть.
Может, таки, не фильтр, а принудительный ввод в поле "Запись" нужного значения, как руками. Тока как до него добраться?

bbv62

19.12.2015
Мне кажется здесь ошибка:
record = newForm.getDrawPage().getForms().getByIndex(0)
     record.Filter = """ID2""=" + oModel.Parent.getInt(0)
Смутно, конечно, но. Посмотрев на отображение фильтра в несработавшем отборе (см. скрины) увидел в качестве аргумента как раз номер записи, а не Idшник из нужного поля.
Как я понял — Index и есть номер записи.
Вариант с типом кнопки тоже не очень-то оказался — только на изменение записи. При открытии сохранённой записи кнопка-серая. При введении и последующем удалении любого символа в любое поле (при «шевелении» в записи) — кнопка активизируется.
При Типе «Обновить форму» кнопка активная, но при нажатии скидывается на запись №1 и открывает, соответственно, желаемую форму с первой записью.
А вот «Отправить форму» - вроде правильно отрабатывает, но непонятна суть действия.

bbv62

Мда... :(
Все попытки "химичить" привели к полному ступору мОзгов.
Добавили пессимизма и давние посты http://forumooo.ru/index.php/topic,73.0.html и http://forumooo.ru/index.php/topic,528.0.html.

rausNT

Здравствуйте!
почти похожая задача как у ТС, но к сожалению не мог разобраться по ответам.

Задача такая: Есть форма. "Ввод ФИО". Есть кнопка на этой форме. Она должна открывать форму "Ввод событий" и загружать (сортировать?)  запись где FIO из первой формы равно FIO из второй формы.
Как получить значение поля и открыть форму я понял, а дальше тупик...
Подскажите пожалуйста...

Вот код.

Sub OpenForm(oEvent as Variant) 
const sNewDocumentName="Ввод событий"
const sOldDocumentName="Ввод ФИО"

  Dim oForm, ID_Name
 
oForm = oEvent.Source.getModel().getParent()
ID_Name = oForm.getString(oForm.findColumn("FIO"))

oNewFormDocument = ThisDataBaseDocument.FormDocuments.getbyname(sNewDocumentName).open
End Sub


rausNT

сам написал, сам ответил

Sub DialogOp (oEvent as Variant)

  Dim oForm, ID_Name
 
oForm = oEvent.Source.getModel().getParent()
ID_Name = oForm.getString(oForm.findColumn("ID"))



    form_container = ThisDatabaseDocument.FormDocuments.getByName("Ввод событий")
     form_container.close
    form_container.open
    form2 = form_container.component.getDrawPage.getforms.getbyindex(0)
    form2.Filter =("ID = " & ID_Name)
End Sub


не все правда понимаю, как работает.