Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 10:55

Заполнение реквизита из РС

Автор a1phoenix, 04 окт 2012, 14:17

0 Пользователей и 1 гость просматривают эту тему.

a1phoenix

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

В процесседанной процедуры просто трется контактная информация контрагента и все. Нужна Ваша помощь чтобы вместо удаления происходило заполнение Реквизита.

СветланаCC

Не много не поняла сути - объясните что именно нужно Вам,
но при записи информации в РС 
Синтаксис:

Записать(<Замещать>)
Параметры:

<Замещать> (необязательный)

Тип: Булево.
Определяет режим замещения существующей записи в соответствии с текущими установками отбора. Истина - перед записью существующие записи будут удалены. Ложь - записи будут дописаны к уже существующим в информационной базе записям
Значение по умолчанию: Истина
Описание:

Записывает набор записей в базу данных. В зависимости от переданного параметра, может быть выполнено добавление записей или их замещение.
Тазовод)

a1phoenix

Цитата: СветланаCC от 04 окт 2012, 15:57Не много не поняла сути - объясните что именно нужно Вам,
Мне необходимо заполнить созданный мной справочник Пульт данными из справочника Контрагенты(НаименованиеПолное), а так же из Регистра Сведений взять адрес, указанного в форме справочника Пульт, контрагента(Наименование).
http://saveimg.ru/show-image.php?id=62172b48f3e5b2ba1e179cca5731da7e - картинка самой формы в модуле которой и пишу данную процедуру.

СветланаCC

При выборе значит нужно, чтобы адрес подставлялся???
Тазовод)

a1phoenix


СветланаCC

Вы вообще не понятно что делаете в примере.... вот смотрите что должно быть -
Запрос = новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КонтактнаяИнформация.Представление
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Объект = &Контрагент
| И КонтактнаяИнформация.Тип = &ТипКИ
| И КонтактнаяИнформация.Вид = &ВидКИ";
Запрос.УстановитьПараметр("Контрагент",ВыбранноеЗначение);
Запрос.УстановитьПараметр("ТипКИ",Перечисления.ТипыКонтактнойИнформации.Адрес);

Запрос.УстановитьПараметр("ВидКИ",Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента);
//либо в зависимости какой адрес нужен
Запрос.УстановитьПараметр("ВидКИ",Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента);
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
Адрес = Результат.Представление;
КонецЦикла;
Тазовод)

a1phoenix

Спасибо большое за помощь, но задачка решилась при помощи функции:
Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический")

СветланаCC

Цитата: a1phoenix от 05 окт 2012, 08:52Спасибо большое за помощь, но задачка решилась при помощи функции:
Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический")
Да, есть такое - просто я думала у Вас своя разработка, а так конечно тоже верно)
Тазовод)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск