|
Ошибка чтения значения при отладке | ☑ | ||
---|---|---|---|---|
0
Altanzar
15.08.12
✎
08:10
|
Имеется последовательность запросов следующего вида:
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийСотрудник", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | СотрудникиОрганизаций.Физлицо, | СотрудникиОрганизаций.Физлицо.Наименование КАК ФИО, | СотрудникиОрганизаций.Организация.Наименование КАК Организация, | СотрудникиОрганизаций.Должность.Наименование КАК Должность, | СотрудникиОрганизаций.ПодразделениеОрганизации.Наименование КАК Подразделение, | СотрудникиОрганизаций.ТарифнаяСтавка, | ПаспортныеДанныеФизЛиц.ФизЛицо.Наименование КАК ФизЛицоНаименование1, | ПаспортныеДанныеФизЛиц.ДокументСерия, | ПаспортныеДанныеФизЛиц.ДокументНомер |ИЗ | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц КАК ПаспортныеДанныеФизЛиц | ПО СотрудникиОрганизаций.Физлицо.Наименование = ПаспортныеДанныеФизЛиц.ФизЛицо.Наименование |ГДЕ | СотрудникиОрганизаций.Ссылка = &ТекущийСотрудник"; Сотрудник = Запрос.Выполнить().Выбрать(); Сотрудник.Следующий(); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ВидАдреса", "Адрес по прописке физ.лица"); Запрос.УстановитьПараметр("ТекущийСотрудник", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | СотрудникиОрганизаций.Физлицо.Наименование, | КонтактнаяИнформация.Объект.Наименование, | КонтактнаяИнформация.Вид, | КонтактнаяИнформация.Представление |ИЗ | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО СотрудникиОрганизаций.Физлицо.Наименование = КонтактнаяИнформация.Объект.Наименование |ГДЕ | СотрудникиОрганизаций.Ссылка = &ТекущийСотрудник | И КонтактнаяИнформация.Вид = &ВидАдреса"; ВыборкаАдреса = Запрос.Выполнить().Выбрать(); ВыборкаАдреса.Следующий(); Запрос = Новый Запрос; Запрос.УстановитьПараметр("Телефон", "Телефон"); Запрос.УстановитьПараметр("ТекущийСотрудник", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | СотрудникиОрганизаций.Физлицо.Наименование, | КонтактнаяИнформация.Объект.Наименование, | КонтактнаяИнформация.Тип, | КонтактнаяИнформация.Представление |ИЗ | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО СотрудникиОрганизаций.Физлицо.Наименование = КонтактнаяИнформация.Объект.Наименование |ГДЕ | СотрудникиОрганизаций.Ссылка = &ТекущийСотрудник | И КонтактнаяИнформация.Тип = &Телефон"; ВыборкаТелефона = Запрос.Выполнить().Выбрать(); ВыборкаТелефона.Следующий(); Соответственно, когда в тексте печатной формы идет обращение параметров к результатам этих запросов, часть ячеек распечатанного документа остается пустой, а проверка через Отладчик говорит "Ошибка чтения значения". Что характерно, наименование физлица, паспортные данные и название организации вытащить удается, а вот к примеру названия подразделения или должности - нет. В чем может быть проблема? |
|||
1
butterbean
15.08.12
✎
08:19
|
за соединения по наименованию убить на месте
а по сути — вопрос не понятен, что не получается-то?? |
|||
2
Лоботряс
15.08.12
✎
08:24
|
Как заполняются параметры печатной формы код кинь
|
|||
3
Altanzar
15.08.12
✎
08:30
|
(1)
По сути - не получается вывести должность, подразделение, тарифную ставку, адрес и телефон. И как тогда лучше соединять? (2) ТабДокумент = Новый ТабличныйДокумент; Макет = ПолучитьМакет("ТрудовойДоговор"); ОбластьМакетаДоговор = Макет.ПолучитьОбласть("Договор"); ОбластьМакетаДоговор.Параметры.Подразделение = Сотрудник.Подразделение; ОбластьМакетаДоговор.Параметры.РаботникДолжность = Сотрудник.Должность; Пример фрагмента. Смотрел регистры - все нужные сведения есть. Но не отображаются. |
|||
4
Лоботряс
15.08.12
✎
08:42
|
Попробуй вычислить выражение Сотрудник[3]
|
|||
5
Altanzar
15.08.12
✎
08:46
|
(4)Не слышал пока про такое, это как?
|
|||
6
kn
15.08.12
✎
08:51
|
Что получается в каждом запросе можно посмотреть отладчиком
так - Вычислить выражение Запрос.Выполнить().Выгрузить() - Это будет ТЗ - ее содержимое смотри ПКМ |
|||
7
Лоботряс
15.08.12
✎
09:00
|
(5) Смотри СП по ВыборкаИзРезультатаЗапроса
(3) Еще вариант что в макете, в ячейках параметры как-то по-другому названы |
|||
8
ZloyProger
15.08.12
✎
09:08
|
(3) Во избежание путаницы сделай проще:
ОбластьМакетаДоговора.Заполнить(Сотрудник) Единственное, поля в запросе назови так же, как параметры в макете и все. (5) В режиме отладки выделяешь нужную переменную и нажимаешь Shift+F9 (либо через меню Отладка, там тоже много чего интересного и полезного - полюбопытствуй) |
|||
9
Altanzar
15.08.12
✎
09:18
|
(8) Там и метода-то такого нет - Заполнить. Оо
|
|||
10
Altanzar
15.08.12
✎
09:24
|
(6)
Выгрузил. Характеристики данных есть, самих данных нет. Через Shift+F9 тип всех выражений Неопределено. |
|||
11
kn
15.08.12
✎
09:27
|
Значит запрос вернул пустую ТЗ, можешь проверить что
Запрос.Выполнить().Пустой() что вернет? |
|||
12
ZloyProger
15.08.12
✎
09:30
|
+(8) Тьфу блин( ОбластьМакетаДоговара.Параметры.Заполнить(Сотрудник). Апчипятка, сорри..
|
|||
13
ZloyProger
15.08.12
✎
09:35
|
(3) Соединяй по ссылке:
//1 запрос ПО СотрудникиОрганизаций.Физлицо = ПаспортныеДанныеФизЛиц.ФизЛицо //2 запрос ПО СотрудникиОрганизаций.Физлицо = КонтактнаяИнформация.Объект //3 запрос ПО СотрудникиОрганизаций.Физлицо = КонтактнаяИнформация.Объект И еще, поскольку у тебя объект Запрос - один, не устанавливай каждый раз параметр "ТекущийСотрудник", вполне первого раза достаточно, а дальше он уже будет установлен. |
|||
14
kn
15.08.12
✎
09:40
|
Запрос.УстановитьПараметр("ВидАдреса", "Адрес по прописке физ.лица");
Запрос.УстановитьПараметр("Телефон", "Телефон"); не строковые параметры там должны передаваться |
|||
15
Altanzar
15.08.12
✎
09:47
|
Кстати, когда просматриваю карточку сотрудника и выбираю пункт "Должность" во вкладке "Кадровые данные", меня перекидывает на документ принятия на работу. Значит ли это, что за сведениями о должности и подразделении обращаться следует к этому документу?
|
|||
16
ZloyProger
15.08.12
✎
09:53
|
(15) Какая конфига?
(14) Ага, там должно передаваться значение типа измерения "Вид" регистра сведений "КонтактнаяИнформация" (телепатирую, что скорее всего Справочник.ВидыКонтактнойИнформации, соответственно будет что-то типа Справочник.ВидыКонтактнойИнформации.НайтиПоНаименованию("Телефон") и т.д.) |
|||
17
Altanzar
15.08.12
✎
11:42
|
Все, проехали. Ошибка была настолько дурацкая, что мне даже рассказывать стыдно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |