Консультация № 143721
12.09.2008, 12:44
0.00 руб.
0 6 3
Подскажите пожалуйста, как сделать так чтоб элемент документа заносился в справочник, при чем этот элемент в справочнике периодический.

Обсуждение

Неизвестный
12.09.2008, 12:55
общий
это ответ
Здравствуйте, Monika!
Если я правильно понял, то Вам надо чтобы документ устанавливал значение не которого периодического реквизита справочника!
Так допустим есть докумнет УстановитьКурсВалюты, с резквизитом Курс и есть справочник Валюта, у которого реквизит Курс периодический тогда:
.....
Валюта.Курс.Установить (ДатаДок, Курс);
....
Неизвестный
12.09.2008, 13:10
общий
12.09.2008, 16:51
это ответ
Здравствуйте, Monika!

Вам необходимо создать объект - справочник, в который будет записываться элемент из документа, второй - если этот элемент отличается от базового типа, т.е. имеет тип справочника или документа.
Для записи периодических реквизитов используйте метод УстановитьЗначение() с указанием нужной даты.

Как это выглядит:
Код:
Спр = СоздатьОбъект("Справочник.Сотрудники");
ВыбратьСтроки()
Пока ПолучитьСтроку()=1 Цикл
Спр.НайтиЭлемент(Сотрудник);
Спр.Оклад.Установить(ДатаДок, Оклад);
КонецЦикла;


Здесь элементы справочника Сотрудники имеют периодический реквизит Оклад (Спр.Оклад.Установить(ДатаДок, Оклад);), значение из которого берется из табличной части документа и устанавливаются на дату документа ДатаДок (Спр.Оклад.Установить(ДатаДок, Оклад);)

В табличной части документа есть элементы Сотрудник (Спр.НайтиЭлемент(Сотрудник);) и Оклад (Спр.Оклад.Установить(ДатаДок, Оклад);)

С уважением, Владимир.
Неизвестный
12.09.2008, 13:12
общий
Я извиняюсь за ошибку - строку Спр.Оклад.Установить(ДатаДок, "Оклад"); читать без кавычек: Спр.Оклад.Установить(ДатаДок, Оклад);
Неизвестный
12.09.2008, 13:15
общий
это ответ
Здравствуйте, Monika!
Посмотрите функцию:
УстановитьРеквизитСправочника(<ЭлементСправочника>,<НазваниеРеквизита>,<Значение>,<ДатаУстановки>,<ИмяТипа>,<Длина>,<Точность>)

Метод доступен только в Модуле документа в предопределенной процедуре ОбработкаПроведения.
И переодический элемент справочника должен иметь возможность изменяться документами.
Неизвестный
12.09.2008, 13:28
общий
Метод УстановитьРеквизитСправочника() удобнее тем что при отмене проведения документа нет необходимости писать в процедуре ОбработкаУдаленияПроведения() код для удаления установленных документом периодических значений в справочнике (в отличии от метода установить()).
давно
Мастер-Эксперт
5157
1914
12.09.2008, 16:56
общий
to Владимир Лазурко, Студент: Отредактировал Ваш ответ.
Об авторе:
Детям в интернет нельзя, интернет от них тупеет
Форма ответа