|
Фактический адрес контрагента 1С 8.2 УТ 10.3 | ☑ | ||
---|---|---|---|---|
0
Godunov
10.03.16
✎
13:40
|
Приветствую всех гуру 1С.
Есть задача, необходимо в печатной форме отобразить фактический адрес контрагента, который показан на рисунке. http://savepic.su/7112847.png Кучу статей в инете перерыл, много кода испробовал, но не один не отображает сам фактический адрес... На данный момент такой код: ОбластьМакета = Макет.ПолучитьОбласть("Поставка"); ОбластьМакета.Параметры.Заполнить(ПараметрыПечати); ОбластьМакета.Параметры.Контрагент = СсылкаНаОбъект.Контрагент.НаименованиеПолное; ОбластьМакета.Параметры.ФактАдрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический"); ТабДокумент.Вывести(ОбластьМакета); нажимаю кнопку Печать с выбором нужной формы, пишет такую ошибку: Не удалось сформировать внешнюю печатную форму! Поле объекта не обнаружено (ФактАдрес) Специалисты, подскажите\помогите новичку с кодом... Заранее благодарю... |
|||
1
Amra
10.03.16
✎
13:42
|
Адрес то ты получаешь повидимому, но проблема в том, что в макете нет параметра "Фактадрес"
|
|||
2
Godunov
10.03.16
✎
13:51
|
||||
3
FIXXXL
10.03.16
✎
13:52
|
(2) он точно Параметр?
|
|||
4
FIXXXL
10.03.16
✎
13:53
|
и в области нужной находится?
|
|||
5
Godunov
10.03.16
✎
13:56
|
Да параметр и в нужной области находится, остальные позиции мне отображаются как надо, вот только затык возник с фактическим адресом...
|
|||
6
hhhh
10.03.16
✎
15:33
|
(5) отладчиком посмотри тогда
|
|||
7
Timon1405
10.03.16
✎
15:38
|
что-нибудь не пересохранил и отлаживаешь старую форму?
|
|||
8
Godunov
10.03.16
✎
16:24
|
На коде:
ОбластьМакета.Параметры.ФактАдрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический"); Поставил точку останова, запустил отладчик, нажимаю кнопку печать, выбираю форма и снова ошибка возникает: Не удалось сформировать внешнюю печатную форму! Поле объекта не обнаружено (ФактАдрес) (7) Сохранил, всё актуальное... |
|||
9
torgm
10.03.16
✎
16:29
|
У фактадрес в макете случайно пробелов нет?
Точно параметр а не шаблон? |
|||
10
Fish
10.03.16
✎
16:29
|
(8) Значит, ОбластьМакета не та.
|
|||
11
Godunov
10.03.16
✎
16:38
|
(9) Пробелов нет, точно параметр, во втором моём посте рисунок есть, там показан параметр.
(10) Ради проверки сменил имя в области макета с ФактАдрес на ФактАдресКонтрагента в коде прописал: ОбластьМакета.Параметры.ФактАдресКонтрагента = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический"); Ошибка та же - Поле объекта не обнаружено (ФактАдрес) |
|||
12
Amra
10.03.16
✎
16:55
|
(11) Значит в справочнике ВидыКонтактнойИнформации нет такого предопределенного элемента. Скорее всего переименовали, а в коде не сменили
|
|||
13
Godunov
10.03.16
✎
17:09
|
(12) Да, его там нет, конфа обычная (в моём случае тестовая для обкатки задач).
http://savepic.su/7099525.png Данный код: УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический"); Нашёл в инете, людям помогало решение, в моём же случае ошибка выводится... |
|||
14
hhhh
10.03.16
✎
17:17
|
(13) вставь там
Сообщить("" + УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический")); |
|||
15
hhhh
10.03.16
✎
17:20
|
(13) проверь еще на английские буквы ФактАдресКонтрагента. Лучше для верности скопипасть это слово из макета в программу.
|
|||
16
Chameleon1980
10.03.16
✎
17:21
|
а бы тут точку поставил останова
Функция ПолучитьАдресИзКонтактнойИнформации(Объект, ТипАдреса = "") Экспорт |
|||
17
Chameleon1980
10.03.16
✎
17:22
|
хотя нет
из за этой функции ошибку бы не писало |
|||
18
Chameleon1980
10.03.16
✎
17:23
|
там полюбому что то возращается
|
|||
19
Godunov
10.03.16
✎
17:23
|
(15) ОбластьМакета = Макет.ПолучитьОбласть("Поставка");
ОбластьМакета.Параметры.Заполнить(ПараметрыПечати); ОбластьМакета.Параметры.Контрагент = СсылкаНаОбъект.Контрагент.НаименованиеПолное; ОбластьМакета.Параметры.ФактАдрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический"); Сообщить("" + УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический")); ТабДокумент.Вывести(ОбластьМакета); Копипастил... Всё равно та же ошибка... |
|||
20
Godunov
10.03.16
✎
17:25
|
Немного не тот кусок кода скопировал, не ФактАдрес, а ФактАдресКонтрагента
|
|||
21
Godunov
10.03.16
✎
17:26
|
ОбластьМакета = Макет.ПолучитьОбласть("Поставка");
ОбластьМакета.Параметры.Заполнить(ПараметрыПечати); ОбластьМакета.Параметры.Контрагент = СсылкаНаОбъект.Контрагент.НаименованиеПолное; ОбластьМакета.Параметры.ФактАдресКонтрагента = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический"); Сообщить("" + УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический")); ТабДокумент.Вывести(ОбластьМакета); Вот так щас с ошибкой. |
|||
22
hhhh
10.03.16
✎
17:30
|
(21) ну так
ФактАдресКонтрагента = Новый Структура("ФактАдресКонтрагента", УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический")); ОбластьМакета.Параметры.Заполнить(ФактАдресКонтрагента); |
|||
23
Godunov
10.03.16
✎
17:34
|
(22) ОбластьМакета = Макет.ПолучитьОбласть("Поставка");
ОбластьМакета.Параметры.Заполнить(ПараметрыПечати); ОбластьМакета.Параметры.Контрагент = СсылкаНаОбъект.Контрагент.НаименованиеПолное; ФактАдресКонтрагента = Новый Структура("ФактАдресКонтрагента", УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический")); ОбластьМакета.Параметры.Заполнить(ФактАдресКонтрагента); ТабДокумент.Вывести(ОбластьМакета); И всё равно ошибка... Поле объекта не обнаружено (ФактАдрес) |
|||
24
rt2000
10.03.16
✎
17:38
|
(23) В отладчик зайди, и посмотри какие параметры доступны в:
ОбластьМакета.Параметры |
|||
25
hhhh
10.03.16
✎
17:46
|
(23) эту печатную форму где взял? из базы выгрузил?
|
|||
26
SadrArt
10.03.16
✎
17:49
|
Да причем здесь параметр...
Он уже переименовал его. А ругается по прежнему на "ФактАдрес" В ошибке (или по кнопке подробнее), нет адреса модуля и строки в которой возникает ошибка. Думается проблема внутри метода УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации() |
|||
27
SadrArt
10.03.16
✎
17:50
|
(26) В ошибке (или по кнопке подробнее), нет адреса модуля и строки в которой возникает ошибка?
|
|||
28
Chameleon1980
10.03.16
✎
17:52
|
я смотрел одну из типовых 10.3
тоже ринулся туда - думал помогу дык там просто все: Функция ПолучитьАдресИзКонтактнойИнформации(Объект, ТипАдреса = "") Экспорт Если НЕ ЗначениеЗаполнено(ТипАдреса) Тогда Возврат ""; КонецЕсли; Если ТипАдреса="Фактический" Тогда Начало = "Факт"; ИначеЕсли ТипАдреса="Регистрации" ИЛИ ТипАдреса="Юридический" Тогда Начало = "Юр"; Иначе Возврат ""; КонецЕсли; Если ТипЗнч(Объект) = Тип("СправочникСсылка.Организации") Тогда Окончание = "Организации"; ИначеЕсли ТипЗнч(Объект) = Тип("СправочникСсылка.Контрагенты") Тогда Окончание = "Контрагента"; КонецЕсли; ВидАдреса = Справочники.ВидыКонтактнойИнформации[Начало+"Адрес"+Окончание].ПолучитьОбъект().Ссылка; Запрос = Новый Запрос; Запрос.УстановитьПараметр("Объект", Объект); Запрос.УстановитьПараметр("Тип" , Перечисления.ТипыКонтактнойИнформации.Адрес); Запрос.УстановитьПараметр("Вид" , ВидАдреса); Запрос.Текст = " |ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 | КонтактнаяИнформация.Представление |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Объект = &Объект | И | КонтактнаяИнформация.Тип = &Тип | И | КонтактнаяИнформация.Вид = &Вид |"; РезультатЗапроса = Запрос.Выполнить(); Если РезультатЗапроса.Пустой() Тогда Возврат ""; Иначе Возврат РезультатЗапроса.Выгрузить()[0].Представление; КонецЕсли; КонецФункции // ПолучитьАдресИзКонтактнойИнформации() |
|||
29
Godunov
10.03.16
✎
18:09
|
Позже буду, позже всё проверю и отвечу...
|
|||
30
Godunov
10.03.16
✎
19:17
|
(25) Есть внешняя печатная форма "счёт на оплату покупателю", её взял и переделывал под свою задачу, что-то убрал, что-то добавил.
(26) Да, весь затык в методе УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации() Окна с ошибкой нет с кнопкой подробнее, ошибка отображается так, как показано в ссылке. http://savepic.su/7138456.png |
|||
31
Godunov
10.03.16
✎
19:21
|
(28) Я тоже туда залез проверить (Общий модуль УправлениеКонтактнойИнформацией), всё правильно в коде, а ошибка в моём случае возникает...
|
|||
32
ВРедная
10.03.16
✎
19:25
|
(31) Ответь на (26)
А также напиши, как ты этот внешний отчет запускаешь. |
|||
33
ВРедная
10.03.16
✎
19:26
|
Отлаживай его через файл-открыть, а не прикрепляй каждый раз в справочник внешних обработок. Тогда будет возможность увидеть в какой строке ошибка.
|
|||
34
Chameleon1980
10.03.16
✎
19:29
|
(33) это если правильно сделана ВПФ (с полем и кнопкой).
а так можно понатыкать сообщить("тут 1"); сообщить("тут 1"); |
|||
35
Chameleon1980
10.03.16
✎
19:30
|
автор или кинул бы уже куда впф эту (если разработка не секретная)
|
|||
36
Godunov
10.03.16
✎
19:32
|
Лишнее уберу в ВПФ и скину ссылку на неё...
|
|||
37
Godunov
10.03.16
✎
19:47
|
(32) Загружаю через Сервис - внешние печатные формы и обработки - внешние печ. формы - там создаю новую форму и подгружаю файл.
(35) https://cloud.mail.ru/public/MYch/eDnrdTkV2 Строка 629 Проверьте... |
|||
38
Godunov
10.03.16
✎
19:51
|
(33) Делаю файл - открыть - выбираю файл - и тишина, ничего не открывается и никаких ошибок нет...
|
|||
39
Chameleon1980
10.03.16
✎
19:54
|
создать форму
вынести на форму СсылкаНаОбъект по кнопке Сформировать выхвать Печать() |
|||
40
Chameleon1980
10.03.16
✎
19:56
|
у меня счас на другое ругается на реквизит "СрокПоставки" в документе.
у меня нет в документах для это впф такого реквизита. счас или добавлю или запрос переделаю чтобы докопаться до изначальной ошибки |
|||
41
Chameleon1980
10.03.16
✎
20:00
|
(39) для (38)
|
|||
42
Мимохожий Однако
10.03.16
✎
20:03
|
Наверняка в ячейке с "ФактАдрес" свойство не параметр. Но при хаотичном подходе ТС это обнаружится не ранее 100 поста.ИМХО
|
|||
43
Godunov
10.03.16
✎
20:05
|
(42) Повторюсь, во втором моём посте есть ссылка на рисунок в котором показано, что свойство - параметр, также недавно скинул ВПФ, можете сами проверить в макете, что стоит параметр...
|
|||
44
Chameleon1980
10.03.16
✎
20:06
|
пля - реквизит СрокПоставки это реквизит ТЧ
|
|||
45
Chameleon1980
10.03.16
✎
20:09
|
подтвержу - там параметр
|
|||
46
Godunov
10.03.16
✎
20:10
|
(39) Так как новичок, много вопросов возникает с работой 1С.
http://savepic.su/7083162.png "вынести на форму СсылкаНаОбъект по кнопке Сформировать выхвать Печать()" Как это сделать? Простите за глупый вопрос, если что, сильно не ругайте...)) |
|||
47
Chameleon1980
10.03.16
✎
20:15
|
вот скачай
https://drive.google.com/drive/folders/0B01xNOomgP9XMVJTNTM3Qk1iYlk открой через файл выбери в поле документ жмакни Сформировать и полный текст ошибки потом пришли сюда |
|||
48
Chameleon1980
10.03.16
✎
20:16
|
а то у меня теперь ругается на твой (личный похоже) справочник Справочник.НаименованияНоменклатурыДляКонтрагентов
|
|||
49
Мимохожий Однако
10.03.16
✎
20:17
|
У тебя в функции Печать() не Возврат. Есть некоторая кучка ошибок в запросе. Поэтому добраться до твоей первоначальной ошибки пока не добраться. Переписывать код для продирания через заросли недоделок неохота.
|
|||
50
Мимохожий Однако
10.03.16
✎
20:18
|
*не Возврат. = Нет Возврат
|
|||
51
SadrArt
10.03.16
✎
20:18
|
(28) Как и предполагал разгадка кроется внутри метода...
Скорее всего вот в этой строчке ВидАдреса = Справочники.ВидыКонтактнойИнформации[Начало+"Адрес"+Окончание].ПолучитьОбъект().Ссылка; Потому как похоже в конфигурации нет предопределенного ВидаКонтактнойИнформации "ФактАдрес", на который идет ссылка |
|||
52
Godunov
10.03.16
✎
20:20
|
(47) Не открывается по ссылке, вот такое пишется...
http://savepic.su/7109789.png |
|||
53
Chameleon1980
10.03.16
✎
20:23
|
(52) доступ надо было дать
https://drive.google.com/folderview?id=0B01xNOomgP9XMVJTNTM3Qk1iYlk&usp=sharing |
|||
54
Godunov
10.03.16
✎
20:24
|
(51) Да, нету там предопределенного ВидаКонтактнойИнформации "ФактАдрес".
http://savepic.su/7099525.png |
|||
55
Chameleon1980
10.03.16
✎
20:24
|
в пвх там это вроде лежит а не в спр
|
|||
56
SadrArt
10.03.16
✎
20:24
|
(54) По скрину этого не видно
|
|||
57
Chameleon1980
10.03.16
✎
20:26
|
(54) правой кнопкой по справочнику ВидыКонтактнойИнформации
Открыть предопределеннные данные (56) думаю при этом ругалось бы на запрос |
|||
58
Chameleon1980
10.03.16
✎
20:28
|
Автор качай уже обработку подправленную через запуск через файл октрыть и пиши ошибку
|
|||
59
Chameleon1980
10.03.16
✎
20:28
|
я уже и справочник добавил он мне теперь
ооо. я вроде дошел до ошибки {ОбщийМодуль.УправлениеКонтактнойИнформацией.Модуль(1989)}: Поле объекта не обнаружено (ФактАдрес) ВидАдреса = Справочники.ВидыКонтактнойИнформации[Начало+"Адрес"+Окончание].ПолучитьОбъект().Ссылка; |
|||
60
Godunov
10.03.16
✎
20:29
|
(47) Вот текст...
{ОбщийМодуль.УправлениеКонтактнойИнформацией.Модуль(1989)}: Поле объекта не обнаружено (ФактАдрес) ВидАдреса = Справочники.ВидыКонтактнойИнформации[Начало+"Адрес"+Окончание].ПолучитьОбъект().Ссылка; |
|||
61
Godunov
10.03.16
✎
20:30
|
(59) Инет на компе отвалился, не сразу ответил...
|
|||
62
Chameleon1980
10.03.16
✎
20:30
|
(51) прав
|
|||
63
Chameleon1980
10.03.16
✎
20:35
|
хотя стоп
тут вроде другая непонятка |
|||
64
Chameleon1980
10.03.16
✎
20:38
|
там жеж уже все в структуре получено
счас |
|||
65
Мимохожий Однако
10.03.16
✎
20:41
|
(51)Прикольно..Берем ссылку, получаем объект, берем ссылку
|
|||
66
SadrArt
10.03.16
✎
20:41
|
(57) > думаю при этом ругалось бы на запрос
С чего это? До запроса дело не доходит. |
|||
67
Chameleon1980
10.03.16
✎
20:43
|
пардон - верно
|
|||
68
SadrArt
10.03.16
✎
20:43
|
(65) При этом, как я понял, это типовой механизм.
Правда сам конфигурацию не открывал не смотрел. |
|||
69
Chameleon1980
10.03.16
✎
20:43
|
(65) тоже чет удивило
|
|||
70
Godunov
10.03.16
✎
20:44
|
1С:Предприятие 8.2 (8.2.19.130)
"Управление торговлей", редакция 10.3 (10.3.18.3) |
|||
71
SadrArt
10.03.16
✎
20:48
|
Для решения надо сделать (54) и добавить новый предопределенный элемент - ФактАдрес
Но это только избавит от текущей ошибки. Но не выведет текущие "фактические" адреса на печатную форму, потому как очевидно Вид у них другой. Кстати, какой? |
|||
72
Chameleon1980
10.03.16
✎
20:49
|
я нашел кажись
|
|||
73
Chameleon1980
10.03.16
✎
20:51
|
сюда ПолучитьАдресИзКонтактнойИнформации приходит неопределено
и вот тут перед ВидАдреса = Справочники.ВидыКонтактнойИнформации[Начало+"Адрес"+Окончание].ПолучитьОбъект().Ссылка; идет Если ТипЗнч(Объект) = Тип("СправочникСсылка.Организации") Тогда Окончание = "Организации"; ИначеЕсли ТипЗнч(Объект) = Тип("СправочникСсылка.Контрагенты") Тогда Окончание = "Контрагента"; КонецЕсли; |
|||
74
Chameleon1980
10.03.16
✎
20:52
|
искать нужно почему в впф в параметры для получения конт информации уходит неопределено а не контрагент
|
|||
75
Chameleon1980
10.03.16
✎
20:55
|
счас вышлю рабочую
|
|||
76
Chameleon1980
10.03.16
✎
20:55
|
или заменить просто
// Изменить // ОбластьМакета.Параметры.ФактАдресКонтрагента = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический"); //Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; //Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес контрагента"); ОбластьМакета.Параметры.ФактАдресКонтрагента = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(СсылкаНаОбъект.Контрагент, "Фактический"); |
|||
77
Chameleon1980
10.03.16
✎
20:56
|
не контрагента передавать, а СсылкаНаОбъект.Контрагент
|
|||
78
Chameleon1980
10.03.16
✎
20:57
|
||||
79
Godunov
10.03.16
✎
20:57
|
Проверю...
|
|||
80
Chameleon1980
10.03.16
✎
20:59
|
||||
81
Godunov
10.03.16
✎
21:00
|
(78) АЛЛИЛУЯ!!! От души благодарю, затык был всего навсего в "СсылкаНаОбъект"...)))
Плюс к 100 к карме к каждому кто помогал, в особенности Chameleon1980))) |
|||
82
Chameleon1980
10.03.16
✎
21:01
|
аааа.
в модуле Перем Контрагент экспорт; и потом в функцию для получения адреса отправляется этот контрагент. а где присвоение то этой переменной чего? |
|||
83
Godunov
10.03.16
✎
21:05
|
(82) эту переменную надо удалить, она не нужна.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |