Имя: Пароль:
1C
1С v8
УТ 11. добавить реквизит Адрес доставки в спр. Контрагенты
0 Ценная
 
11.01.15
14:42
Здравствуйте, помогите, пожалуйста, добавить в спр. Клиенты адрес доставки, в справке написано, что у пользователя должно быть установлено право "Сохранение данных пользователя" . в конфигураторе установила это право, захожу под администратором, в настройках формы кнопка "Добавить поля" все равно не активно. где еще установить настройки?
1 w2k3
 
11.01.15
14:57
посмотри спр контактная информация (вроде правильно назвал) там и добавь.
2 Ценная
 
11.01.15
15:28
(1) спр. Виды контактной информации - Контактная информация спр. Контрагенты - там стоит Адрес доставки.

вопрос в том, как его добавить в спр. Контрагенты
3 heyfec
 
11.01.15
15:49
Создать новый реквизит в справочнике Контрагенты с типом ссылка Спр.ВидыКонтактнойИнформации
4 heyfec
 
11.01.15
16:38
Процедура ДостатьАдресНаСервере()
    Запрос = Новый Запрос;
    
Запрос.Текст = "ВЫБРАТЬ
               |ВидыКонтактнойИнформации.Наименование,
               |    ВидыКонтактнойИнформации.Тип,
               |ВидыКонтактнойИнформации.Представление
               |ИЗ
               |    Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации";

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл

Сообщить("Представление - " + Выборка.Представление);
Сообщить("ТИП - " + Выборка.Тип)

КонецЦикла;

КонецПроцедуры

Посмотри что выдает этот простенький запрос в справочнике ВидыКонтактнойИнформации Самих Адресов нет там только виды контактной информации например - Вид контактной информации справочника контрагенты тип АдресФактический.
Сами адреса хранятся в справочнике Контагенты в табличной части Контактная информация оттуда и доставай адрес запросом.
5 heyfec
 
11.01.15
17:18
&НаСервере
Процедура ДостатьАдресНаСервере()
    Запрос = Новый Запрос;
    
Запрос.Текст = "ВЫБРАТЬ
               |    Контрагенты.КонтактнаяИнформация.(
               |        Вид КАК Вид,
               |        Тип КАК Тип,
               |        Представление КАК Представление
               |    ),
               |    Контрагенты.Наименование
               |ИЗ
               |    Справочник.Контрагенты КАК Контрагенты";

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
    
    Колонки = Выборка.КонтактнаяИнформация.Выгрузить();
    
Для каждого колонка из Колонки Цикл

Сообщить("Представление - " + колонка.Представление);
Сообщить("ТИП - " + колонка.Тип)

КонецЦикла;
КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ДостатьАдрес(Команда)
    ДостатьАдресНаСервере();
КонецПроцедуры

Вот как достать адреса из справочника контрагенты
6 heyfec
 
11.01.15
19:16
&НаСервере
Процедура ДостатьАдресНаСервере()
    Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Аэрофлот").Ссылка;
    ВидКонтактнойИнформации = Контрагент.КонтактнаяИнформация.Получить(0).Вид;
    Сообщить("ВидКонтактнойИнформации - " + ВидКонтактнойИнформации );
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("ВидКонтактнойИнформации", ВидКонтактнойИнформации);
Запрос.Текст = "ВЫБРАТЬ
               |    Контрагенты.КонтактнаяИнформация.(
               |        Вид КАК Вид,
               |        Тип КАК Тип,
               |        Представление КАК Представление
               |    ),
               |    Контрагенты.Наименование КАК Контрагент
               |ИЗ
               |    Справочник.Контрагенты КАК Контрагенты
               |ГДЕ
               |    Контрагенты.Ссылка = &Контрагент
               |    И Контрагенты.КонтактнаяИнформация.Вид = &ВидКонтактнойИнформации";

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
    
    Колонки = Выборка.КонтактнаяИнформация.Выгрузить();
    Сообщить("Контрагент - " + Выборка.Контрагент);
Для каждого колонка из Колонки Цикл
Сообщить("Вид - " + колонка.Вид);
Сообщить("Представление - " + колонка.Представление);
Сообщить("ТИП - " + колонка.Тип)

КонецЦикла;
КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ДостатьАдрес(Команда)

    ДостатьАдресНаСервере();
КонецПроцедуры

Вот конкретно как достать Юридический адрес для контрагента "Аэрофлот"

Вот что он возвращает

ВидКонтактнойИнформации - Юридический

Тебе нужен Адрес Доставки не знаю какой он по счету это методом научного тыка попробуй поменять индекс в операторе Получить(2), Получить(3)
Далее
Контрагент - Аэрофлот
Вид - Юридический
Представление - Москва, ул. Кленовый бульвар дом 4 корп 2 кв 319
ТИП - Адрес
А дальше добавляй эту информацию в реквизит через присваивание значения.
7 heyfec
 
11.01.15
19:59
Вообще эта тема сто раз поднималась на форуме...
8 heyfec
 
11.01.15
20:50