Имя: Пароль:
1C
1С v8
Как получить доступ к доп.реквизиту документа?
0 Samir
 
06.08.14
11:13
Никак не соображу, помогите новичку. Программно создаю документ, а как задать значение дополнительному реквизиту документа , типа справочник? В инете пол дня ищу, повсюду какие-то сложные запросы и т.п. А как просто передать значение доп реквизиту уже существующему, не нашел.
З.Ы. Прошу прощения за глупый вопрос.
1 Samir
 
06.08.14
11:43
Это возможно? Или это настолько глупый вопрос, что никто отвечать не хочет?
2 DrZombi
 
гуру
06.08.14
11:47
Что такое "Доп. реквизит" ?
Случаем не реквизиты Формы?

Если Реквизиты формы, то через "ПолучитьФорму()"

Форма = ПолучитьФорму()
или
Форма = ОткрытьФорму()

и уже ниже через

Форма.ИмяРеквизита, ты начинаешь все заполнять :)

Хотя при открытии у тебя это должно делаться автоматом :)
3 ReaLg
 
06.08.14
11:48
Желательно бы конфу указать.
Вангую: у тебя значения свойств хранятся в РС ЗначенияСвойствОбъектов. Работаешь с ним, как с обычным независимым регистром сведений.
4 lxndr
 
06.08.14
11:49
делаешь запись в регистр сведений "ДополнительныеСведения" или "ЗначенияСвойствОбъектов" в зависимости от конфигурации
5 Samir
 
06.08.14
12:00
1с 8.2 Бухгалтерия предприятия.
Документ Поступление товаров и услуг. Создал документ, открываю его, создаю С/Ф. Осталось только дополнительному реквизиту присвоить значение, но никак не допру как.
6 lxndr
 
06.08.14
12:03
(5)
Запись = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
Запись.Объект = Ссылка;
Запись.Свойство = ДопРеквизитСсылка;
Запись.Значение = ЗначениеСсылка;
Запись.Записать();
7 hhhh
 
06.08.14
12:10
нифига себе новичок, 9 лет стажа.
8 Крошка Ру
 
06.08.14
12:12
(7) Дык, на форуме можно и дольше новичком оставаться.
9 bolobol
 
06.08.14
12:12
Аккаунт взломали?
10 Samir
 
06.08.14
12:31
Чистокровный семерошник. С восьмеркой вроде разобрался, но ни разу не работал с доп.реквизитами )))
11 bolobol
 
06.08.14
13:50
(10) Как всё прозаично((
12 Samir
 
07.08.14
11:51
(6) Спасибо, со структурой разобрался, теперь последний глупый вопрос:
Запись = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
Запись.Объект = Ссылка; //сюда передаем ссылку на документ...
Запись.Свойство = ДопРеквизитСсылка; // сюда передаем доп.реквизит..
Запись.Значение = ЗначениеСсылка; //сюда передаем значение..
Запись.Записать();


Как передать ссылку на доп.объект документа? Ну никак не вьеду, перемудрили ребята из 1С или я не догоняю.
З.Ы. Имеется документ Поступление товаров и услуг, у него есть доп реквизит созданный в ручную: Вид финансирования. Как указать ссылку на него?
13 lxndr
 
07.08.14
11:53
(12) неправославный вариант:
Запись.Значение = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Вид финансирования");
14 lxndr
 
07.08.14
11:54
другие варианты:
- сделать вид финансирования предопределенным
- сохранять значение ПВХ где-нибудь в константе или настройках
15 lxndr
 
07.08.14
11:54
(13) * ошибся конечно же:
Запись.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Вид финансирования");
16 Samir
 
07.08.14
12:33
(15) Спасибо
17 Samir
 
07.08.14
13:22
Оно меня доканает, либо я все таки вьеду в доп.реквизиты, либо одно из двух...

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



При выполнении обработки - пишет: Запись не верна! Значение поля "Дополнительный реквизит не может быть пустым! и т.п. В отладчике значение не пустое. Что Опять не так? В отладчике значение передается и на попытке записать выдает ошибку...
18 Samir
 
07.08.14
13:41
Значение доп реквизита произвольный список
19 Операция 1Ы
 
07.08.14
14:05
проверь может ли реквизит в РС, в который ты пишешь свой доп. реквизит принимать значение  произвольный список
20 Samir
 
07.08.14
14:11
(19) Но я с 1С-никами редко общаюсь (чаще с врачами) и по моему видению РС - это либо Расеяный Склероз, либо Республика Сербия, на крайняк Personal Computer.
21 Операция 1Ы
 
07.08.14
14:15
(20)
РС - регистр сведений
РегистрыСведений.ЗначенияСвойствОбъектов - смотри реквизит в который пишешь.
22 hhhh
 
07.08.14
14:16
(20) список точно в поле базы ты не впихнешь. Разве что в строку при помощи ЗначениеВСтрокуВнутр
23 Samir
 
07.08.14
14:17
(21) Так он уже создан и полтора года руками ведется, хочу автоматизировать немного.
24 Samir
 
07.08.14
14:19
+23 Был добавлен реквизит произвольный список с 2-мя строками ОМС и Платные. Руками все хорошо выбирается, а вот как запихнуть программно не допру.
Программист всегда исправляет последнюю ошибку.