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

12.09.19

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

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

Скачать файлы

Наименование Файл Версия Размер
Расширение для печати конвертов из КА 2.4:
.cfe 288,48Kb
39
.cfe 288,48Kb 39 Скачать

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

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

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

Конверт

См. также

1С:Документооборот - цена на лицензии КОРП, ПРОФ и ДГУ

Документооборот и делопроизводство (СЭД) Типовые Платформа 1С v8.3 Управленческий учет Платные (руб)

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

42500 руб.

19.02.2016    107003    103    5    

84

Таймлист (1С:Совещание, Таймлист Лайт)

Документооборот и делопроизводство (СЭД) Конфигурации 1cv8

«Таймлист» – экосистема сервисов («Таймлист Лайт», «1C:Совещание», «Таймлист Recorder»), основанная на искусственном интеллекте Таймлист, который позволяет эффективно работать с легкими поручениями за счет фиксации всех важных идей при расшифровке и последующем формировании автопротокола встречи. Сервисы, в которые интегрирован ИИ, позволяют работать с задачами (поручениями), полученными из автопротокола.

10000 руб.

06.12.2023    1263    0    0    

5

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

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

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    101396    296    173    

312

1С:Архив

Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 Платные (руб)

"1С:Архив" – это универсальная система, обеспечивающая надежное долговременное хранение документов с гарантией юридической значимости на неограниченный срок. "1С:Архив" разработан на основе нормативно-правовых актов по архивному делу, поддерживает операции хранения документов – от попадания в архив до уничтожения – и не имеет ограничений на объем хранимых данных. "1С:Архив" сопровождается методологической поддержкой в виде организационных документов по хранению, входящих в состав "Комплекта нормативных документов" к "Методике управления документами и совместной работой", разработанной специалистами фирмы "1С". Использование "1С:Архива" позволяет организовать единое хранилище всех бумажных и электронных документов из разных информационных систем, вести архивный учет в соответствии с требованиями Росархива и снизить нагрузку на учетные системы. Продукт подходит для малых, средних, крупных предприятий и учреждений любых отраслей.

90000 руб.

24.10.2022    4860    4    1    

4

Легкий документооборот (+чат-бот для Telegram)

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

Расширение для согласования справочников и документов в конфигурациях "1С: Бухгалтерия 3.0", "Управление нашей фирмой", "1С ERP Управление предприятием", "Бухгалтерия государственного учреждения". Ролевая адресация, условная маршрутизация, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    27795    25    48    

57

Групповая выгрузка и загрузка файлов XML для ЭДО в каталог по приказу №820 ФНС (для УТ 10.3/11, КА2, ERP2, БП3, УНФ, УПП1.3, Розница2.3). Поддержка маркировки. Прослеживание товаров.

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Файловый обмен (TXT, XML, DBF), FTP Обмен с ГосИС Платформа 1С v8.3 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Платные (руб)

Групповая выгрузка файлов XML для ЭДО в каталог по приказу №820 ФНС для Контур.Диадок, СБИС и других провайдеров ЭДО. Поддержка УНФ 1.6, УНФ 3.0 Поддержка УТ 10.3, УПП 1.3 Поддержка Розница 2.3 Добавлена выгрузка непосредственно из документа

18000 руб.

15.12.2022    6427    106    25    

14

ЭДО: организация архива оригиналов первичных документов, комплексный отчет по ошибкам

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Учет документов Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

14880 руб.

17.12.2018    44287    56    51    

71

1С:Бухгалтерия 3.0 ПРОФ + 1С:Документооборот. Модуль интеграции 1С:БП и 1С:ДО (ПРОФ или КОРП)

Обмен между базами 1C Документооборот и делопроизводство (СЭД) Учет документов Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

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

30000 руб.

23.05.2017    53781    34    67    

41
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user1313770 25.12.19 15:00 Сейчас в теме
не работает у меня на КА2.4
2. sanymust 48 26.12.19 00:55 Сейчас в теме
(1) Какая версия конфигурации и какая ошибка ? Выключен ли безопасный режим у расширения?
3. user1313770 28.12.19 15:15 Сейчас в теме
(2) а да, галочку снаял с безопасного режима, заработал. только логотип не печатает на конверт.
4. sanymust 48 30.12.19 00:59 Сейчас в теме
(3)А на печатной форме счета типовой работает вывод логотипа? По идее механизм один и тот же.
5. user1375581 2 14.08.20 12:58 Сейчас в теме
Здравствуйте! Я новый участник и поэтому скачать не могу. Можно вас попросить дать для примера вашу разработку (на почту) ?
6. sanymust 48 14.08.20 15:07 Сейчас в теме
(5)Мне не жалко, но я думаю это будет несправедливо по отношению к другим пользователям сайта, кто скачал данную публикацию за стартмани. Могу предложить Вам приобрести стартмани на данном сайте и воспользоваться ими для скачивания этой и других публикаций.
7. user1375581 2 08.10.20 19:46 Сейчас в теме
(6) А подсказать можете как адрес вывести на печать конверта? Вроде все сделала. А адреса что у организации, что у контрагента не выводятся.
8. sanymust 48 09.10.20 02:04 Сейчас в теме
(7)Здравствуйте, адрес организации используется с видом "почтовый", убедитесь, что он у Вас заполнен и вид адреса не задвоен (возможно используется не предопределенный элемент). Для контрагента выводится тот вид адреса, что Вы выбрали в форме печати конвертов, так же убедитесь, что у Вас заполнен адрес контрагента с тем видом, который Вы выбрали на печать.
Если не получится, то приложите скриншот карточки контрагента с закладкой контактной информации.
9. user1375581 2 09.10.20 06:03 Сейчас в теме
(8) В КА2 отображается справочник Партнеры под именем Контрагенты, соответственно код Печать конвертов я прописываю в менеджере справочника Партнеры, по которому в ВидыКонтактнойИнформации нет предопределяемых элементов. Как надо сделать, подскажите? Могу отправить свое расширение )
10. sanymust 48 09.10.20 07:04 Сейчас в теме
(9)Если отключена функциональная опция ведения контрагентов и партнеров отдельно, то Вам надо брать связанного с партнером контрагента. По умолчанию, при такой настройке, все что Вы делает в базе с партнером автоматически дублируется с зависимым элементом контрагента. Кнопку печати оставляйте в партнерах, но на заполнение все же передавайте контрагента.
У контрагента есть реквизит "партнер", по нему найдете.
11. user1375581 2 09.10.20 09:20 Сейчас в теме
(10) Буду пытаться ) Не понятно почему не выходит на печать адрес Организации.
15. sanymust 48 12.10.20 02:11 Сейчас в теме
(13)Сейчас проверил, при отключенной опции ведения партнеров и клиентов раздельно, все работает. Что у Вас за конфигурация, какая версия, типовая?
12. user1375581 2 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 48 09.10.20 12:10 Сейчас в теме
(12)Я с телефона мельком прошел, в функции "ТекстЗапросаПечатьКонвертовИзКонтрагентов()" Вам надо выбирать получателя не из партнёров,а получить соединением связанного контрагента. Я попозже сделаю возможность печати из партнёров
14. user1375581 2 10.10.20 06:35 Сейчас в теме
16. user1375581 2 12.10.20 08:56 Сейчас в теме
(15) 1С:Комплексная автоматизация 2 (2.4.11.106) . У справочников Организация и Контрагенты нет "ИсторияКонтактнойИнформации", вообще нет истории изменения адреса. Выключила опцию (В базе -тест) ведения партнеров и клиентов раздельно - не работает.
17. sanymust 48 12.10.20 09:56 Сейчас в теме
(16)Думаю тут дело не в работе расширения, а в учетных данных в самой базе. База с нуля или переходили с КА 1.1 или других?
18. user1375581 2 12.10.20 10:59 Сейчас в теме
19. sanymust 48 12.10.20 13:42 Сейчас в теме
(18)Тогда есть вероятность, что контактная информация введена не совсем корректно. Например справочник видов контактной информации содержит кучу неверных элементов.
Оставьте свое сообщение