Печать WORD из тонкого клиента с доступом по вэб адресу (управляемые формы)

10.06.21

Разработка - Инструментарий разработчика

Вариант печати файлов WORD из 1С из-под тонкого клиента, подключенного по вэб адресу. В файле показан вариант печати динамических таблиц, то есть таблиц с изменяемым количеством строк. Обработка печати довольно простая. Опробована на Управление торговлей, редакция 11 (11.4.13.155), версия платформы 1С:Предприятие 8.3 (8.3.18.1334)

Скачать файл

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

Наименование По подписке [?] Купить один файл
Печать ворд из тонкого клиента с доступом по вэб адресу управляемые формы :
.epf 58,61Kb
10
10 Скачать (1 SM) Купить за 1 850 руб.

Клиенту потребовалось печатать договора из заказа клиента в Управлении торговлей 11.4. Делать стандартный договор 1с не хотелось, так как замучишься потом править, то это нужно доработать, то это. Сделал вариант печати из WORD, чтобы сами правили. Два варианта печати из внешнего файла и из макета обработки. Макет двоичные данные. Так вот из макета через вэб интерфейс не печатает. Не может перегнать файл. Только из внешнего файла, сохраненного на компьютере пользователя. Плохо, что один и тот же макет, нужно размножить для каждого нуждающегося. Хорошо, что каждый нуждающийся сам может модернизировать себе макет.

В файле могут быть использованы следующие переменные

<ДокНомер>             //Номер в формате только последние цифры без префиксов

<ДоговорНомер>     //Полный номер документа

<ДокДата>                //Дата в формате 20.05.2010

<ДоговорДата>        //Дата в формате 20 мая 2010 г

<КлиентНаименование> //Наименование клиента

<КлиентНаименованиеПолное>   //Полное наименование клиента

<АдресКлиента>      //Адрес клиента

<ТелефонКлиента>  //Контактный телефон клиента

<АдресЭПКлиента> //Адрес электронной почты клиента

<КонтрагентНаименование>         //Наименование контрагента

<КонтрагентНаименованиеПолное>        //Полное наименование контрагента

<ЮрАдресКонтрагента>    //Юридический адрес контрагента

<ПочтовыйАдресКонтрагента>    //Почтовый адрес контрагента

<КонтрагентИНН>              //ИНН Контрагента

<КонтрагентКПП>              //КПП Контрагента

<КонтрагентКодПоОКПО>                       //Код по ОКПО Контрагента

<ТелефонКонтрагента>                  //Телефон контрагента

<АдресЭПКонтрагента>                //Адрес электронной почты контрагента

<ОрганизацияНаименование>      //Наименование организации       

<ОрганизацияНаименованиеПолное>     //Полное наименование организации

<ОрганизацияНаименованиеСокращенное> //Сокращенное наименование организации

<ОрганизацияКПП>           //КПП Организации

<ОрганизацияОГРН>

<ОрганизацияИНН>

<Город>                                //Город организации (из юр. Адреса)

<ЮрАдресОрганизации>   //Юридический адрес организации

<ПочтовыйАдресОрганизации>   //Почтовый адрес организации

<ТелефонОрганизации>     //Телефон организации

<Соглашение>         

<Сделка>

<Валюта>      //Валюта договора

<СуммаДокумента>  //Обшая сумма по заказу

<ГрафикОплаты>     //График оплаты

<ЖелаемаяДатаОтгрузки>             //Желаемая дата отгрузки

<Склад>         //Склад

<ЦенаВключаетНДС>        //Цена включает НДС

<Менеджер>             //Менеджер

<НеОтгружатьЧастями>     //Не отгружать частями

<ДатаСогласования>           //Дата согласования

<Согласован>                       //Признак согласования

<ФормаОплаты>      //Форма оплаты

<БанковскийСчет> //Банковский счет организации

<НомерСчетаОрганизации>// Номер банковского счета организации

<БИКБанкаОрганизации>  //БИК банка организации

<НаименованиеБанкаОрганизации> //Наименование банка организации

<КоррСчетБанкаОрганизации>    //Корр счет банка организации

<ГородБанкаОрганизации>                       //Город банка организации

<БанковскийСчетКонтрагента>    //Банковский счет контрагента

<НомерСчетаКонтрагента>                       //Номер банковского счета контрагента

<НаименованиеБанкаКонтрагента>         //Наименование банка контрагента

<БИКБанкаКонтрагента>               //БИК банка контрагента

<КоррСчетБанкаКонтрагента>      //Корр счет банка контрагента

<ГородБанкаКонтрагента>            //Город банка контрагента

<СуммаАвансаДоОбеспечения>   //Сумма аванса до обеспечения

<СуммаПредоплатыДоОтгрузки>            //Сумма предоплаты до отгрузки

<ДатаОтгрузки>       //Дата отгрузки

<АдресДоставки>    //Адрес доставки

<НалогообложениеНДС>// Налогообложение НДС

<Комментарий>       //Комментарий документа

<НомерПоДаннымКлиента> //Номер по данным клиента

<ДатаПоДаннымКлиента> //Дата по данным клиента

<Грузоотправитель> //Грузоотправитель

<Грузополучатель>  //Грузополучатель

<БанковскийСчетГрузоотправителя> //Банковский счет грузоотправителя

<БанковскийСчетГрузополучателя>//      Банковский счет грузополучателя

<Договор>     //Договор документа

<Подразделение> //Подразделение

<Автор>                    //Автор

<ПорядокРасчетов>//           Порядок расчетов

<СпособДоставки>  //Способ доставки

<КонтактноеЛицо> //Контактное лицо

<КонтактноеЛицоРП>        //Контактное лицо родительный падеж

<КонтактноеЛицоДП>       //Контактное лицо дательный падеж

<Руководитель>       //Руководитель организации

<РуководительНаОсновании> //Руководитель действующий на основании устава или доверенности

<РуководительРП> //Руководитель в родительном падеже

<РуководительДП>             //Руководитель в дательном падеже

<РуководительФИО>          //Руководитель Фамилия Инициалы

<ДолжностьРуководителя>            //Должность руководителя

<ДолжностьРуководителяРП>      //Должность руководителя в родительном падеже

<ДолжностьРуководителяДП>      //Должность руководителя в дательном падеже

<ГлавныйБухгалтер>          //Главный бухгалтер

<ПорядокОплаты>              //Порядок оплаты

 

Переменные (слова в квадратных скобках) получены запросом к документу печати и загружены в структуру. Они добавляются в нужные места в документе WORD. Файл в формате *.docx.

&НаКлиенте
// Функция - заполняет шаблоны в файле шаблоне документа Word
//
Процедура ОбработатьФайлDocx(ПараметрыЗаполнения,ДокПечати) Экспорт
	//КаталогДокументов();
	ШаблоныКЗамене = ПолучитьШаблоныКЗамене(ДокПечати); 	
	ФайлШаблона = ВывестиМакетНаСервере(ЗначениеЗаполнено(ПутьКФайлу));
	
	Word = Новый COMОбъект("Word.Application");
	ДокументВорд = Word.Documents.Add(ФайлШаблона);
	ДокументВорд = Word.Application.Documents(1);
	ДокументВорд.Activate();
	КолСтрокТаб = 0;
	Для каждого ПараметрЗ Из ШаблоныКЗамене Цикл
		Если ПараметрЗ.Ключ = "КолСтрок" Тогда
			КолСтрокТаб = Число(ПараметрЗ.Значение);
		КонецЕсли;
		Попытка
			Замена = ДокументВорд.Content;
			Замена.Find.Execute("<"+ПараметрЗ.Ключ+">",0,0,,,,,,,ПараметрЗ.Значение,2);
		Исключение
			Сообщить("Ошибка "+"<"+ПараметрЗ.Ключ+">"+ " Знач "+ПараметрЗ.Значение);
		КонецПопытки;
	КонецЦикла;
	//Заполняем первую таблицу
	Если ДокументВорд.Bookmarks.Exists("Таблица1") Тогда
		
	    //Выделяем обязательную закладку начала таблицы
	    ДокументВорд.Bookmarks("Таблица1").Select();     
	     
	    //Перемещаемся вниз, выделяем строку таблицы и копируем ее в буфер обмена
	    ДокументВорд.Application.Selection.MoveDown();
	    ДокументВорд.Application.Selection.SelectRow();
	    ДокументВорд.Application.Selection.Copy();
	    Сч = 0; 
		Пока Сч < КолСтрокТаб Цикл
			Сч = Сч + 1;
	        Для каждого СтрокаТ Из ШаблоныКЗамене Цикл
				Если СтрокаТ.Ключ = "Номенклатура"+Сч Тогда
					Номенклатура = СтрокаТ.Значение;
				КонецЕсли;
				Если СтрокаТ.Ключ = "Количество"+Сч Тогда
					Количество = СтрокаТ.Значение;
				КонецЕсли;
				Если СтрокаТ.Ключ = "Цена"+Сч Тогда
					Цена = СтрокаТ.Значение;
				КонецЕсли;
				Если СтрокаТ.Ключ = "Сумма"+Сч Тогда
					Сумма = СтрокаТ.Значение;
				КонецЕсли;
			КонецЦикла;  
	        //Заменяем значения
	        ДокументВорд.Application.Selection.Find.Execute("<Знач1>" ,,,,,,,,,Сч,2);
	        ДокументВорд.Application.Selection.Find.Execute("<Знач2>" ,,,,,,,,,СокрЛП(Номенклатура),2);
	        //Последний параметр поиска пустой
	        ДокументВорд.Application.Selection.Find.Execute("<Знач3>" ,,,,,,,,,"Шт.",2);
			ДокументВорд.Application.Selection.Find.Execute("<Знач4>" ,,,,,,,,,СокрЛП(Количество),2);
			ДокументВорд.Application.Selection.Find.Execute("<Знач5>" ,,,,,,,,,СокрЛП(Цена),2);
			ДокументВорд.Application.Selection.Find.Execute("<Знач6>" ,,,,,,,,,СокрЛП(Сумма),2);
	         
	        //Перемещаемся вниз, вставляем из буфера обмена строку
	        ДокументВорд.Application.Selection.MoveDown();
	        ДокументВорд.Application.Selection.Paste();
	        //Перемещаемся вверх и выделяем строку для замены значений
	        ДокументВорд.Application.Selection.MoveUp();
	        ДокументВорд.Application.Selection.SelectRow();
	         
	    EndDo;
	     
	    //Вырезаем лишнюю строку
	    ДокументВорд.Application.Selection.Cut();
	     
	    //Скрываем обязательную закладку начала таблицы
	    ДокументВорд.Bookmarks("Таблица1").Select();
	    ДокументВорд.Application.Selection.TypeText(" ");
	     
	КонецЕсли;
	Word.Application.Visible = Истина;
	Word.Application.WindowState = 2;
	Word.Application.WindowState = 1;
	Word.Activate();   
	
	
КонецПроцедуры

 

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    174976    973    403    

931

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    16570    114    52    

115

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    18052    49    18    

81

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    28221    98    48    

141

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

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    12385    49    33    

70

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18364    7    32    

43

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1468    2    0    

5
Оставьте свое сообщение