8.х УНФ Почтовый адрес организации

Тема в разделе ""1С:Управление небольшой фирмой УНФ"", создана пользователем AlexeyK, 13 июл 2012.

  1. TopicStarter Overlay
    AlexeyK
    Offline

    AlexeyK

    Регистрация:
    10 июл 2012
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Подскажите, пожалуйста, как в конфигураторе обратиться к почтовому адресу организации? С юридическим проблем нет, а почтовый никак не найти. Нужно для изменения макета счетов на оплату.
  2. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Покажите запрос, где у Вас получается юридический адрес
  3. TopicStarter Overlay
    AlexeyK
    Offline

    AlexeyK

    Регистрация:
    10 июл 2012
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Вот, в самом конце. Заполненный мной юридический адрес выводится на печать верно, но если я в области поставщика поменяю "ЮридическийАдрес" на "ПочтовыйАдрес" (что логично, т.к. заполняются они в одной и той же форме), то ничего не выведется. Получается, доступ к почтовому адресу выполняется иначе, чем к юридическому? Или я просто неправильно написал имя поля?

    Код:
     ТабличныйДокумент = Новый ТабличныйДокумент;
    
    Запрос = Новый Запрос();
    Запрос.Текст =
    "ВЫБРАТЬ
    | СчетНаОплату.Ссылка КАК Ссылка,
    | СчетНаОплату.СуммаВключаетНДС КАК СуммаВключаетНДС,
    | СчетНаОплату.ВалютаДокумента КАК ВалютаДокумента,
    | СчетНаОплату.Дата КАК ДатаДокумента,
    | СчетНаОплату.Номер КАК Номер,
    | СчетНаОплату.БанковскийСчет КАК БанковскийСчет,
    | СчетНаОплату.Контрагент КАК Контрагент,
    | СчетНаОплату.Организация КАК Организация,
    | СчетНаОплату.Организация.Префикс КАК Префикс,
    | СчетНаОплату.Запасы.(
    |  ВЫБОР
    |   КОГДА (ВЫРАЗИТЬ(СчетНаОплату.Запасы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))) = """"
    |	ТОГДА СчетНаОплату.Запасы.Номенклатура.Наименование
    |   ИНАЧЕ ВЫРАЗИТЬ(СчетНаОплату.Запасы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))
    |  КОНЕЦ КАК Запас,
    |  Номенклатура.Артикул КАК Артикул,
    |  ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |  Цена КАК Цена,
    |  Сумма КАК Сумма,
    |  СуммаНДС КАК СуммаНДС,
    |  Количество КАК Количество,
    |  Характеристика,
    |  Содержание,
    |  ПроцентСкидкиНаценки,
    |  ВЫБОР
    |   КОГДА СчетНаОплату.Запасы.ПроцентСкидкиНаценки <> 0
    |	ТОГДА 1
    |   ИНАЧЕ 0
    |  КОНЕЦ КАК ЕстьСкидка,
    |  НомерСтроки КАК НомерСтроки
    | ),
    | СчетНаОплату.ПлатежныйКалендарь.(
    |  ПроцентОплаты,
    |  СуммаОплаты,
    |  СуммаНДСОплаты
    | )
    |ИЗ
    | Документ.СчетНаОплату КАК СчетНаОплату
    |ГДЕ
    | СчетНаОплату.Ссылка В(&МассивОбъектов)
    |
    |УПОРЯДОЧИТЬ ПО
    | Ссылка,
    | НомерСтроки";
    
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    
    Шапка = Запрос.Выполнить().Выбрать();
    
    ПервыйДокумент = Истина;
    
    Пока Шапка.Следующий() Цикл
    
    Если Не ПервыйДокумент Тогда
    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;
    ПервыйДокумент = Ложь;
    
    НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
    
    ВыборкаСтрокЗапасы = Шапка.Запасы.Выбрать();
    ТаблицаПредоплаты = Шапка.ПлатежныйКалендарь.Выгрузить();
    
    ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_" + ИмяМакета + "_" + ИмяМакета;
    
    Макет = УправлениеПечатью.ПолучитьМакет("Документ.СчетНаОплату.ПФ_MXL_" + ИмяМакета);
    
    СведенияОбОрганизации = УправлениеНебольшойФирмойСервер.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента, ,Шапка.БанковскийСчет);
    СведенияОбКонтрагенте = УправлениеНебольшойФирмойСервер.СведенияОЮрФизЛице(Шапка.Контрагент, Шапка.ДатаДокумента, ,);
    
    ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета");
    Если ЗначениеЗаполнено(СведенияОбОрганизации.Банк) Тогда
    ОбластьМакета.Параметры.БанкПолучателяПредставление = СведенияОбОрганизации.Банк.Наименование + " " + СведенияОбОрганизации.Банк.Город;
    КонецЕсли;
    ОбластьМакета.Параметры.ИНН = СведенияОбОрганизации.ИНН;
    ОбластьМакета.Параметры.КПП = СведенияОбОрганизации.КПП;
    ОбластьМакета.Параметры.ПредставлениеПоставщика = СведенияОбОрганизации.ПолноеНаименование;
    ОбластьМакета.Параметры.БИКБанкаПолучателя = СведенияОбОрганизации.БИК;
    ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = СведенияОбОрганизации.КоррСчет;
    ОбластьМакета.Параметры.СчетПолучателяПредставление = СведенияОбОрганизации.НомерСчета;
    
    ТабличныйДокумент.Вывести(ОбластьМакета);
    
    Если Шапка.ДатаДокумента < Дата('20110101') Тогда
    НомерДокумента = УправлениеНебольшойФирмойСервер.ПолучитьНомерНаПечать(Шапка.Номер, Шапка.Префикс);
    Иначе
    НомерДокумента = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(Шапка.Номер, Истина, Истина);
    КонецЕсли;
    
    ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
    ОбластьМакета.Параметры.ТекстЗаголовка = "Счет на оплату № "
    + НомерДокумента
    + " от "
    + Формат(Шапка.ДатаДокумента, "ДФ=""dd MMMM yyyy""");
    
    ТабличныйДокумент.Вывести(ОбластьМакета);
    
    ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
    
    ОбластьМакета.Параметры.ПредставлениеПоставщика = УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,ИНН,КПП,ЮридическийАдрес,Телефоны,");
    ТабличныйДокумент.Вывести(ОбластьМакета);		
    
    ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
    ОбластьМакета.Параметры.ПредставлениеПолучателя = УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбКонтрагенте, "ПолноеНаименование,ИНН,КПП,ЮридическийАдрес,Телефоны,");
    ТабличныйДокумент.Вывести(ОбластьМакета);
    
  4. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Посмотрите: Общий модуль --> УправлениеНебольшойФирмойСервер
    ЗЫ: может сработает -
    Код:
    УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "ФактическийАдрес,,");
  5. PaVik
    Offline

    PaVik

    Регистрация:
    4 июл 2012
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    и проверьте в самих контрагентах, заполнен ли ПочтовыйАдрес. вероятнее всего нет, вот на печать и не выводится.
  6. TopicStarter Overlay
    AlexeyK
    Offline

    AlexeyK

    Регистрация:
    10 июл 2012
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Адрес заполнен, конечно же. С фактическим адресом работает, но вот что странно: в Общие модули-->УправлениеНебольшойФирмойСервер нашёл функцию ОписаниеОрганизации. Там были такие строчки:

    Код:
    Функция ОписаниеОрганизации(СписокСведений, Список = "", СПрефиксом = Истина) Экспорт
    Если ПустаяСтрока(Список) Тогда
    Список = "ПолноеНаименование,ИНН,Свидетельство,ЮридическийАдрес,Телефоны,НомерСчета,Банк,БИК,КоррСчет";
    КонецЕсли;
    Результат = "";
    СоответствиеПараметров = Новый Соответствие();
    СоответствиеПараметров.Вставить("ПолноеНаименование",  " ");
    СоответствиеПараметров.Вставить("ИНН",	  " ИНН ");
    СоответствиеПараметров.Вставить("КПП",	  " КПП ");
    СоответствиеПараметров.Вставить("Свидетельство",   " ");
    СоответствиеПараметров.Вставить("СвидетельствоДатаВыдачи", " от ");
    СоответствиеПараметров.Вставить("ЮридическийАдрес",   " ");
    СоответствиеПараметров.Вставить("Телефоны",	 " тел.: ");
    СоответствиеПараметров.Вставить("НомерСчета",	" р/с ");
    СоответствиеПараметров.Вставить("Банк",				 " в банке ");
    СоответствиеПараметров.Вставить("БИК",				  " БИК ");
    СоответствиеПараметров.Вставить("КоррСчет",			 " к/с ");
    СоответствиеПараметров.Вставить("КодПоОКПО",			" Код по ОКПО ");
    
    Список = Список + ?(Прав(Список, 1) = ",", "", ",");
    ЧислоПараметров = СтрЧислоВхождений(Список, ",");
    
    Для Счетчик = 1 по ЧислоПараметров Цикл
    
    ПозЗапятой = Найти(Список, ",");
    
    Если ПозЗапятой > 0 Тогда
    ИмяПараметра = Лев(Список, ПозЗапятой - 1);
    Список = Сред(Список, ПозЗапятой + 1, СтрДлина(Список));
    
    Попытка
    СтрокаДополнения = "";
    СписокСведений.Свойство(ИмяПараметра, СтрокаДополнения);
    
    Если ПустаяСтрока(СтрокаДополнения) Тогда
    Продолжить;
    КонецЕсли;
    
    Префикс = СоответствиеПараметров[ИмяПараметра];
    Если Не ПустаяСтрока(Результат) Тогда
    Результат = Результат + ",";
    КонецЕсли;
    
    Результат = Результат + ?(СПрефиксом = Истина, Префикс, "") + СтрокаДополнения;
    
    Исключение
    
    Сообщение = Новый СообщениеПользователю();
    Сообщение.Текст = НСтр("ru = 'Не удалось определить значение параметра организации: '") + ИмяПараметра;
    Сообщение.Сообщить();
    
    КонецПопытки;
    
    КонецЕсли;
    
    КонецЦикла;
    
    Возврат Результат;
    
    КонецФункции
    Я так понимаю, что функция менеджера "ПечатьСчетНаОплату" обращается именно к ней при попытке взять данные из организаций. Поэтому странным мне показалось, что в функции вроде как юр. адрес предопределён, а при указании в параметрах функции менеджера фактического адреса, этот самый фактический адрес выводится правильно.
    Ещё попробовал просто переименовать в этом коде ЮридическийАдрес на ПочтовыйАдрес, но это ни к чему не привело.

Поделиться этой страницей