Печать конвертов из КА 2.4

12.09.19

Функциональные - Документооборот и делопроизводство (СЭД)

Расширение для КА 2.4 для печати трех видов конвертов по аналогии с типовым механизмов БП 3.0. Печать доступна из карточки партнера/контрагента/сверки взаиморасчетов. Легко добавить любой другой вид документа.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Расширение для печати конвертов из КА 2.4:
.cfe 288,48Kb
40 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Пригодится всем, кто ведет рассылку документов своим контрагентам почтой - можно распечатать заполненный конверт для пакета документов из карточки контрагента, причем на выбор три вида конвертов: C4, C5, DL/E65.

Механизм аналогичен печати конвертов в конфигурации БП 3.0 и реализован с помощью расширения, поэтому не требует вмешательств в конфигурацию. Можно добавить дополнительные типы документов в расширение и вставить кусочек кода в добавление команд печати, по аналогии с документом акта сверки взаиморасчетов.

Тестировалось на конфигурациях КА 2.4.7.141 - КА 2.4.8.92, платформа на момент тестирования 8.3.14.1779, как в файловом так и в клиент-серверном варианте.

Вступайте в нашу телеграмм-группу Инфостарт

Конверт

См. также

Бухгалтер Пользователь Руководитель проекта 1С:Предприятие 8 Управленческий учет Платные (руб)

Организуйте правильный оборот документов на вашем предприятии в 1С. Ведение учета и хранения документов. Управление потоками документации между подразделениями. Работа с договорами в компании. Автоматизация процессов подготовки, согласования и подписания документов. Сократите время и объем ошибок с 1С:Документооборот! Покупайте в Инфостарт и получайте 15% бонусов на наши услуги, сервисы и мероприятия!

63100 руб.

19.02.2016    113970    149    5    

117

Рабочее место Производство готовой продукции (работ, услуг) Перенос данных 1C Пользователь 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Документооборот 1С:Комплексная автоматизация 2.х 1С:КА 1С:ДО Платные (руб)

Продукт "Интеграция с 1С:Документооборот" позволяет использовать функции программы "1С:Документооборот 8" напрямую из учетной системы (1С:УПП; 1С:КА, 1С:УТ 10.3, 1С:БГУ 1.0, 1С:ЗБУ 1.0, 1С:УПП для Казахстана и отраслевых решений, разработанных на их основе) на платформе "1С:Предприятие 8": выполнять и ставить задачи, просматривать документы, скан-копии и прочие файлы, штрих-кодировать документы отправлять письма, вести учет рабочего времени - не входя в "1С:Документооборот 8", работая в одной программе, что значительно сокращает время и делает работу более комфортной и эффективной. Продукт прошел сертификацию 1С-Совместимо

135530 руб.

11.06.2015    62268    38    20    

49

Мессенджеры и боты Учет документов 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    41449    49    60    

83

Печатные формы Бухгалтер Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Расширение для печати договоров с приложением из шаблонов. Быстрая подготовка заполненных договоров без ручного заполнения. Возможность использования дополнительных реквизитов контрагентов и номенклатуры Быстрое сохранение файлов договоров и отправка по электронной почте. Решение в Реестре отечественного ПО.

15000 руб.

20.04.2016    67849    195    107    

108

Email рассылки Взаиморасчеты Акт сверки Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Данная обработка позволяет сократить объем ручных операций, выполняемых ежемесячно бухгалтером или его помощником за счет автоматизации систематического процесса.

7930 руб.

12.02.2019    37149    38    24    

31

Перенос данных 1C Учет документов Системный администратор Программист Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Бесшовная интеграция с 1С:Документооборот (КОРП или ПРОФ) - вот что обеспечит Вам и Вашим сотрудникам оперативный доступ и продуктивную работу с документами в учётной системе 1С на базе "1С:Бухгалтерия предприятия 3.0 ПРОФ". Бесшовный обмен и связь позволяют экономить до 60% времени на поиск и согласование первичной документации (актов, счетов-фактур, накладных), не говоря уже о других полезных функциональных возможностях: создании и запуске бизнес-процессов, работе с электронной почтой, штрихкодировании документов и многом другом.

54900 руб.

23.05.2017    62457    36    69    

43

ЭДО и ОФД Учет документов 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Мощный, единый инструмент для решения всех проблем, связанных с переходом на ЭДО. Экономит бумагу и время – организует полностью соответствующий закону архив оригиналов первичных документов прямо в базе 1С, в прикрепленных файлах к соответствующим документам. Выявляет все возможные ошибки в ЭДО и помогает в несколько кликов их исправить. Взаимодействует напрямую с сервисами Диадок/СБИС, имеет интуитивно понятный интерфейс и учитывает 5-ти летний опыт 60+ клиентов.

29890 руб.

17.12.2018    50293    79    65    

85
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user1313770 25.12.19 15:00 Сейчас в теме
не работает у меня на КА2.4
2. sanymust 57 26.12.19 00:55 Сейчас в теме
(1) Какая версия конфигурации и какая ошибка ? Выключен ли безопасный режим у расширения?
3. user1313770 28.12.19 15:15 Сейчас в теме
(2) а да, галочку снаял с безопасного режима, заработал. только логотип не печатает на конверт.
4. sanymust 57 30.12.19 00:59 Сейчас в теме
(3)А на печатной форме счета типовой работает вывод логотипа? По идее механизм один и тот же.
5. user1375581 12 14.08.20 12:58 Сейчас в теме
Здравствуйте! Я новый участник и поэтому скачать не могу. Можно вас попросить дать для примера вашу разработку (на почту) ?
6. sanymust 57 14.08.20 15:07 Сейчас в теме
(5)Мне не жалко, но я думаю это будет несправедливо по отношению к другим пользователям сайта, кто скачал данную публикацию за стартмани. Могу предложить Вам приобрести стартмани на данном сайте и воспользоваться ими для скачивания этой и других публикаций.
7. user1375581 12 08.10.20 19:46 Сейчас в теме
(6) А подсказать можете как адрес вывести на печать конверта? Вроде все сделала. А адреса что у организации, что у контрагента не выводятся.
8. sanymust 57 09.10.20 02:04 Сейчас в теме
(7)Здравствуйте, адрес организации используется с видом "почтовый", убедитесь, что он у Вас заполнен и вид адреса не задвоен (возможно используется не предопределенный элемент). Для контрагента выводится тот вид адреса, что Вы выбрали в форме печати конвертов, так же убедитесь, что у Вас заполнен адрес контрагента с тем видом, который Вы выбрали на печать.
Если не получится, то приложите скриншот карточки контрагента с закладкой контактной информации.
9. user1375581 12 09.10.20 06:03 Сейчас в теме
(8) В КА2 отображается справочник Партнеры под именем Контрагенты, соответственно код Печать конвертов я прописываю в менеджере справочника Партнеры, по которому в ВидыКонтактнойИнформации нет предопределяемых элементов. Как надо сделать, подскажите? Могу отправить свое расширение )
10. sanymust 57 09.10.20 07:04 Сейчас в теме
(9)Если отключена функциональная опция ведения контрагентов и партнеров отдельно, то Вам надо брать связанного с партнером контрагента. По умолчанию, при такой настройке, все что Вы делает в базе с партнером автоматически дублируется с зависимым элементом контрагента. Кнопку печати оставляйте в партнерах, но на заполнение все же передавайте контрагента.
У контрагента есть реквизит "партнер", по нему найдете.
11. user1375581 12 09.10.20 09:20 Сейчас в теме
(10) Буду пытаться ) Не понятно почему не выходит на печать адрес Организации.
15. sanymust 57 12.10.20 02:11 Сейчас в теме
(13)Сейчас проверил, при отключенной опции ведения партнеров и клиентов раздельно, все работает. Что у Вас за конфигурация, какая версия, типовая?
12. user1375581 12 09.10.20 10:44 Сейчас в теме
Все-таки может посмотрите. Код в справочнике Партнеры

&Вместо("ДобавитьКомандыПечати")
Процедура ПечКДобавитьКомандыПечати(КомандыПечати)
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "Конверт";
	КомандаПечати.Представление = НСтр("ru = 'Конверт'");
	КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ПечКВыполнитьКомандуПечатиКонверта";
	КомандаПечати.СписокФорм    = "ФормаЭлемента,ФормаСписка,ФормаЭлементаРеквизитыКонтрагента,ФормаСпискаБезПолнотекстовогоПоиска";
	ПродолжитьВызов(КомандыПечати);

	//ПродолжитьВызов(КомандыПечати);
КонецПроцедуры

//&После("ДобавитьКомандыПечати")
//Процедура ПечКДобавитьКомандыПечати(КомандыПечати)
//	// Вставить содержимое метода.
//КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	Если ПараметрыПечати.Свойство("ФорматКонверта")
		И ПараметрыПечати.Свойство("ИмяМакета")
		И УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, ПараметрыПечати.ИмяМакета) Тогда
		ТабличныйДокумент = ПечатьКонверта(МассивОбъектов, ОбъектыПечати, ПараметрыПечати);
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
			КоллекцияПечатныхФорм,
			ПараметрыПечати.ИмяМакета,
			"Конверт", 
			ТабличныйДокумент, ,
			"ОбщийМакет." + ПараметрыПечати.ИмяМакета);
	КонецЕсли;
	
КонецПроцедуры

#Область ПечатьКонвертов

// Возвращает контейнер для заполнения в конверте сведений о получателе.
// 
// Возвращаемое значение:
//   - Структура
//       * Представление - Строка - Представление получателя.
//       * Индекс - Строка - Индекс получателя.
//       * Адрес - Строка - Адрес получателя, части адреса должны быть разделены запятыми.
//                          Например, "ул.Новая, дом 1, корпус 1, кв. 1, г.Москва, Россия".
//
Функция НовыйСведенияОПолучателеКонверта() Экспорт
	
	СведенияОУчастникеПереписки = Новый Структура();
	СведенияОУчастникеПереписки.Вставить("Представление", "");
	СведенияОУчастникеПереписки.Вставить("Индекс",     "");
	СведенияОУчастникеПереписки.Вставить("Адрес",      "");
	Возврат СведенияОУчастникеПереписки;
	
КонецФункции

// Возвращает контейнер для заполнения в конверте сведений об отправителе.
// 
// Возвращаемое значение:
//   - Структура
//       * Представление - Строка - Представление отправителя.
//       * Индекс - Строка - Индекс отправителя.
//       * Адрес - Строка - Адрес отправителя, части адреса должны быть разделены запятыми.
//                          Например, "ул.Новая, дом 1, корпус 1, кв. 1, г.Москва, Россия".
//       * ПечататьЛоготип - Булево - Нужно ли выводить логотип на конверт.
//       * Логотип - ДвоичныеДанные - Двоичные данные картинки логотипа.
//
Функция НовыйСведенияОбОтправителеКонверта() Экспорт
	
	СведенияОУчастникеПереписки = Новый Структура();
	СведенияОУчастникеПереписки.Вставить("Представление", "");
	СведенияОУчастникеПереписки.Вставить("Индекс", "");
	СведенияОУчастникеПереписки.Вставить("Адрес", "");
	СведенияОУчастникеПереписки.Вставить("ПечататьЛоготип", Ложь);
	СведенияОУчастникеПереписки.Вставить("Логотип", Неопределено);
	Возврат СведенияОУчастникеПереписки;
	
КонецФункции

Функция ПечатьКонверта(МассивОбъектов, ОбъектыПечати, ПараметрыПечати)
	
	Результат = Новый ТабличныйДокумент;
	
	ПараметрыВыводаВМакет = ПараметрыВыводаВМакет(ПараметрыПечати);
	УстановитьПараметрыПечатиКонверта(Результат, ПараметрыВыводаВМакет);
	
	Макет = УправлениеПечатью.МакетПечатнойФормы("ОбщийМакет." + ПараметрыПечати.ИмяМакета);
	
	ДанныеДляПечатиКонвертов = ДанныеДляПечатиКонвертов(МассивОбъектов, ПараметрыПечати);
	
	ПервыйКонверт = Истина;
	Для Каждого ДанныеПечатиКонверта Из ДанныеДляПечатиКонвертов Цикл
		
		Если ПервыйКонверт Тогда
			ПервыйКонверт = Ложь;
		Иначе
			Результат.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		НомерСтрокиНачало = Результат.ВысотаТаблицы + 1;
		//***
		//Контр = ДанныеДляПечатиКонвертов;
		//Для каждого стр из КонтактнаяИнформация Цикл
		//	Если стр.ВидАдресаКонтрагента = ПараметрыПечати.ВидАдресаКонтрагента Тогда
		//		ДанныеДляПечатиКонвертов.СведенияОПолучателе.Индекс = ПараметрыПечати.ВидАдресаКонтрагента.ПредставлениеИндекса;
		//		ДанныеДляПечатиКонвертов.СведенияОПолучателе.Адрес = ПараметрыПечати.ВидАдресаКонтрагента.ПредставлениеАдреса;

		//		Прервать;	
		//	КонецЕсли;	
		//КонецЦикла;
		 //***
		Если ЗначениеЗаполнено(Макет.Области.Найти("Заголовок")) Тогда
			ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
			ЗаполнитьЗаголовокКонверта(ОбластьЗаголовок, ДанныеПечатиКонверта, ПараметрыВыводаВМакет);
			Результат.Вывести(ОбластьЗаголовок);
		КонецЕсли;
		
		Если ЗначениеЗаполнено(Макет.Области.Найти("Индекс")) Тогда
			ОбластьИндекс = Макет.ПолучитьОбласть("Индекс");
			ЗаполнитьКодовыйШтамп(ОбластьИндекс, ДанныеПечатиКонверта.СведенияОПолучателеКонверта);
			Результат.Вывести(ОбластьИндекс);
		КонецЕсли;
		
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(Результат,
			НомерСтрокиНачало, ОбъектыПечати, ДанныеПечатиКонверта.ОбъектПечати);
		
	КонецЦикла;
	
	Возврат Результат;
	
КонецФункции

Функция ДанныеДляПечатиКонвертов(МассивОбъектов, ПараметрыПечати)
	
	ДанныеДляПечатиКонвертов = Новый ТаблицаЗначений;
	ДанныеДляПечатиКонвертов.Колонки.Добавить("ОбъектПечати");
	ДанныеДляПечатиКонвертов.Колонки.Добавить("СведенияОПолучателеКонверта");
	ДанныеДляПечатиКонвертов.Колонки.Добавить("СведенияОбОтправителеКонверта");
	
	Если ПараметрыПечати.Свойство("СведенияОПолучателеКонверта")
		И ЗначениеЗаполнено(ПараметрыПечати.СведенияОПолучателеКонверта) Тогда
		
		ЗаполнитьДанныеДляПечатиКонвертаПоСведениюОПолучателе(
			ДанныеДляПечатиКонвертов, ПараметрыПечати.СведенияОПолучателеКонверта, ПараметрыПечати)
		
	ИначеЕсли МассивОбъектов.Количество() > 0 Тогда
		
		ЗаполнитьДанныеДляПечатиКонвертовПоМассивуОбъектов(ДанныеДляПечатиКонвертов, МассивОбъектов, ПараметрыПечати);
		
	КонецЕсли;
	
	Возврат ДанныеДляПечатиКонвертов;
	
КонецФункции

Процедура ЗаполнитьДанныеДляПечатиКонвертаПоСведениюОПолучателе(ДанныеДляПечатиКонвертов, СведенияОПолучателеКонверта, ПараметрыПечати)
	
	СтрокаОбъектаПечати = ДанныеДляПечатиКонвертов.Добавить();
	СтрокаОбъектаПечати.СведенияОПолучателеКонверта = СведенияОПолучателеКонверта;
	СтрокаОбъектаПечати.СведенияОбОтправителеКонверта = СведенияОбОрганизацииДляКонверта(
		ПараметрыПечати.Организация, ПараметрыПечати.ПечататьЛоготип);
	
КонецПроцедуры

Процедура ЗаполнитьДанныеДляПечатиКонвертовПоМассивуОбъектов(ДанныеДляПечатиКонвертов, МассивОбъектов, ПараметрыПечати)
	
	УчастникиПерепискиДляКонвертов = УчастникиПерепискиДляКонвертов(МассивОбъектов, ПараметрыПечати);
	
	Если НЕ ЗначениеЗаполнено(УчастникиПерепискиДляКонвертов) Тогда
		Возврат;
	КонецЕсли;
	
	СведенияОбОрганизациях = Новый Соответствие;
	СведенияОКонтрагентах  = Новый Соответствие;
	
	Для Каждого УчастникиПерепискиКонверта Из УчастникиПерепискиДляКонвертов Цикл
		СтрокаОбъектаПечати = ДанныеДляПечатиКонвертов.Добавить();
		СтрокаОбъектаПечати.ОбъектПечати = УчастникиПерепискиКонверта.ОбъектПечати;
		
		СведенияОПолучателеКонверта = СведенияОКонтрагентах.Получить(УчастникиПерепискиКонверта.Получатель);
		Если СведенияОПолучателеКонверта = Неопределено Тогда
			СведенияОПолучателеКонверта = СведенияОКонтрагентеДляКонверта(
				УчастникиПерепискиКонверта.Получатель, ПараметрыПечати.ВидАдресаКонтрагента);
			СведенияОКонтрагентах.Вставить(УчастникиПерепискиКонверта.Получатель, СведенияОПолучателеКонверта);   // сос: сюда пока не передается адрес

		КонецЕсли;
		СтрокаОбъектаПечати.СведенияОПолучателеКонверта = СведенияОПолучателеКонверта;  
		
		СведенияОбОтправителеКонверта = СведенияОбОрганизациях.Получить(УчастникиПерепискиКонверта.Отправитель);
		Если СведенияОбОтправителеКонверта = Неопределено Тогда
			СведенияОбОтправителеКонверта = СведенияОбОрганизацииДляКонверта(
				УчастникиПерепискиКонверта.Отправитель, ПараметрыПечати.ПечататьЛоготип);
			СведенияОбОрганизациях.Вставить(УчастникиПерепискиКонверта.Отправитель, СведенияОбОтправителеКонверта);
		КонецЕсли;
		СтрокаОбъектаПечати.СведенияОбОтправителеКонверта = СведенияОбОтправителеКонверта;
	КонецЦикла;
	
