Задача в форме справочника «Кластеры» в процедуре «ПриЗаписи» организовать запись реквизитов справочника в регистр сведений

1. user1243776 29.07.19 11:56 Сейчас в теме
добрый день! помогите пожалуйста у меня тут задачка от наставника, не могу найти подобное решение не в инте не в книгах.

я отправлю всю задачку чтобы понятнее было:

История изменения реквизитов в справочнике «Кластеры»:
Проверить наличие справочника ВерсииПлатформы, если нет – создать
Следующие реквизиты:
СтрокаCOMОбъекта строка(50)
ВерсияПлатформы ПеречислениеСсылка.ВерсияПлатформы
В справочнике «Кластеры» проверить наличие реквизитов
Кластер строка(20)
Порт число(4)
ВерсияПлатформы Справочник ВерсииПлатформы
Логин строка(30)
Пароль Строка 30
ВнестиДанные Булево

Необходимо создать периодический регистр сведений «ИзмененияОбъектов» с измерениями
ТипОбъекта строка(30)
Наименование строка(30)
Пользователь Справочник.Пользователи
Строка1 Строка(30)
Строка2 Строка(30)
Спр1 Справочники
Число1 Число(4)


Задача

Задача в форме справочника «Кластеры» в процедуре «ПриЗаписи» организовать запись реквизитов справочника в созданный регистр.
Дата = текущаяДата()
Наименование = Кластеры.Наименование
Пользователь = ТекущийПользователь();
Строка1 = Кластер
Число1 = Порт
Спр1 = ВерсияПлатформы.
В регистре сведений «ИзмененияОбъектов» сделать форму списка
Найденные решения
5. Healer 1 30.07.19 07:02 Сейчас в теме
Ну, попробую помочь, раз Вам никто так и не ответил. В процедуре "ПриЗаписи" пишем код:

//Создаём набор записей регистра ...
НаборЗаписей = РегистрыСведений.ИзмененияОбъектов.СоздатьНаборЗаписей();
//Устанавливаем отбор ...
//Считываем предыдущие значения, если есть ...
НаборЗаписей.Прочитать();
//Добавляем нашу запись ...
ЗаписьРегистра = НаборЗаписей.Добавить();
//Заполняем параметры записи ...
     ЗаписьРегистра.Дата = ТекущаяДата(); 
     ЗаписьРегистра.Наименование = Кластеры.Наименование; 
     ЗаписьРегистра.Пользователь = ТекущийПользователь(); 
     ЗаписьРегистра.Строка1 = Кластер; 
     ЗаписьРегистра.Число1 = Порт; 
     ЗаписьРегистра.Спр1 = ВерсияПлатформы;
//Записываем ...
Попытка
     НаборЗаписей.Записать();
Исключение
     //Обработчик исключения ...
     Собщить(ОписаниеОшибки());
КонецПопытки();
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1243776 29.07.19 11:58 Сейчас в теме
Задача в форме справочника «Кластеры» в процедуре «ПриЗаписи» организовать запись реквизитов справочника в созданный регистр.
Дата = текущаяДата()
Наименование = Кластеры.Наименование
Пользователь = ТекущийПользователь();
Строка1 = Кластер
Число1 = Порт
Спр1 = ВерсияПлатформы.
В регистре сведений «ИзмененияОбъектов» сделать форму списка

Не могу точнее не знаю как выполнить эту задачку
3. Healer 1 30.07.19 06:51 Сейчас в теме
Задача очень простая, но чтобы её решить надо потыкать в конфигураторе, а расписывать долго.
10. user1243776 30.07.19 09:47 Сейчас в теме
(3)Доброе утро! Честно я в книгах не нашел подобную задачку и в интернете тоже, я про регистр читал но именно как справочник связать при записи не нашел
4. Healer 1 30.07.19 06:52 Сейчас в теме
Может, проще книжку почитать или даже просто примеры работы с регистрами сведений?
5. Healer 1 30.07.19 07:02 Сейчас в теме
Ну, попробую помочь, раз Вам никто так и не ответил. В процедуре "ПриЗаписи" пишем код:

//Создаём набор записей регистра ...
НаборЗаписей = РегистрыСведений.ИзмененияОбъектов.СоздатьНаборЗаписей();
//Устанавливаем отбор ...
//Считываем предыдущие значения, если есть ...
НаборЗаписей.Прочитать();
//Добавляем нашу запись ...
ЗаписьРегистра = НаборЗаписей.Добавить();
//Заполняем параметры записи ...
     ЗаписьРегистра.Дата = ТекущаяДата(); 
     ЗаписьРегистра.Наименование = Кластеры.Наименование; 
     ЗаписьРегистра.Пользователь = ТекущийПользователь(); 
     ЗаписьРегистра.Строка1 = Кластер; 
     ЗаписьРегистра.Число1 = Порт; 
     ЗаписьРегистра.Спр1 = ВерсияПлатформы;
//Записываем ...
Попытка
     НаборЗаписей.Записать();
Исключение
     //Обработчик исключения ...
     Собщить(ОписаниеОшибки());
КонецПопытки();
Показать
6. Healer 1 30.07.19 07:05 Сейчас в теме
Ну а чтобы в регистре сведений «ИзмененияОбъектов» сделать форму списка, просто заходим в конфигураторе в метаданные регистра\формы и в контекстном меню жмём "Добавить", выбираем "Форма списка" - готово! :-)
7. Healer 1 30.07.19 07:05 Сейчас в теме
Она по-умолчанию назначится формой списка на закладке "Формы" регистра сведений.
8. Healer 1 30.07.19 07:07 Сейчас в теме
А вообще если формы списка нет, то она формируется автоматически платформой, но в задаче прямо указано, что необходимо создать - значит создавайте.
9. Healer 1 30.07.19 07:08 Сейчас в теме
Я надеюсь, Вы решили эту задачу вчера: она слишком простая, чтобы так долго думать над ней О:-)
11. user1243776 30.07.19 09:48 Сейчас в теме
(9)Спасибо вам огромное!
Я еще стажер только и только учусь
12. user1243776 30.07.19 10:15 Сейчас в теме
(9)одну ошибку выдает, скобки убираю много выдает ошибок


{Справочник.Кластеры.Форма.ФормаЭлемента.Форма(19,14)}: Неопознанный оператор
КонецПопытки<<?>>(); (Проверка: Сервер)
{Справочник.Кластеры.Форма.ФормаЭлемента.Форма(19,14)}: Неопознанный оператор
КонецПопытки<<?>>(); (Проверка: Тонкий клиент)
13. Healer 1 30.07.19 10:17 Сейчас в теме
(12) Да, прошу прощения, ошибка вот где: вместо "КонецПопытки();" должно быть "КонецПопытки;".
14. Healer 1 30.07.19 10:21 Сейчас в теме
Ещё замечу, что заполнять значения свойств новой записи регистра лучше не присваивая каждое значение, а методом "ЗаполнитьЗначенияСвойств(...)".
15. Healer 1 30.07.19 10:21 Сейчас в теме
Наименования свойств источника и заполняемого должны совпадать, соответственно.
16. Healer 1 30.07.19 10:25 Сейчас в теме
А вообще когда я делал свою систему версионирования, я в регистре использовал не кучу реквизитов (он от этого тяжелеет сильно), а реквизит типа "строка", в который помещал сериализованные строки (документы со всеми реквизитами и таб.частями, исходные строки из загружаемых файлов и прочее). Получался супербыстрый и удобный механизм :-)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот