Имя: Пароль:
1C
1С v8
Открыть последнюю запись регистра сведений при запуске 1С
0 MrGreenDragon
 
10.02.14
10:29
Помогите разобраться. Может и глупые вопросы, но все же. Понял, что нужно создавать уникальный ключ записи. Но разобраться как это делать не смог. Также нужно при копировании записи изменять один из реквизитов, но не могу понять как перехватить обработку события ПриКопировании. Буду признателен за помощь.
1 Wobland
 
10.02.14
10:29
что такое уникальный ключ записи?
2 Yea-Yea
 
10.02.14
10:31
а что значит открыть последнюю запись?
3 Wobland
 
10.02.14
10:32
(2) он заставляет нас думать, что регистр периодический
4 Defender aka LINN
 
10.02.14
10:32
(0) Для начала было бы неплохо ответить на вопрос: какая запись регистра - последняя?
5 MrGreenDragon
 
10.02.14
10:37
Регистр сведений, не периодический. Записи - это заявки. Последняя - с последним номером заявки.
6 Wobland
 
10.02.14
10:38
(5) выбрать первые 1 * из регистр упорядочить по номер убыв
7 Yea-Yea
 
10.02.14
10:38
(6) мужик!
8 Defender aka LINN
 
10.02.14
10:39
(5) А какой из номеров "А0001", "Б0001", "01-001" - последний?
9 MrGreenDragon
 
10.02.14
10:39
Номер - просто число, по порядку.
10 MrGreenDragon
 
10.02.14
10:40
Делал запрос, но что дальше то? Как саму форму записи открыть?
11 Torquader
 
10.02.14
11:04
Есть подозрение, что нужно было не записи в регистр делать, а документ создавать.
12 MrGreenDragon
 
10.02.14
11:23
Регистратор... Не хотелось бы сейчас переделывать все...
13 MrGreenDragon
 
10.02.14
11:24
Может кто-то дельно объяснить как программно открыть нужную запись регистра сведений для просмотра и редактирования?
14 Wobland
 
10.02.14
11:26
ОткрытьЗначение(РегистраторИзЗапроса)
15 MrGreenDragon
 
10.02.14
11:27
Это если есть регистратор, а у меня нет.
16 Wobland
 
10.02.14
11:28
открыть форму, получить форму...
17 MrGreenDragon
 
10.02.14
11:29
Нужно связать с чем то... ПолучитьФорму("ФормаСписка") открывает новую форму...
18 MrGreenDragon
 
10.02.14
11:29
ПолучитьФорму(<Форма>, <Владелец>, <КлючУникальности>)
Что можно использовать в качестве КлючУникальности?
19 Wobland
 
10.02.14
11:31
(18) внезапно
В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм.
20 AaNnDdRrEeYy
 
10.02.14
11:32
(18) не туда полез, это для другого.

Что бы получить набор записей надо сделать отбор по всем измерениям (что бы была точно одна запись), а потом прочитать - это и будет набор записей. его и открывать
21 MrGreenDragon
 
10.02.14
11:32
(19) Это я не к месту? Или как?
22 MrGreenDragon
 
10.02.14
11:33
Сделал отбор. Как получить форму записи, которая осталась в списке?
23 Wobland
 
10.02.14
11:34
(22) в твоём отборе нет форм, только записи
24 MrGreenDragon
 
10.02.14
11:35
И как отобразить все реквизиты в форме записи? Никак?
25 Wobland
 
10.02.14
11:38
может, лучше в форме понаприсваивать реквизитов перед открытием?
26 MrGreenDragon
 
10.02.14
11:40
(25) пробовал... Получается заполненная НОВАЯ форма... в итоге при закрытии просит сохранить, получается дублирующая запись...
27 AaNnDdRrEeYy
 
10.02.14
11:40
(24) форма УФ? или как?
28 MrGreenDragon
 
10.02.14
11:41
(27) Не понял.
29 Wobland
 
10.02.14
11:41
(28) оцени управляемость своей формы
30 AaNnDdRrEeYy
 
10.02.14
11:42
(27) управляемая форма или обычная?

для управляемых форм так
ОткрытьФорму("РегистрСведений.ТвойРегистр.ФормаЗаписи",Новый Структура("Ключ",ЗаписьРегистра));

с именем формы не уверен
31 MrGreenDragon
 
10.02.14
11:45
Форма обычная, неуправляемая. А второй вопрос знает кто-нибудь как решить? (0)
32 AaNnDdRrEeYy
 
10.02.14
11:47
из СП

РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>)
СоздатьКлючЗаписи (CreateRecordKey)
Синтаксис:

СоздатьКлючЗаписи(<ЗначенияКлюча>)
Параметры:

<ЗначенияКлюча> (обязательный)

Тип: Структура.
Структура, содержащая значения для заполнения свойств ключа записи.
Имена элементов структуры должны соответствовать именам ключевых полей.
Возвращаемое значение:

Тип: РегистрСведенийКлючЗаписи.

Описание:

Создает ключ записи по переданной структуре.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

Отбор = Новый Структура;
Отбор.Вставить("Подразделение", ВыбПодразделение);
Отбор.Вставить("Должность", ВыбДолжность);
Рег = РегистрыСведений.СведенияОШтатныхЕдиницах;
КлючЗаписи = Рег.СоздатьКлючЗаписи(Отбор);
// ШтатныеЕдиницы - табличное поле для отображения списка
// записей регистра сведений
ЭлементыФормы.ШтатныеЕдиницы.ТекущаяСтрока = КлючЗаписи;
33 AaNnDdRrEeYy
 
10.02.14
11:48
открывать форму вот так

Расширение формы списка записей регистра сведений (Information register record list form extension)
Свойства:

ПараметрОтборПоИзмерению (FilterByDimensionParameter)
ПараметрОтборПоРегистратору (FilterByRecorderParameter)
ПараметрТекущаяСтрока (CurrentLineParameter)

Описание:

Дополнительные свойства объекта Форма, в том случае, если основной реквизит формы имеет тип РегистрСведенийСписок.<Имя регистра сведений>.

Доступность:

Толстый клиент.
Пример:

Доллар = Справочники.Валюты.НайтиПоНаименованию("USD");
КурсыВалют = РегистрыСведений.КурсыВалют;
Форма = КурсыВалют.ПолучитьФормуСписка();
ОтборПоВалюте = Новый Структура();
ОтборПоВалюте.Вставить("Валюта",Доллар);
Форма.ПараметрОтборПоИзмерению = ОтборПоВалюте;
Форма.Открыть();
34 sirsp
 
10.02.14
11:55
(0) Пример из типовой ЗУП:

Процедура ФормаЭлементаЗаметкиПередНачаломДобавления(Элемент, Отказ, Копирование, ЭтаФорма) Экспорт
    
    Отказ = Истина;
    
    Форма = РегистрыСведений.Заметки.ПолучитьФормуРедактированияЗаписи();
    Форма.Автор  = глЗначениеПеременной("глТекущийПользователь");
    Форма.Объект = ЭтаФорма.Ссылка;
    Форма.Дата   = ТекущаяДата();
    
    Если Копирование Тогда
        ОбъектКопирования = Элемент.ТекущиеДанные;
        Форма.ВидЗаметки = ЭтаФорма.ОбъектКопирования.ВидЗаметки;
        Форма.Содержание = ЭтаФорма.ОбъектКопирования.Содержание;
    КонецЕсли;

    Форма.Открыть();

КонецПроцедуры
35 MrGreenDragon
 
10.02.14
12:00
(32) (33) (34) Спасибо огромное, есть направление, буду думать :)
36 hhhh
 
10.02.14
12:07
(35) вообще-то в пользовательском режиме откройте форму списка и поставьте там галочку: при открытии переходить в конец списка. Зачем вам суперпрограммы какие-то писать, когда это всё на уровне платформы реализовано.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан