Имя: Пароль:
1C
 
Ввод на основании
,
0 Ната48
 
07.09.15
23:22
Делаю ввод на основании. Необходимо, что бы данные подставлялись не только из документа-основания, но и адрес из справочника "контрагенты". как обратиться к этому адресу? Помогите пожалуйста!
1 itlikbez
 
07.09.15
23:27
В обработке заполнения пишешь что-то типа:
мойадрес=данныезаполнения.контрагент.адрес
Но это если адрес в справочнике, как ты говоришь.
2 Азазель
 
07.09.15
23:28
если в документе-основании есть реквизит "Контрагент", то можно обратиться к его реквизитам, в том числе и к адресу.

пример привести не могу, поскольку не указана платформа и конфигурация.
3 Ната48
 
07.09.15
23:38
(1) вот так я и писала мойадрес=данныезаполнения.контрагент.адрес не получается так. Адрес контрагента хранится в регистре сведений, вроде. Конфигурация БП 8.2
4 GreatOne
 
07.09.15
23:40
(3) прочитай из регистра...
5 Ната48
 
07.09.15
23:40
Реквизит "контрагент" у документа-основания есть. А как через него адрес получить? В документе его нет, только в справочнике
6 Ната48
 
07.09.15
23:42
Ну если бы я знала как, то не обращалась бы за помощью. Учусь я только- ума на все не хватает еще))
7 GreatOne
 
07.09.15
23:43
Допустим в УТ 10.3 в общем модуле УправлениеКонтактнойИнформацией есть такое:

// Функция находит актуальное значение адреса в контакной информации.
//
// Параметры:
//  Объект - СправочникСсылка, объект контактной информации
//  ТипАдреса - тип контактной информации
//
// Возвращаемое значение
//  Строка - представление найденного адреса
//
Функция ПолучитьАдресИзКонтактнойИнформации(Объект, ТипАдреса = "") Экспорт
8 Ната48
 
07.09.15
23:47
А в обработке заполнения можно как-нибудь к этому адресу обратиться?
9 GreatOne
 
08.09.15
00:05
Задам встречный вопрос: как обратиться к экспортной функции общего модуля знаете?

АдресДоставки = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(данныезаполнения.Контрагент, "АдресДоставки");

Но вам по ходу это еще рано.
10 Ната48
 
08.09.15
21:40
Ну да, это мне, наверное рано)) Я так сделала
Процедура АдресНачалоВыбора(Элемент, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;

    Если Контрагент.Пустая() Тогда
        ВвестиЗначение(Контрагент, "Выберите контрагента");
    КонецЕсли;

    Если НЕ Контрагент.Пустая() Тогда
        ФормаВыбора = РегистрыСведений.КонтактнаяИнформация.ПолучитьФормуСписка("ФормаСписка", ЭтаФорма);
        ФормаВыбора.РежимВыбора = Истина;

        ФормаВыбора.РегистрСведенийСписок.Отбор.Объект.Значение = Контрагент;
        ФормаВыбора.РегистрСведенийСписок.Отбор.Объект.Использование = Истина;

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

        ВыбАдрес = ФормаВыбора.ОткрытьМодально();

        Если ЗначениеЗаполнено(ВыбАдрес) Тогда
            Адрес = ВыбАдрес;
        КонецЕсли;

    КонецЕсли;

КонецПроцедуры
11 Ната48
 
08.09.15
21:42
Подпилила чуток функцию из "счета на оплату"
12 Ната48
 
08.09.15
21:44
процедуру т.е.)))
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс