Имя: Пароль:
1C
1С v8
Правильное заполнение регистра сведений
0 Rusf1n
 
09.08.16
16:09
Добрый день. На форме справочника имеются кнопки(фото,видео, текст). При нажатии на фото, видео или аудио - происходит соответствующее действие и данные успешно сохраняются в регистр сведений, также вся необходимая информация отображается сразу же автоматически в динамическом списке.
А при нажатии на кнопку "Текст" - надо, чтобы открывалась "ФормаЗаписи" регистра сведений, где я бы мог оставить комментарий (в поле "комментарий"), а потом она закрылась, и данные тоже попали в регистр и обновились в дин. списке. В моем случае после нажатия на кнопку "Текст" данные записываются дважды. Что, где поправить, подскажите?? Заранее спасибо за ответ.

Ниже представляю код кнопки "Текст" и записи его в регистр!

&НаКлиенте
Процедура Текст(Команда)
ДанныеМультимедиа = ПредопределенноеЗначение("Перечисление.ВидыПередаваемыхДанных.Текст");
РасширениеФайла = "txt";
Файл = ПолучитьФорму("РегистрСведений.ПередаваемыеДанные.Форма.ФормаЗаписи");
Файл.Открыть();
ЗаписатьДанныеВРегистр(РасширениеФайла, , ДанныеМультимедиа);
КонецПроцедуры


&НаСервере
Процедура ЗаписатьДанныеВРегистр(РасширениеФайла,Данные,ДанныеМультимедиа)
НовРег= РегистрыСведений.ПередаваемыеДанные.СоздатьМенеджерЗаписи();
НовРег.Период        = ТекущаяДата();
НовРег.ТочкаМаршрута = Объект.Ссылка;  
НовРег.Расширение    = РасширениеФайла;
НовРег.ВидДанных     = ДанныеМультимедиа;
НовРег.Данные        = Новый ХранилищеЗначения(Данные);
НовРег.Записать(Ложь);
КонецПроцедуры
1 Nuobu
 
09.08.16
16:13
ЗаписатьДанныеВРегистр(РасширениеФайла, , ДанныеМультимедиа);

Вот это лишнее.
При открытии формы без ключа записи, он создаётся новый. Как сохраняешь, то оно сохраняется само.
2 polosov
 
09.08.16
16:13
ЗаписатьДанныеВРегистр(РасширениеФайла, , ДанныеМультимедиа);
- убери
3 Rusf1n
 
09.08.16
16:26
Это я понимаю да, у меня остается одна запись. Получается в регистр сведений попадает запись лишь с заполненным полем "Комментарий".
А еще должны быть заполнены поля:

НовРег.ТочкаМаршрута;  
НовРег.Расширение;
НовРег.ВидДанных;

С этим как поступить?
4 Nuobu
 
09.08.16
16:27
(3) Заполняй их перед открытием формы.
5 Rusf1n
 
09.08.16
16:43
(4) Не могу сообразить, можете продемонстрировать пожалуйста?
6 Nuobu
 
09.08.16
17:03
(5) "параметры формы при открытии 1с" гугли.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший