Имя: Пароль:
1C
1С v8
Несоответствие типов
,
0 galimovmaks
 
21.08.13
07:49
надо сделать сделать печатную форму в word. заполнить данные об организации, которые хранятся в регистре сведений контактная информация. пишу следущий код

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


выдает ошибку

{ВнешняяОбработка.ПечатьПорядокЛьготногоИТС.МодульОбъекта(25)}: Ошибка при вызове метода контекста (Выбрать)
     Адрес = КонИн.Выбрать(ОтборРегистра.Вид,);
по причине:
Несоответствие типов (параметр номер '1')


Подскажите что за ошибка?
1 Wobland
 
21.08.13
07:50
это значит, что первым параметром идёт хрень
2 galimovmaks
 
21.08.13
07:52
(0) {ВнешняяОбработка.ПечатьПорядокЛьготногоИТС.МодульОбъекта(25)}: Ошибка при вызове метода контекста (Выбрать)
     Адрес = КонИн.Выбрать(ОтборРегистра.Вид,);
по причине:
Несоответствие типов (параметр номер '1')
3 galimovmaks
 
21.08.13
07:53
(1) а что тогда будет не хрень?
4 razlagator
 
21.08.13
07:53
(2) ОтборРегистра.Вид - этого быть не должно
5 Wobland
 
21.08.13
07:53
конин - это такое вещество, которое препятствует чтению СП?
6 Wobland
 
21.08.13
07:54
(3) структура
7 razlagator
 
21.08.13
07:54
(3) Юзай запрос (с)
8 galimovmaks
 
21.08.13
07:55
(5) конин это регистр сведений контактная информация
9 Wobland
 
21.08.13
07:56
(8) так что ж тебе мешает взять и почитать?
10 galimovmaks
 
21.08.13
07:58
(7) мне по определенному ОтборРегистра.Вид нужно вывести определенную информацию. я выбираю Вид из Справочники.ВидыКонтактнойИнформации там есть и адрес и телефон и майл. а эта определенная инфа хранится в регистре, вот мне ее надо от туда получить
11 Wasya
 
21.08.13
07:58
Это как?
В коде:
     Адрес = КонИн.Выбрать(ОтборРегистра.Вид);
В сообщении об ошибке:
     Адрес = КонИн.Выбрать(ОтборРегистра.Вид,);
12 galimovmaks
 
21.08.13
07:59
(9) вот написано метод выбрать
13 Wobland
 
21.08.13
07:59
(10) думаю, он уже понял
14 Rie
 
модератор
21.08.13
07:59
(10) Внимательно почитай (6).
Потом - открой встроенную справку и прочитай, что это за структура.
15 galimovmaks
 
21.08.13
08:00
(11) без запятой) одна ошибка
16 galimovmaks
 
21.08.13
08:09
мда.. темный лес
17 Wobland
 
21.08.13
08:10
(16) какое слово не понятно?
18 galimovmaks
 
21.08.13
08:12
да там понятно. не работает ни чего
19 Starhan
 
21.08.13
08:14
И фамилия говорящая....


п.с. простите не удержался, просто юмор.
20 Starhan
 
21.08.13
08:16
Встань на слово Выбрать. Нажми синтаксис-помощник.  И прочитай про метод, может  там даже пример будет.
21 Rie
 
21.08.13
08:18
(18) Какие изменения внёс в код после чтения этой ветки и встроенной справки по методу Выбрать?
22 Rie
 
21.08.13
08:25
(0) А то долго будет...

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

При этом Адрес - тоже будет структурой.
23 Wobland
 
21.08.13
08:26
(22) выборкой он будет
24 galimovmaks
 
21.08.13
08:27
КонИн = РегистрыСведений.КонтактнаяИнформация;
     Организация = Строка(СсылкаНаОбъект.Организация);
     Контрагент = Строка(СсылкаНаОбъект.Контрагент);
     ОтборРегистра        = Новый Структура("Вид");
     //ОтборРегистра.Вставить("Значение",Справочники.ВидыКонтактнойИнформации.ФактАдресОрганизации);
     ОтборРегистра.Вид =Справочники.ВидыКонтактнойИнформации.ФактАдресОрганизации;
     Адрес = Строка( КонИн.Выбрать(ОтборРегистра) );



сделал так. теперь он просто пустую строку в документ вставляет
25 Rie
 
21.08.13
08:27
(23) Сам уже туплю :-(
26 Rie
 
21.08.13
08:29
(24) Вместо Выбрать - используй Получить. Указав при этом объект.
Или выбирай из Адрес.
27 Wobland
 
21.08.13
08:29
(24) видимо, выборка имеет пустое строковое представление. ни разу не делал так, даже не знаю ;)
28 galimovmaks
 
21.08.13
08:31
(26) {ВнешняяОбработка.ПечатьПорядокЛьготногоИТС.МодульОбъекта(24)}: Ошибка при вызове метода контекста (Получить)
     Адрес = Строка( КонИн.Получить(ОтборРегистра) );
по причине:
Недопустимое значение параметра (параметр номер '1')
29 Wobland
 
21.08.13
08:32
(28) ты здесь соврал или в (24)?
30 Wobland
 
21.08.13
08:32
(29) тфу.. марш читать про получить теперь
31 Rie
 
21.08.13
08:33
(28) У Получить (в отличие от Выбрать) - надо указывать _все_ измерения.
32 Starhan
 
21.08.13
08:35
Если так писать
Строка( КонИн.Выбрать(ОтборРегистра))


и с "Получить" ничего не выйдет
33 galimovmaks
 
21.08.13
08:36
(32) я так и пишу
34 Wobland
 
21.08.13
08:37
(33) цель достигнута?
35 galimovmaks
 
21.08.13
08:37
Вариант синтаксиса: Для непериодического регистра

Синтаксис:

Получить(<Отбор>)
Параметры:

<Отбор> (необязательный)

Тип: Структура. (31)

какие еще измерения??
36 Defender aka LINN
 
21.08.13
08:38
Это ливингстар ник поменял, или они просто из одного инкубатора?
37 galimovmaks
 
21.08.13
08:38
(34) нет. он пустую строку выдает
38 Wobland
 
21.08.13
08:39
(35) купи СП
Должны указываться значения для всех измерений.
39 Rie
 
21.08.13
08:39
(35) У регистра сведений есть такая штука - измерения называются.
40 Wobland
 
21.08.13
08:40
(36) не, ливингстар готовое хочет. а здесь товарищ просто не понимает. рад бы, да не доходит
41 Rie
 
21.08.13
08:45
(37) Что-то вроде
ОтборРегистра = Новый Структура("Объект,Вид,Тип");
// это - все три измерения регистра сведений КонтактнаяИнформация
// теперь задаём их значения
ОтборРегистра.Объект = СсылкаНаОбъект.Организация;
ОтборРегистра.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресОрганизации;
ОтборРегистра.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
// спрашиваем у регистра
СтруктАдрес = РегистрыСведений.КонтактнаяИнформация.Получить(ОтборРегистра);
// получили структуру, содержащую и значения ресурсов. Извлекаем нужное:
Адрес = СтруктАдрес.Представление;
// (тут возможны варианты - поэтому лучше использовать методы, преобразующие структуру адреса в строку адреса
42 galimovmaks
 
21.08.13
08:49
(41) огромное спасибо!!! адрес выводится!)) теперь для телефона надо сделать) буду дальше думать)
43 Starhan
 
21.08.13
08:51
(41) ну все, хрен он теперь СП откроет. Будет на мисту за готовым кодом ходить :)
44 Rie
 
21.08.13
08:58
(43) Ему не СП надо... СП - это лишь подсказка. ТС же, похоже, не понимает, что такое информационная база, как она устроена и с чем её едят (если "теперь для телефона надо сделать" вызывает трудности) :-(