Имя: Пароль:
1C
1С v8
поле адреса и форма ввода адреса в справочник
,
0 alexsandrinia
 
03.06.15
12:58
пишу конфу и необходимо в справочнике сделать заполнение адреса.
делал как https://forum.infostart.ru/forum86/topic111014/ но выводит ошибку
{ОбщийМодуль.УправлениеКонтактнойИнформацией.Модуль(135)}: Ошибка при вызове метода контекста (Выполнить)
    КонтактнаяИнформация = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией).Строки;
по причине:
{(13, 32)}: Поле не найдено "КонтактнаяИнформация.ЗначенияПолей"
ЕСТЬNULL(КонтактнаяИнформация.<<?>>ЗначенияПолей, "")    КАК ЗначенияПолей,

может, кто подскажет где подправить надо?
1 butterbean
 
03.06.15
13:01
кто-ж знает, что у тебя там за конфа
2 Enterprise
 
03.06.15
13:04
(0) табличная часть "Контактная информация" есть у справочника?
3 alexsandrinia
 
03.06.15
13:04
(2) есть
4 Fragster
 
гуру
03.06.15
13:05
5 alexsandrinia
 
03.06.15
13:07
(4) ага, ещё бы ввести логин и пароль...
6 Enterprise
 
03.06.15
13:17
(3) и реквизит у тч есть "ЗначенияПолей", да?
7 alexsandrinia
 
03.06.15
13:20
(6) есть
8 alexsandrinia
 
03.06.15
14:22
больше нет вариантов?
9 Рус Иван
 
03.06.15
14:25
Проверьте таблицу &ТаблицаКонтактнойИнформации
10 alexsandrinia
 
03.06.15
14:27
(9) каким образом?
11 Рус Иван
 
03.06.15
14:30
Точку останова в текущей процедуре поставьте, далее Отладка - Табло и введите Объект.КонтактнаяИнформация.Выгрузить()
12 Рус Иван
 
03.06.15
14:37
(9) (11) Это в случае если у вас переменная СсылкаНаОбъект пустая, иначе у вас должен быть справочник с ТЧ "КонтактнаяИнформация", имя которого задается в "ПолноеИмяОбъектаМетаданных". Код взят из процедуры УправлениеКонтактнойИнформацией.ПриСозданииНаСервере(...) БП 3.0.36.21
13 alexsandrinia
 
03.06.15
14:41
(12) СсылкаНаОбъект не пустая
14 Рус Иван
 
03.06.15
14:44
(13) Тогда у вас должен быть объект с ТЧ КонтактнаяИнформация и полем ЗначенияПолей. Имя объекта хранится в переменной "ПолноеИмяОбъектаМетаданных". Других вариантов пока нет
15 alexsandrinia
 
03.06.15
14:45
(12) справочник с ТЧ "КонтактнаяИнформация" тоже есть
16 alexsandrinia
 
03.06.15
14:46
(14) Имя объекта хранится в переменной "ПолноеИмяОбъектаМетаданных" - где это просмотреть можно?
17 Enterprise
 
03.06.15
14:47
(16)     СсылкаНаОбъект = Объект.Ссылка;
    МетаданныеОбъекта = СсылкаНаОбъект.Метаданные();
    ПолноеИмяОбъектаМетаданных =  МетаданныеОбъекта.ПолноеИмя();
18 Enterprise
 
03.06.15
14:50
как в (11) написано не помогло?
19 alexsandrinia
 
03.06.15
14:51
(17) ПолноеИмяОбъектаМетаданных тоже заполнено верно.

в чём вообще суть моей проблемы - необходимо сделать в форме заполнение адреса и номера телефона красиво, с новыми окнами, а не как поле ввода. есть аналогичные справочники - они работают нормально, когда я создаю новый по аналогии - выходит ошибка, которая описана в начале темы.
20 alexsandrinia
 
03.06.15
14:53
(18) Объект.КонтактнаяИнформация.Выгрузить() всё нормально выводит в табло...
21 Enterprise
 
03.06.15
14:54
(20) что выводит, покажи с реквизитами
22 alexsandrinia
 
03.06.15
14:57
(21)
Объект.КонтактнаяИнформация.Выгрузить()    ТаблицаЗначений    ТаблицаЗначений
Индексы    ИндексыКоллекции    ИндексыКоллекции
Колонки    КоллекцияКолонокТаблицыЗначений    КоллекцияКолонокТаблицыЗначений
АдресЭП    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Вид    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Город    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
ДоменноеИмяСервера    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
ЗначениеПолей    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
ИсходныйНомерСтроки    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
НомерСтроки    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
НомерТелефона    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
НомерТелефонаБезКодов    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Представление    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Регион    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Страна    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Тип    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
23 Enterprise
 
03.06.15
14:58
(22) "ЗначенияПолей" надо реквизит
24 Enterprise
 
03.06.15
14:58
(22) у тебя "ЗначениеПолей"
25 Рус Иван
 
03.06.15
14:58
(23)+1
26 alexsandrinia
 
03.06.15
15:02
блин, точно))) спасибо за внимательность!) теперь тоже посимвольно буду сверять всё
27 alexsandrinia
 
03.06.15
15:04
только у меня поля появились, но кнопки выбора адреса, с появлением нового окна для ввода, нет. как добавить?
28 Рус Иван
 
03.06.15
15:27
(27) покажите картинку
29 alexsandrinia
 
04.06.15
06:37
(28) не могу залить в инет фотку. в общем, появились просто строки, а мне нужно чтоб было поле выбора. по нему нажимаешь - выходит форма с заполнением номера телефона, адреса...
30 alexsandrinia
 
04.06.15
09:04
может, кто подскажет?
31 Fish
 
04.06.15
09:06
(30) Ну так посмотри, как в других справочниках это сделано, и сделай так же.
32 Вася Чез
 
04.06.15
09:09
(29) Форма = Документы.ПравильныйДокумент.ПолучитьФОрму("Твоя Форма");

Форма.Открыть();

Там уже программно можешь поле добавить и все остальное или в чем собственно проблема?
33 alexsandrinia
 
04.06.15
09:10
(31) так я сделал всё так же, но почему-то не появляется...может, упустил что-то? как проверить?
34 alexsandrinia
 
04.06.15
09:11
(32) проблема в том, что хочу воспользоваться стандартными методами
35 Fish
 
04.06.15
09:12
(33) "может, упустил что-то? как проверить?" - Открыть конфигуратор и посмотреть. Если не поможет, воспользоваться отладчиком. Других способов не знаю.
36 Вася Чез
 
04.06.15
09:15
(34) тогда только курение любой стандартной конфы тебе в помощь, справочник любой аля физлица
37 Fish
 
04.06.15
09:16
(36) см. (19): у него есть такие справочники.
38 alexsandrinia
 
04.06.15
09:16
когда открываю на предприятии форму, захожу "Все действия", там есть настройка формы. в табличной части Элементы есть группировки и группа ГруппаКомпоновкиКонтактнойИнформации. Может, там где-то нужно что-то сделать?
39 Enterprise
 
04.06.15
09:22
(38)                     
Если ДляТипаКонтактнойИнформацииДоступноРедактированиеВДиалоге(СтрокаТабличнойЧастиКИ.Тип) Тогда
Элемент.КнопкаВыбора = Истина;
40 alexsandrinia
 
04.06.15
09:32
(39) но этого нет в обычных справочниках, например, Организация
41 Enterprise
 
04.06.15
09:34
(40) + Предположу, что проблема с видами контактной информации. у тебя в справочнике ВидыКонтактнойИнформации должна быть группа, которая должна называться "Справочник<НазваниеСправочника>", а внутри добавлены нужные виды КИ с их типами
42 alexsandrinia
 
04.06.15
09:36
(41) есть уже, в справочнике ВидыКонтактнойИнформации в Предопределённые вбил
43 Enterprise
 
04.06.15
09:39
(42) Функция ДляТипаКонтактнойИнформацииДоступноРедактированиеВДиалоге(Тип)
    
    Если Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
        Возврат Истина;
    ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
        Возврат Истина;
    ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
        Возврат Истина;
    Иначе
        Возврат Ложь;
    КонецЕсли;
    
КонецФункции
44 Enterprise
 
04.06.15
09:40
(42) Сделай скрин, покажи
45 alexsandrinia
 
04.06.15
09:42
(44)многие ссылки на загрузку фото закрыты...
46 alexsandrinia
 
04.06.15
09:46
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
        МодульУправлениеКонтактнойИнформациейКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеКонтактнойИнформациейКлиент");
        Результат = МодульУправлениеКонтактнойИнформациейКлиент.ПредставлениеНачалоВыбора(ЭтотОбъект, Элемент, , СтандартнаяОбработка);
        ОбновитьКонтактнуюИнформацию(Результат);
    КонецЕсли;
КонецПроцедуры

вот такая процедура есть в модуле Организация, она же вызывает новое окно кнопкой выбора?
47 Enterprise
 
04.06.15
09:48
(45) Тогда найди в общем модуле "УпралениеКонтактнойИнформацией" строку
"// Создадим элементы на форме и заполним значения реквизитов" и в отладчике смотри что происходит
48 alexsandrinia
 
04.06.15
10:00
(47) зачем, если я не могу туда попасть, потому что нет поля ввода.
49 Enterprise
 
04.06.15
10:01
(48) Ты же говорил, что поля у тебя появились
50 alexsandrinia
 
04.06.15
10:12
(49) поля - просто строка ввода, а в правом углу нет кнопки выбора. в справочнике Организации такая кнопка есть и при нажатии выходит форма с заполнением телефона, адреса...
51 alexsandrinia
 
04.06.15
10:15
52 alexsandrinia
 
04.06.15
10:16
как так сделать?
53 Enterprise
 
04.06.15
10:17
(50) Вот тут создается твоё поле ввода с твоей кнопкой выбора.                     
Элемент = Форма.Элементы.Добавить(СтрокаТабличнойЧастиКИ.ИмяРеквизита, Тип("ПолеФормы"), ГруппаТабличнойЧасти);
Элемент.Вид = ВидПоляФормы.ПолеВвода;
Элемент.ПутьКДанным = "Объект." + ИмяТабличнойЧасти + "." + СтрокаТабличнойЧастиКИ.ИмяРеквизита;
                    
Если ДляТипаКонтактнойИнформацииДоступноРедактированиеВДиалоге(СтрокаТабличнойЧастиКИ.Тип) Тогда
    Элемент.КнопкаВыбора = Истина;
    Если ВидТЧ.РедактированиеТолькоВДиалоге Тогда
    Элемент.РедактированиеТекста = Ложь;
    КонецЕсли;
                        
    Элемент.УстановитьДействие("НачалоВыбора", "Подключаемый_КонтактнаяИнформацияНачалоВыбора");
54 Enterprise
 
04.06.15
10:19
(48) ты туда попадешь при открытии формы справочника
55 alexsandrinia
 
04.06.15
10:24
http://www.pictureshack.ru/images/68544_Bezymyannyi.png - может из-за отсутствия этих кнопок нет у меня поле выбора?
56 Enterprise
 
04.06.15
10:29
(55) Там не поля выбора, там поля ввода создаются с включенным/выключенным свойством "Кнопка выбора". Как посмотреть я написал в (47)
57 alexsandrinia
 
04.06.15
12:37
(56) смотрю, но не могу понять - что именно мне нужно смотреть?
58 Enterprise
 
04.06.15
12:54
(57) Условие (39)
59 alexsandrinia
 
05.06.15
09:25
в конфигураторе есть другие справочники, где уже есть в форме поля ввода со свойством "кнопка выбора". но теперь у меня другая проблема
http://www.pictureshack.ru/images/3797_Bezymyannyi.jpg
http://www.pictureshack.ru/images/24320_Bezymyannyi1.jpg
где в конфигураторе нужно сделать, чтоб нормально тип появлялся?
если в предприятии скопировать например, телефон - то всё нормально появляется и кнопка выбора в поле ввода появляется.
60 Fish
 
05.06.15
09:38
(59) Ну так напиши процедуру по начальному заполнению справочника.
61 alexsandrinia
 
05.06.15
09:39
(60) так другие же справочники обходятся без этого, вот я и хочу понять, как у них всё реализовано.
62 Fish
 
05.06.15
09:48
(61) Не обходятся. Они так же заполняются программно при первом запуске.
63 Fish
 
05.06.15
09:49
+(62) Например, в моей конфе процедура называется КонтактнаяИнформацияОбновлениеИБ()
64 alexsandrinia
 
05.06.15
09:52
(62)да, но они написаны где-то, и просто ссылаются на то место. зачем мне писать, когда уже где-то это есть. вопрос в том, что у меня не попадает в нужную процедуру заполнения, видимо, где-то что-то не проставил или не указал...
65 alexsandrinia
 
05.06.15
09:54
(64) вследствие чего выходит ошибка "Ошибка десериализации контактной информации, не указан ожидаемый тип"
66 Fish
 
05.06.15
09:56
(64) А как она попадёт, если у тебя нету вызова заполнения для твоего справочника? Это надо дописать.
67 alexsandrinia
 
05.06.15
10:01
(66) так я и модуле формы и дописываю, по аналогии с другими справочниками - как у них там написано, но у меня почему-то не срабатывает, а там всё работает.
68 Fish
 
05.06.15
10:03
(67) При чём здесь модуль формы? Заполнение идёт ОДИН РАЗ при обновлении конфы. Там и ищи.
69 alexsandrinia
 
05.06.15
10:06
(68) можно тут подробнее рассказать?
70 Enterprise
 
05.06.15
10:07
(69) Что у тебя за конфа? и если там БСП?
71 alexsandrinia
 
05.06.15
10:10
(70)Стандартные подсистемы есть
72 Enterprise
 
05.06.15
10:13
(71) Для Каждого вида КИ ты должен один раз вызвать что-то вроде этого:
    // Справочник "Организации"
    ПараметрыПроверкиЮрАдреса = Новый Структура;
    ПараметрыПроверкиЮрАдреса.Вставить("АдресТолькоРоссийский", Истина);
    ПараметрыПроверкиЮрАдреса.Вставить("ПроверятьКорректность", Истина);
    ПараметрыПроверкиЮрАдреса.Вставить("ЗапрещатьВводНекорректного", Истина);
    ПараметрыПроверкиЮрАдреса.Вставить("СкрыватьНеактуальныеАдреса", Ложь);
    ПараметрыПроверкиЮрАдреса.Вставить("ВключатьСтрануВПредставление", Ложь);
    
    УправлениеКонтактнойИнформацией.ОбновитьВидКонтактнойИнформации(Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации, Перечисления.ТипыКонтактнойИнформации.Адрес, НСтр("ru='Юридический адрес организации'"), Истина, Ложь, Ложь, 1,, ПараметрыПроверкиЮрАдреса);
73 Enterprise
 
05.06.15
10:14
(72) + Тогда твои предопределенные виды КИ заполнятся как надо и кнопки выбора появятся
74 alexsandrinia
 
05.06.15
10:16
(71) где мне это надо написать? в форме нового справочника?
75 Enterprise
 
05.06.15
10:29
(74) При начальном заполнении базы это лучше сделать
76 alexsandrinia
 
05.06.15
10:36
(75) не понял
77 Enterprise
 
05.06.15
11:26
(76) при первом запуске или обновлении конфигурации
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.