v8: Открыть форму записи регистра сведений с ключом уникальности. #603003


#0 by vladenoff
Всем доброго времени суток. При получении формы записи регистра сведений у меня всегда генерируется новый экземпляр формы, несмотря на одинаковый уникальный идентификатор формы:
#1 by vladenoff
куда копать?
#2 by vladenoff
или вот пример из типовой: ... .... Всегда "Форма.Открыта" возвращает Ложь. форма всегда открывается новая.
#3 by vladenoff
неужели, никто не подскажет как открыть форму записи регистра с контролем ее уникальности ?
#4 by Мизантроп
не устаешь латиницей код писать?
#5 by vladenoff
требования заказчиков )
#6 by Мизантроп
первый раз о таких бредовых требованиях слышу
#7 by acsent
для формы записи нужно задавать ключ записи иначе это новая запись
#8 by vladenoff
а как же мне задать этот самый ключ для формы?
#9 by vladenoff
Вот так реализуется данная задача на 8.2: ... .... а чем заменить мне строку 'ОткрытьФорму("РегистрСведений.УчетнаяПолитикаБухгалтерскийУчет.ФормаЗаписи", ПараметрыФормы,ЭтаФорма);' в 1С:П-тие 8.1???
#10 by zladenuw
Тип: Произвольный. В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм. При поиске учитываются значения свойств открытых форм соответствующим значениям параметров метода. Если найдена открытая форма (по совпадению всех параметров), то она будет возвращена вместо новой формы. Если из некой формы (один и тот же владелец) требуется открывать новые экземпляры другой формы, то при каждом вызове метода значение данного параметра должно быть уникально (в рамках соответствующих значений свойств открытых форм). Значение параметра присваивается свойству открываемой формы КлючУникальности. Следует учитывать, что при получении формы из "объекта" система получает форму для конкретного экземпляра объекта с учетом совокупности переданных параметров, в то время как для "ссылки" всегда существует только один объект в базе данных и форма получается одна (для одинаковой совокупности параметров).
#11 by zladenuw
Синтаксис: ПолучитьМенеджерЗаписи Возвращаемое значение: Тип: РегистрСведенийМенеджерЗаписи. Менеджер записи регистра сведений. Описание: Получает объект для модификации, записи и удаления записи регистра сведений, на которой в данный момент спозиционирована выборка.
#12 by zladenuw
и читаем теперь Следует учитывать, что при получении формы из "объекта" система получает форму для конкретного экземпляра объекта с учетом совокупности переданных параметров, в то время как для "ссылки" всегда существует только один объект в базе данных и форма получается одна (для одинаковой совокупности параметров).
#13 by vladenoff
а можно с примером ?
#14 by vladenoff
как же мне открыть форму записи зная ключ. При этом проконтролировать уникальность открытой формы?
#15 by zladenuw
может через ссылку ? тогда контроль уникальности будет. тебя для чего ?
#16 by vladenoff
из одной формы обработки зная период записи и все ее значение измерений. надо открыть форму редактирования этой записи. Причем проконтролировать уникальность формы. Обращаю внимание что в посте я привожу уже найденное решение для 8,2. теперь надо найти решение для 8.1 и обойти конструкцию "ОткрытьФорму(..."
#17 by zladenuw
тогда может только так. РегистрСведенийМенеджер.<Имя регистра сведений>.СоздатьКлючЗаписи (InformationRegisterManager.<Имя регистра сведений>.CreateRecordKey) РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>) СоздатьКлючЗаписи (CreateRecordKey) Синтаксис: СоздатьКлючЗаписи(<Значения ключа>) Параметры: <Значения ключа> (обязательный) Тип: Структура. Структура, содержащая значения для заполнения свойств ключа записи. Имена элементов структуры должны соответствовать именам ключевых полей. Возвращаемое значение: Тип: РегистрСведенийКлючЗаписи. Описание: Создает ключ записи по переданной структуре. Пример:
#18 by vladenoff
нет. остается не понятным что делать с этим ключом записи. Кстати в посте я и так использую такой ключ, только проку с него мало в 8.1. Форма открывается всегда новая.
#19 by zladenuw
ну так есть параметры. в 8.1 этого нету. поэтому пляски с бубном
#20 by vladenoff
в посте нету решение открытия формы записи регистра. Тут хоть с бубном хоть без (
#21 by zladenuw
хм. может тут
#22 by vladenoff
Решение карявое. тут ОткрытьМодально ничем кроме незнания не оправдывается. А если использовать Открыть то не будет сохранятся уникальность формы. То есть, при исполнении кода повторно всегда будет открываться новая форма одной и той же записи.
#23 by zladenuw
так если даже так. Все равно форму новую открывает. Процедура КнопкаВыполнитьНажатие(Кнопка)
#24 by vladenoff
так понятное дело что бред. пример в посте тоже форму открывает. если бы это подходило - то и эту тему развивать не надо было(
#25 by zladenuw
то зачем тебе контроль открывания? Перем Форма;
#26 by vladenoff
опять таки, решение ограничивает пользователя на открытие двух форм разных записей регистров. Логического смысла в этом нету. У меня возникла мысль что в 8.1 этого невозможно сделать "+1" к переводу клиента на 8.2
#27 by hhhh
в у тебя по-любому не получится, потому что ПолучитьМенеджерЗаписи у тебя каждый раз создается новый менеджер.
#28 by vladenoff
да это понятно. в том и вопрос.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С