КонецПроцедуры

Функция УчастникиПерепискиДляКонвертов(МассивОбъектов, ПараметрыПечати)
	
	ОбъектПечати = МассивОбъектов[0];
	МетаданныеОбъектаПечати = ОбъектПечати.Метаданные();
	
	Запрос = Новый Запрос;
	//Если ТипЗнч(ОбъектПечати) = Тип("СправочникСсылка.Контрагенты") Тогда
	Если ТипЗнч(ОбъектПечати) = Тип("СправочникСсылка.Партнеры") Тогда
	
		Запрос.Текст = ТекстЗапросаПечатьКонвертовИзКонтрагентов();
		Запрос.УстановитьПараметр("Организация", ПараметрыПечати.Организация);
		
	//ИначеЕсли ТипЗнч(ОбъектПечати) = Тип("СправочникСсылка.ДоговорыКонтрагентов") Тогда
	//	
	//	Запрос.Текст = ТекстЗапросаПечатьКонвертовИзДоговоровКонтрагентов();
		
	ИначеЕсли ОбщегоНазначения.ЕстьРеквизитОбъекта("Организация", МетаданныеОбъектаПечати)
		И ОбщегоНазначения.ЕстьРеквизитОбъекта("Партнер", МетаданныеОбъектаПечати) Тогда
	
	
		Запрос.Текст = ТекстЗапросаПечатьКонвертов(МетаданныеОбъектаПечати);
		
	Иначе
		
		Возврат Неопределено;
		
	КонецЕсли;
	
	Запрос.УстановитьПараметр("ОбъектыПечати", МассивОбъектов);
	Возврат Запрос.Выполнить().Выгрузить();
	
КонецФункции

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

	Если ПочтовыеАдреса.Количество() > 0 Тогда
		АдресJSON = ПочтовыеАдреса[0].Значение;
		СведенияОСтранеАдреса = УправлениеКонтактнойИнформацией.СтранаАдресаКонтактнойИнформации(АдресJSON);
		Если СведенияОСтранеАдреса.Ссылка = Справочники.СтраныМира.Россия Тогда
			СведенияОбАдресе = РаботаСАдресами.СведенияОбАдресе(АдресJSON);
			СведенияОКонтрагенте.Индекс = ПредставлениеИндекса(СведенияОбАдресе);
			СведенияОКонтрагенте.Адрес = ПредставлениеПочтовогоАдреса(СведенияОбАдресе);
		Иначе
		СведенияОКонтрагенте.Адрес = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(ВидАдреса);
		КонецЕсли;
	КонецЕсли;
	   	
	 
	Возврат СведенияОКонтрагенте;
	
КонецФункции

Функция СведенияОбОрганизацииДляКонверта(Организация, ПечататьЛоготип)
	    
		РеквизитыОрганизации = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Организация,
		"ЮридическоеФизическоеЛицо,  Наименование");

	//РеквизитыОрганизации = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Организация,
	//	"ЮридическоеФизическоеЛицо, ФамилияИП, ИмяИП, ОтчествоИП, НаименованиеСокращенное");

	СведенияОбОрганизации = НовыйСведенияОбОтправителеКонверта();
	//СведенияОбОрганизации.Представление = ?(РеквизитыОрганизации.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо,
	//РеквизитыОрганизации.Наименование);
		СведенияОбОрганизации.Представление = РеквизитыОрганизации.Наименование;
		//СведенияОбОрганизации.Адрес = Организация.КонтактнаяИнформация.;

		//ДатаЗначения = ТекущаяДатаСеанса();

		//СписокПоказателей = Новый Массив;
		//СписокПоказателей.Добавить("АдрПочт");
		//
		//СведенияОбАдресе = ЗарплатаКадрыБазовый.ПолучитьСведенияОбОрганизации(Организация,ДатаЗначения,СписокПоказателей);
		//

		
	//ПочтовыеАдресаОрганизации = ПечКУправлениеКонтактнойИнформациейБП.КонтактнаяИнформацияОбъектовНаДату(
	//	ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Организация), , Справочники.ВидыКонтактнойИнформации.ПочтовыйАдресОрганизации);
		ПочтовыеАдресаОрганизации = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(
		ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Организация), , Справочники.ВидыКонтактнойИнформации.ПочтовыйАдресОрганизации);

	Если ПочтовыеАдресаОрганизации.Количество() > 0 Тогда
		СведенияОбАдресе = РаботаСАдресами.СведенияОбАдресе(ПочтовыеАдресаОрганизации[0].Значение);
		СведенияОбОрганизации.Индекс = ПредставлениеИндекса(СведенияОбАдресе);
		СведенияОбОрганизации.Адрес = ПредставлениеПочтовогоАдреса(СведенияОбАдресе);
	КонецЕсли;
	
	    
	Если ПечататьЛоготип Тогда
		ДвоичныеДанныеКартинки = Справочники.Организации.ДвоичныеДанныеКартинкиОрганизации(
			Организация, "ФайлЛоготип");
		Если ЗначениеЗаполнено(ДвоичныеДанныеКартинки) Тогда
			СведенияОбОрганизации.ПечататьЛоготип = Истина;
			СведенияОбОрганизации.Логотип = ДвоичныеДанныеКартинки;
		КонецЕсли;
	КонецЕсли;
	
	Возврат СведенияОбОрганизации;
	
КонецФункции

Функция ТекстЗапросаПечатьКонвертовИзКонтрагентов()
	
	
	Результат =
	"ВЫБРАТЬ
	|	Партнеры.Ссылка КАК Получатель,
	|	Партнеры.Ссылка КАК ОбъектПечати,
	|	Организации.Ссылка КАК Отправитель
	|ИЗ
	|	Справочник.Организации КАК Организации
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
	|		ПО (Партнеры.Ссылка В (&ОбъектыПечати))
	|			И (Организации.Ссылка = &Организация)
	|ГДЕ
	|	НЕ Партнеры.Ссылка ЕСТЬ NULL ";
	
	Возврат Результат;

	

		
	Возврат Результат;
	
КонецФункции

//Функция ТекстЗапросаПечатьКонвертовИзДоговоровКонтрагентов()
//	
//	Результат =
//	//"ВЫБРАТЬ
//	//|	ДоговорыКонтрагентов.Владелец КАК Получатель,
//	//|	ДоговорыКонтрагентов.Ссылка КАК ОбъектПечати,
//	//|	ДоговорыКонтрагентов.Организация.Ссылка КАК Отправитель
//	//|ИЗ
//	//|	Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
//	//|ГДЕ
//	//|	ДоговорыКонтрагентов.Ссылка В(&ОбъектыПечати)";
//	//
//	//Возврат Результат;
//	  "ВЫБРАТЬ
//	 |	ДоговорыКонтрагентов.Контрагент КАК Получатель,
//	 |	ДоговорыКонтрагентов.Ссылка КАК ОбъектПечати,
//	 |	ДоговорыКонтрагентов.Организация.Ссылка КАК Отправитель
//	 |ИЗ
//	 |	Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
//	 |ГДЕ
//	 |	ДоговорыКонтрагентов.Ссылка В (&ОбъектыПечати)";
//	 
//	 Возврат Результат;
//КонецФункции

Функция ТекстЗапросаПечатьКонвертов(МетаданныеОбъектаПечати)
	
	//Результат =
	//"ВЫБРАТЬ
	//|	Таблица.Контрагент КАК Получатель,
	//|	Таблица.Ссылка КАК ОбъектПечати,
	//|	Таблица.Организация КАК Отправитель
	//|ИЗ
	//|	" + МетаданныеОбъектаПечати.ПолноеИмя() + " КАК Таблица
	//|ГДЕ
	//|	Таблица.Ссылка В (&ОбъектыПечати)";
	//
	//Возврат Результат;
	
Результат =
	"ВЫБРАТЬ
	|	Таблица.Партнеры КАК Получатель,
	|	Таблица.Ссылка КАК ОбъектПечати,
	|	Таблица.Организация КАК Отправитель
	|ИЗ
	|	" + МетаданныеОбъектаПечати.ПолноеИмя() + " КАК Таблица
	|ГДЕ
	|	Таблица.Ссылка В (&ОбъектыПечати)";
	
	Возврат Результат;

КонецФункции

Процедура ЗаполнитьЗаголовокКонверта(ОбластьЗаголовок, ДанныеОбъектаПечати, ПараметрыВыводаВМакет)
	
	Если ЗначениеЗаполнено(ДанныеОбъектаПечати.СведенияОПолучателеКонверта) Тогда
		ЗаполнитьПолучателяКонверта(ОбластьЗаголовок, ДанныеОбъектаПечати.СведенияОПолучателеКонверта, ПараметрыВыводаВМакет);
	КонецЕсли;
	
	Если ЗначениеЗаполнено(ДанныеОбъектаПечати.СведенияОбОтправителеКонверта) Тогда
		ЗаполнитьОтправителяКонверта(ОбластьЗаголовок, ДанныеОбъектаПечати.СведенияОбОтправителеКонверта, ПараметрыВыводаВМакет);
	КонецЕсли;
	
КонецПроцедуры

Функция ПараметрыВыводаВМакет(ПараметрыПечати)
	
	Если ПараметрыПечати.ФорматКонверта = Перечисления.ПечКФорматыПочтовыхКонвертов.C4 Тогда
		РазмерСтраницы = "Envelope C4";
		ДлинаПервойСтроки = 50;
		ДлинаВторойСтроки = 56;
	ИначеЕсли ПараметрыПечати.ФорматКонверта = Перечисления.ПечКФорматыПочтовыхКонвертов.C5 Тогда
		РазмерСтраницы = "Envelope C5";
		ДлинаПервойСтроки = 35;
		ДлинаВторойСтроки = 46;
	Иначе
		РазмерСтраницы = "Envelope DL";
		ДлинаПервойСтроки = 55;
		ДлинаВторойСтроки = 65;
	КонецЕсли;
	
	ПараметрыВыводаВМакет = Новый Структура;
	ПараметрыВыводаВМакет.Вставить("РазмерСтраницы"   , РазмерСтраницы);
	ПараметрыВыводаВМакет.Вставить("ДлинаПервойСтроки", ДлинаПервойСтроки);
	ПараметрыВыводаВМакет.Вставить("ДлинаВторойСтроки", ДлинаВторойСтроки);
	Возврат ПараметрыВыводаВМакет;
	
КонецФункции

Процедура УстановитьПараметрыПечатиКонверта(ТабличныйДокумент, ПараметрыВыводаВМакет)
	
	ТабличныйДокумент.КлючПараметровПечати    = "ПАРАМЕТРЫ_ПЕЧАТИ_Конверт";
	ТабличныйДокумент.ПолеСверху              = 5;
	ТабличныйДокумент.ПолеСнизу               = 5;
	ТабличныйДокумент.ПолеСправа              = 5;
	ТабличныйДокумент.ПолеСлева               = 5;
	ТабличныйДокумент.РазмерСтраницы          = ПараметрыВыводаВМакет.РазмерСтраницы;
	ТабличныйДокумент.ОриентацияСтраницы      = ОриентацияСтраницы.Ландшафт;
	ТабличныйДокумент.АвтоМасштаб             = Истина;
	
КонецПроцедуры

Процедура ЗаполнитьПолучателяКонверта(ОбластьЗаголовок, СведенияОПолучателеКонверта, ПараметрыВыводаВМакет)
	
	ЧастиПредставлениеПолучателя = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивСлов(
		СведенияОПолучателеКонверта.Представление, " ");
	ЗаполнитьСекциюКонверта(ОбластьЗаголовок, "Кому", ЧастиПредставлениеПолучателя, ПараметрыВыводаВМакет);
	
	ЧастиАдреса = ЧастиАдресаДляВыводаВМакет(СведенияОПолучателеКонверта.Адрес);
	ЗаполнитьСекциюКонверта(ОбластьЗаголовок, "Куда", ЧастиАдреса, ПараметрыВыводаВМакет);
	
КонецПроцедуры

Процедура ЗаполнитьОтправителяКонверта(ОбластьЗаголовок, СведенияОбОтправителеКонверта, ПараметрыВыводаВМакет)
	
	ЧастиПредставленияОтправителя = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивСлов(
		СведенияОбОтправителеКонверта.Представление, " ");
	ЗаполнитьСекциюКонверта(ОбластьЗаголовок, "ОтКого", ЧастиПредставленияОтправителя, ПараметрыВыводаВМакет);
	
	ЧастиАдреса = ЧастиАдресаДляВыводаВМакет(СведенияОбОтправителеКонверта.Адрес);
	ЗаполнитьСекциюКонверта(ОбластьЗаголовок, "Откуда", ЧастиАдреса, ПараметрыВыводаВМакет);
	
	ОбластьЗаголовок.Параметры.ИндексОткуда = СведенияОбОтправителеКонверта.Индекс;
	
	Если СведенияОбОтправителеКонверта.ПечататьЛоготип Тогда
		ЗаполнитьЛоготип(ОбластьЗаголовок, СведенияОбОтправителеКонверта.Логотип);
	КонецЕсли;
	
КонецПроцедуры

Процедура ЗаполнитьКодовыйШтамп(ОбластьИндекс, СведенияОПолучателеКонверта)
	
	Если ЗначениеЗаполнено(СведенияОПолучателеКонверта) Тогда
		ИндексПолучателя = СведенияОПолучателеКонверта.Индекс;
	Иначе
		ИндексПолучателя = Неопределено;
	КонецЕсли;
	
	Если ЗначениеЗаполнено(ИндексПолучателя) И СтрДлина(ИндексПолучателя) = 6 Тогда
		Для Каждого Рисунок Из ОбластьИндекс.Рисунки Цикл
			Если СтрНачинаетсяС(Рисунок.Имя, "Индекс") Тогда
				ПозицияИндекса = Прав(Рисунок.Имя, 1);
				ЦифраИндекса = Сред(ИндексПолучателя, ПозицияИндекса, 1);
				Если Не СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(ЦифраИндекса) Тогда
					Продолжить;
				КонецЕсли;
				Рисунок.Картинка = БиблиотекаКартинок["ИндексЦифра" + ЦифраИндекса];
			Иначе
				Продолжить;
			КонецЕсли;
		КонецЦикла;
		ИндексКуда = Новый Структура("ИндексКуда", ИндексПолучателя);
		ОбластьИндекс.Параметры.Заполнить(ИндексКуда);
	Иначе
		Для Каждого Рисунок Из ОбластьИндекс.Рисунки Цикл
			Если СтрНачинаетсяС(Рисунок.Имя, "Индекс") Тогда
				Рисунок.Картинка = БиблиотекаКартинок.ПечКИндексЦифраПустая;
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;
	
КонецПроцедуры

Процедура ЗаполнитьСекциюКонверта(Макет, ИмяСекции, Данные, ПараметрыВыводаВМакет)
	
	Если ИмяСекции = "ОтКого" Тогда
		ВысотаСекции = 1;
	ИначеЕсли ИмяСекции = "Кому" Тогда
		ВысотаСекции = 2;
	ИначеЕсли ИмяСекции = "Откуда" И ПараметрыВыводаВМакет.РазмерСтраницы = "Envelope DL" Тогда
		ВысотаСекции = 2;
	Иначе
		ВысотаСекции = 3;
	КонецЕсли;
	
	КоличествоВыведенныхВСекциюЭлементов = 0;
	ВГраницаМассиваДанных = Данные.ВГраница();
	Для НомерСекции = 1 По ВысотаСекции Цикл
		
		ИмяПараметра = ИмяСекции + НомерСекции;
		Если НомерСекции = 1 Тогда
			ДлинаСекции = ПараметрыВыводаВМакет.ДлинаПервойСтроки;
		Иначе
			ДлинаСекции = ПараметрыВыводаВМакет.ДлинаВторойСтроки;
		КонецЕсли;
		
		ЭлементыПараметра = Новый Массив;
		Пока КоличествоВыведенныхВСекциюЭлементов <= ВГраницаМассиваДанных 
			И СтрДлина(Данные[КоличествоВыведенныхВСекциюЭлементов]) <= ДлинаСекции Цикл
			
			ЭлементыПараметра.Добавить(Данные[КоличествоВыведенныхВСекциюЭлементов]);
			ДлинаСекции = ДлинаСекции - СтрДлина(Данные[КоличествоВыведенныхВСекциюЭлементов]);
			КоличествоВыведенныхВСекциюЭлементов = КоличествоВыведенныхВСекциюЭлементов + 1;
			
		КонецЦикла;
		ФинализироватьСекцию(ИмяПараметра, ЭлементыПараметра, Макет);
		
	КонецЦикла;
	
КонецПроцедуры

Процедура ЗаполнитьЛоготип(ОбластьЗаголовок, Логотип)
	
	Для Каждого Рисунок Из ОбластьЗаголовок.Рисунки Цикл
		Если Рисунок.Имя = "ЗонаИллюстраций" Тогда
			ОбластьЗаголовок.Рисунки.ЗонаИллюстраций.Картинка = Новый Картинка(Логотип);
		КонецЕсли;
	КонецЦикла;
	
КонецПроцедуры

Процедура ФинализироватьСекцию(ИмяПараметра, ЭлементыПараметра, Макет)
	
	ДанныеСекции = СтрСоединить(ЭлементыПараметра, " ");
	ДанныеСекции = СтрЗаменить(ДанныеСекции, "  ", " ");
	
	ЗначениеПараметра = Новый Структура(ИмяПараметра, ДанныеСекции);
	Макет.Параметры.Заполнить(ЗначениеПараметра);
	
КонецПроцедуры

Функция ЧастиАдресаДляВыводаВМакет(Адрес)
	
	ЧастиАдреса = СтрРазделить(Адрес, ",");
	Для НомерЧастиАдреса = 0 По ЧастиАдреса.Количество() - 2 Цикл
		ЧастиАдреса[НомерЧастиАдреса] =СокрЛП(ЧастиАдреса[НомерЧастиАдреса]) + "," + " ";
	КонецЦикла;
	Возврат ЧастиАдреса;
	
КонецФункции

Функция ПредставлениеПочтовогоАдреса(Адрес)
	
	Если Адрес.Свойство("ТипАдреса") И ВРег(Адрес.ТипАдреса) = ВРег("ВСвободнойФорме") Тогда
		Возврат Адрес.Представление;
	КонецЕсли;
	
	Результат = Новый Массив;
	ВыводитьСокращениеРегиона = Истина;
	
	Если Адрес.Свойство("Улица") И ЗначениеЗаполнено(Адрес.Улица) Тогда
		
		Если Адрес.Свойство("УлицаСокращение") И ЗначениеЗаполнено(Адрес.УлицаСокращение) Тогда
			Если Адрес.УлицаСокращение = "ул" Тогда
				ПредставлениеУлицы = Адрес.УлицаСокращение + ". " + Адрес.Улица;
			Иначе
				ПредставлениеУлицы = Адрес.Улица + " " + Адрес.УлицаСокращение + ".";
			КонецЕсли;
		Иначе
			ПредставлениеУлицы = Адрес.Улица;
		КонецЕсли;
		
		Результат.Добавить(ПредставлениеУлицы);
	КонецЕсли;
	
	Если Адрес.Свойство("ДополнительнаяТерритория") И ЗначениеЗаполнено(Адрес.ДополнительнаяТерритория) Тогда
		
		Если Адрес.Свойство("ДополнительнаяТерриторияСокращение") И ЗначениеЗаполнено(Адрес.ДополнительнаяТерриторияСокращение) Тогда
			ПредставлениеДопТерритории = Адрес.ДополнительнаяТерриторияСокращение + ". " + Адрес.ДополнительнаяТерритория;
		Иначе
			ПредставлениеДопТерритории = Адрес.ДополнительнаяТерритория;
		КонецЕсли;
		Результат.Добавить(ПредставлениеДопТерритории);
		
		Если Адрес.Свойство("ЭлементДополнительнойТерритории") И ЗначениеЗаполнено(Адрес.ЭлементДополнительнойТерритории) Тогда
			
			Если Адрес.Свойство("ЭлементДополнительнойТерриторииСокращение") И ЗначениеЗаполнено(Адрес.ЭлементДополнительнойТерриторииСокращение) Тогда
				
				Если Адрес.ЭлементДополнительнойТерриторииСокращение = "ул" Тогда
					ПредставлениеУлицы = Адрес.ЭлементДополнительнойТерриторииСокращение + ". " + Адрес.ЭлементДополнительнойТерритории;
				Иначе
					ПредставлениеУлицы = Адрес.ЭлементДополнительнойТерритории + " " + Адрес.ЭлементДополнительнойТерриторииСокращение;
				КонецЕсли;
			Иначе
				ПредставлениеУлицы = Адрес.ЭлементДополнительнойТерриторииСокращение;
			КонецЕсли;
			
			Результат.Добавить(ПредставлениеУлицы);
			
		КонецЕсли;
		
	КонецЕсли;
	
	Если Адрес.Свойство("Здание") И ЗначениеЗаполнено(Адрес.Здание.ТипЗдания) И ЗначениеЗаполнено(Адрес.Здание.Номер) Тогда
		ПредставлениеЗдания = НРег(Адрес.Здание.ТипЗдания) + " " + Адрес.Здание.Номер;
		Результат.Добавить(ПредставлениеЗдания);
	КонецЕсли;
	
	Если Адрес.Свойство("Корпуса") И ЗначениеЗаполнено(Адрес.Корпуса) Тогда
		ПредставлениеКорпусов = Новый Массив;
		Для Каждого Корпус Из Адрес.Корпуса Цикл
			ПредставлениеКорпусов.Добавить(НРег(Корпус.ТипКорпуса) + " " + Корпус.Номер);
		КонецЦикла;
		Результат.Добавить(СтрСоединить(ПредставлениеКорпусов, ", "));
	КонецЕсли;
	
	Если Адрес.Свойство("Помещения") И ЗначениеЗаполнено(Адрес.Помещения) Тогда
		ПредставлениеПомещений = Новый Массив;
		Для Каждого Помещение Из Адрес.Помещения Цикл
			Если НРег(Помещение.ТипПомещения) = "а/я" Или НРег(Помещение.ТипПомещения) = "в/ч" Тогда
				// Абонентский ящик - первый элемент адреса. Остальные элементы коллекции не имеют значения.
				Результат.Вставить(0, НРег(Помещение.ТипПомещения) + " " + Помещение.Номер);
				Прервать;
			КонецЕсли;
			ПредставлениеПомещений.Добавить(НРег(Помещение.ТипПомещения) + " " + Помещение.Номер);
		КонецЦикла;
		
		Если ЗначениеЗаполнено(ПредставлениеПомещений) Тогда
			Результат.Добавить(СтрСоединить(ПредставлениеПомещений, ", "));
		КонецЕсли;
	КонецЕсли;
	
	Если Адрес.Свойство("Город") И ЗначениеЗаполнено(Адрес.Город) Тогда
		Если Адрес.Свойство("ГородСокращение") И ЗначениеЗаполнено(Адрес.ГородСокращение) Тогда
			ПредставлениеГорода = НРег(Адрес.ГородСокращение) + ". " + Адрес.Город;
		Иначе
			ПредставлениеГорода = Адрес.Город;
		КонецЕсли;
		Результат.Добавить(ПредставлениеГорода);
		ВыводитьСокращениеРегиона = Ложь;
	КонецЕсли;
	
	Если Адрес.Свойство("ВнутригородскойРайон") И ЗначениеЗаполнено(Адрес.ВнутригородскойРайон) Тогда
		Если Адрес.Свойство("ВнутригородскойРайонСокращение") И ЗначениеЗаполнено(Адрес.ВнутригородскойРайонСокращение) Тогда
			ПредставлениеВнутригородскогоРайона = НРег(Адрес.ВнутригородскойРайонСокращение) + ". " + Адрес.ВнутригородскойРайон;
		Иначе
			ПредставлениеВнутригородскогоРайона = Адрес.ВнутригородскойРайон;
		КонецЕсли;
		Результат.Добавить(ПредставлениеВнутригородскогоРайона);
	КонецЕсли;
	
	Если Адрес.Свойство("НаселенныйПункт") И ЗначениеЗаполнено(Адрес.НаселенныйПункт) Тогда
		Если Адрес.Свойство("НаселенныйПунктСокращение") И ЗначениеЗаполнено(Адрес.НаселенныйПунктСокращение) Тогда
			ПредставлениеНаселенногоПункта = НРег(Адрес.НаселенныйПунктСокращение) + ". " + Адрес.НаселенныйПункт;
		Иначе
			ПредставлениеНаселенногоПункта = Адрес.НаселенныйПункт;
		КонецЕсли;
		Результат.Добавить(ПредставлениеНаселенногоПункта);
		ВыводитьСокращениеРегиона = Ложь;
	КонецЕсли;
	
	Если Адрес.Свойство("Район") И ЗначениеЗаполнено(Адрес.Район) Тогда
		Если Адрес.Свойство("РайонСокращение") И ЗначениеЗаполнено(Адрес.РайонСокращение) Тогда
			ПредставлениеРайона = Адрес.Район + " " + НРег(Адрес.РайонСокращение) + ".";
		Иначе
			ПредставлениеРайона = Адрес.Район;
		КонецЕсли;
		Результат.Добавить(ПредставлениеРайона);
	КонецЕсли;
	
	Если Адрес.Свойство("Округ") И ЗначениеЗаполнено(Адрес.Округ) Тогда
		Если Адрес.Свойство("ОкругСокращение") И ЗначениеЗаполнено(Адрес.ОкругСокращение) Тогда
			ПредставлениеОкруга = Адрес.Округ + " " + НРег(Адрес.ОкругСокращение) + ".";
		Иначе
			ПредставлениеОкруга = Адрес.Округ + " " + НРег(Адрес.ОкругСокращение) + ".";
		КонецЕсли;
		Результат.Добавить(ПредставлениеОкруга);
	КонецЕсли;
	
	Если Адрес.Свойство("Регион") И ЗначениеЗаполнено(Адрес.Регион) Тогда
		
		Если Адрес.КодРегиона = "77"           // Москва
			Или Адрес.КодРегиона = "78"        // Санкт-Петербург
			Или Адрес.КодРегиона = "92"        // Севастополь
			Или Адрес.КодРегиона = "99" Тогда  // Байконур
			
			// У города федерального значения префикс "г. " не пишется если речь идет о нас.пункте в составе города федерального значения.
			ПредставлениеРегиона = ?(ВыводитьСокращениеРегиона, "г. ", "") + Адрес.Регион;
		ИначеЕсли Адрес.КодРегиона = "21" Тогда // Чувашская республика - Чувашия
			ПредставлениеРегиона = НСтр("ru = 'Чувашская Республика - Чувашия'");
		Иначе
			Если Адрес.Свойство("РегионСокращение") И ЗначениеЗаполнено(Адрес.РегионСокращение) Тогда
				ПредставлениеРегиона = Адрес.Регион + " " + НРег(Адрес.РегионСокращение) + ".";
			Иначе
				ПредставлениеРегиона = Адрес.Регион;
			КонецЕсли;
			
		КонецЕсли;
		
		Результат.Добавить(ПредставлениеРегиона);
		
	КонецЕсли;
	
	Если Адрес.Свойство("Страна") И ЗначениеЗаполнено(Адрес.Страна) Тогда
		Результат.Добавить(ТРег(Адрес.Страна));
	КонецЕсли;
	
	Возврат СтрСоединить(Результат, "," + " ");
	
КонецФункции

Функция ПредставлениеИндекса(Адрес)
	
	Если Адрес.Свойство("ТипАдреса") И ВРег(Адрес.ТипАдреса) = ВРег("ВСвободнойФорме") Тогда
		Возврат ИндексИзПредставления(Адрес.Представление);
	КонецЕсли;
	
	//Возврат Адрес.Индекс;
	
КонецФункции

Функция ИндексИзПредставления(ПредставлениеАдреса)
	
	ЧастиАдреса = СтрРазделить(ПредставлениеАдреса, ",");
	Для Каждого ЧастьАдреса Из ЧастиАдреса Цикл
		Если СтрДлина(СокрЛП(ЧастьАдреса)) = 6
			И СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(СокрЛП(ЧастьАдреса)) Тогда
			Возврат СокрЛП(ЧастьАдреса);
		КонецЕсли;
	КонецЦикла;
	
	Возврат "";
	
КонецФункции

#КонецОбласти
Показать
13. sanymust 57 09.10.20 12:10 Сейчас в теме
(12)Я с телефона мельком прошел, в функции "ТекстЗапросаПечатьКонвертовИзКонтрагентов()" Вам надо выбирать получателя не из партнёров,а получить соединением связанного контрагента. Я попозже сделаю возможность печати из партнёров
14. user1375581 12 10.10.20 06:35 Сейчас в теме
(13) Хорошо, посмотрю.
16. user1375581 12 12.10.20 08:56 Сейчас в теме
(15) 1С:Комплексная автоматизация 2 (2.4.11.106) . У справочников Организация и Контрагенты нет "ИсторияКонтактнойИнформации", вообще нет истории изменения адреса. Выключила опцию (В базе -тест) ведения партнеров и клиентов раздельно - не работает.
17. sanymust 57 12.10.20 09:56 Сейчас в теме
(16)Думаю тут дело не в работе расширения, а в учетных данных в самой базе. База с нуля или переходили с КА 1.1 или других?
18. user1375581 12 12.10.20 10:59 Сейчас в теме
(17) Переходили с УПП
19. sanymust 57 12.10.20 13:42 Сейчас в теме
(18)Тогда есть вероятность, что контактная информация введена не совсем корректно. Например справочник видов контактной информации содержит кучу неверных элементов.
Для отправки сообщения требуется регистрация/авторизация