Имя: Пароль:
1C
1С v8
Работа с кладр
0 Garikus
 
22.07.13
11:40
1С 8.2 БП 2.0
Подскажите как к полю адрес в справочнике прикрутить КЛАДР
Требуется при нажатии выбора в поле открывался справочник кладр. И адрес хранился уже согласно ему, в Типовой порылся, не получается, то ли ума не хватает, то ли руки с другого места растут. Может кто поделиться кусочком кода?
1 Garikus
 
22.07.13
11:53
Хелп плизз))
2 Godofsin
 
22.07.13
11:54
Ну а посмотреть типовые методы лень?
3 Garikus
 
22.07.13
11:59
(2) Да пробую, вот почему то не выходит(
4 Cube
 
22.07.13
12:00
(3) Давай, давай! У тебя получится.
5 Garikus
 
22.07.13
12:02
(4) я конечно признателен Вашей поддержке, с утра бьюсь толком не идет, может все таки подскажите?
6 Cube
 
22.07.13
12:04
(5) Задай конкретный вопрос - получишь конкретный ответ.
7 cw014
 
22.07.13
12:04
(5) Позови специалиста
8 Garikus
 
22.07.13
13:48
в нете нарыл следущее:

Процедура ПолеВвода1НачалоВыбора(Элемент, СтандартнаяОбработка)
КодАдреса     = 0;
АдресДом     = "";
АдресКорпус   = "";
АдресКвартира = "";
ОбработкаРедактирования = Обработки.РедактированиеКонтактнойИнформации.Создать();
УправлениеКонтактнойИнформацией.ПолучитьПредставлениеАдреса( ПредставлениеАдресаПоКоду(КодАдреса,АдресДом,АдресКорпус,АдресКвартира,Истина));// содержимое обработчика.
КонецПроцедуры


Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
Перем Город, Улица, НаселенныйПункт;
КодАдреса     = 0;
АдресДом     = "";
АдресКорпус   = "";
АдресКвартира = "";
Если ТипЗнч(ЗначениеВыбора) = Тип("Структура") Тогда
  ЗначениеВыбора.Свойство("КодАдреса",КодАдреса);
  Если КодАдреса = 0 Тогда
    Возврат;
  КонецЕсли;
СтруктураАдреса = УправлениеКонтактнойИнформацией.ПолучитьПредставлениеАдреса( ПредставлениеАдресаПоКоду(КодАдреса,АдресДом,АдресКорпус,АдресКвартира,Истина));;
 СтруктураАдреса.Свойство("Город",Город);
 СтруктураАдреса.Свойство("НаселенныйПункт",НаселенныйПункт);
 СтруктураАдреса.Свойство("Улица",Улица);

 Если Не ЗначениеЗаполнено(Улица) Тогда
  //АдресСтрока0 = ?(ЗначениеЗаполнено(Город),Город,НаселенныйПункт);
 Иначе
  ЗначениеВыбора.Свойство("Дом",АдресДом);
  ЗначениеВыбора.Свойство("Корпус",АдресКорпус);
  ЗначениеВыбора.Свойство("Квартира",АдресКвартира);  
 КонецЕсли;
Конецесли;

      АдресСтрока0 = УправлениеКонтактнойИнформацией.ПредставлениеАдресаПоКоду(КодАдреса,АдресДом,АдресКорпус,АдресКвартира,Истина);
 КонецПроцедуры

но получаю ошибку

{Справочник.ДоговорыКонтрагентов.Форма.ФормаЭлемента.Форма(1052)}: Метод объекта не обнаружен (СтруктураПоКоду)
ОбработкаРедактирования.РедактироватьЗапись(УправлениеКонтактнойИнформацией.СтруктураПоКоду(КодАдреса,АдресДом,АдресКорпус,АдресКвартира), , ЭтаФорма);

подскажите куда капнуть?
9 Garikus
 
22.07.13
13:49
оп извиняюсь
Процедура АдресДоставкиНачалоВыбора(Элемент, СтандартнаяОбработка)
КодАдреса  = 0;
АдресДом  = "";
АдресКорпус   = "";
АдресКвартира = "";
ОбработкаРедактирования = Обработки.РедактированиеКонтактнойИнформации.Создать();
ОбработкаРедактирования.РедактироватьЗапись(УправлениеКонтактнойИнформацией.СтруктураПоКоду(КодАдреса,АдресДом,АдресКорпус,АдресКвартира), , ЭтаФорма);
КонецПроцедуры

Процедура АдресДоставкиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Перем Город, Улица, НаселенныйПункт;
КодАдреса  = 0;
АдресДом  = "";
АдресКорпус   = "";
АдресКвартира = "";
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда
 ВыбранноеЗначение.Свойство("КодАдреса",КодАдреса);
 Если КодАдреса = 0 Тогда
  Возврат;
 КонецЕсли;
 СтруктураАдреса = УправлениеКонтактнойИнформацией.СтруктураПоКоду(КодАдреса,АдресДом,АдресКорпус,АдресКвартира);
 СтруктураАдреса.Свойство("Город",Город);
 СтруктураАдреса.Свойство("НаселенныйПункт",НаселенныйПункт);
 СтруктураАдреса.Свойство("Улица",Улица);
 Если Не ЗначениеЗаполнено(Улица) Тогда
  ЭлементыФормы.АдресДоставки = ?(ЗначениеЗаполнено(Город),Город,НаселенныйПункт);
 Иначе
  ВыбранноеЗначение.Свойство("Дом",АдресДом);
  ВыбранноеЗначение.Свойство("Корпус",АдресКорпус);
  ВыбранноеЗначение.Свойство("Квартира",АдресКвартира);
 КонецЕсли;
Конецесли;
ЭлементыФормы.АдресДоставки = УправлениеКонтактнойИнформацией.ПредставлениеАдресаПоКоду(КодАдреса,АдресДом,АдресКорпус,АдресКвартира,Истина);
КонецПроцедуры
Закон Брукера: Даже маленькая практика стоит большой теории.