|   |   | 
| 
 | Фактический адрес контрагента 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) эту переменную надо удалить, она не нужна.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |