Заполнение шаблонов в Word и Excel

09.09.15

Учетные задачи - Печатные формы

Внешняя обработка подключаемая как "Печатная форма" через регистрацию внешних печатных форм. Для заполнения подготовленных документов в Word или Excel.

Добавлена "универсальность" отчета. Теперь работает с любой, даже самописной, конфигурацией без каких-либо доработок.
ОБНОВЛЕНИЕ от 29.09.2010

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

Наименование Файл Версия Размер
-
.zip 27,87Kb
1691
.zip 27,87Kb 1691 Скачать

В комплекте идет пример работы для ТиС, печать обычной накладной, тупо чтобы показать принцип работы.

Как ставить: Копируем в каталог внешних печатных форм "ExtForms\PrnForms" и через встроенную обработку "Регистрация внешних печатных форм..." добавляем для нужных документов / справочников.


Можно и просто открывать как внешнюю обработку, но тогда доступна работа только со своим списком значений. Список шаблонов настраивается для каждого вида документов/справочников.

Что из себя представляет и как работает:

Создаете любой документ в Word или Excel, оформляем как душе угодно. В любом месте документа куда надо вставить значения из 1С просто пишем:

для Word: формулу 1С заключенную в фигурные скобки { и } (Если фигурные скобки используется в вашем документе, то их можно заменить на любые другие символы в конце текста модуля), например: {"Текущая дата: "+ТекущаяДата()} или {Конт.ДатаДок} и т.п.
для Excel: добавляем в ячейку примечание (правой кнопкой мыши и выбрать "создать примечание"), в тексте примечания пишем формулу 1С

Новое! Колонтитулы в Word и Excel обрабатываются по правилам оформления шаблона Word, то есть формулы 1С заключаются в фигурные скобки, например {Конт.ДатаДок}

Контекст формы из которой вызвана обработка хранится в переменной Конт, соответственно ее можно использовать в формуле в Word, например: {Конт.Контрагент.ЮрФизЛицо.ПолнНаименование}

Если необходимо вывести табличную часть документа, то оформляем таблицу как вам надо (шапка, подвал и т.д.), и в строке куда надо вставить данные из 1С, так же как и выше вставляем формулы 1С и в первой формуле в начале строки ставим знак доллара $, все. При заполнении, эта строка будет размножена и заполнена. При этом если поля находятся в таблице, будут добавлены строки таблицы, если просто строка не в таблице, то она будет скопирована. То же самое относится и к константам имеющие тип "ТаблицаЗначений" (присваивается из внешних отчетов/обработок). При заполнении табличной части в Excel можно отключить вставку новых строк, для этого необходимо указать не один, а два знака доллара.

Так же можно определять свои собственные константы любого типа (Строка, Число, справочник и т.п.) И изменять их перед печатью. Список констант хранится отдельно для каждого шаблона. Использовать константы просто, используем их в формулах как переменные в 1с, например:

{"1-а константа: "+Конст1+" 2-я константа: "+Конст2.Наименование}

Если константа определена как отчет/обработка, то перед заполнение шаблона будет вызвана эта обработка/отчет с передачей в него контекста формы из которой была вызвана печать. После выполнения внешнего отчета/обработки значение переданное из нее в Форма.Параметр присваивается константе и может использоваться в шаблоне. Возвращаемое значение может иметь тип "ТаблицаЗначений", тогда его можно использовать для формирования табличной части, точно так же как и с контекстом документа (см. выше).


Если что спрашивайте, буду рад, если кому-нибудь пригодится.

 

Изменения от 25.04.2009

Если необходимо размножить более одной строки, то после знака $ указывается еще один символ ">", если надо чтобы каждая строка табличной части документа начиналась с новой страницы, добавляем еще один символ ">". В последней строке, которую необходимо размножить указываем последовательность "$<". Примеры:

Размножение одной строки шаблона с заполнением из табличной части:

{$НомерСтроки} | {Конт.Номенклатура} | {Конт.Количество}

Размножение двух строк шаблона между "командами" {$> и {$<:

{$>}Номер строки документа: {НомерСтроки}

Наименование товара: {Конт.Номенклатура}{$<}

То же самое, но каждая строка документа будет идти с новой строки:

{$>>}Номер строки документа: {НомерСтроки}

Наименование товара: {Конт.Номенклатура}{$<}

Изменения от 08.07.2009

Добавлена обработка колонтитулов документов (для Word'а учитываются настройки страницы и различия первой и нечетной страниц). Правила оформления формул 1С аналогично оформлению шаблонов в Word'е. Все формулы заключаются в фигурные скобки (открывающая и закрывающая команда, могут быть изменены), например: Накладная № {Конт.НомерДок} от {Конт.ДатаДок}

Изменения от 29.09.2010

По просьбе пользователей внес небольшие изменения: теперь при открытии обработки, просто как внешнего отчета, выводится список метаданных (документов, справочников) текущей конфигурации. Что позволяет работать с любой, даже нестандартной конфигурацией без каких-либо изменений со стороны программиста. Хоть и не совсем удобно (приходится сначала выбирать тип данных "Справочник" или "Документ", затем вид и только потом сам объект, с которым необходимо работать).

Изменения от 20.10.2010

Исправлена проблема при заполнении колонтитулов в некоторых версиях Excel'я. Спасибо за описание ошибки и терпение Весниной Оле

Изменения от 09.09.2015

По просьбе Ивановой Дониэлы добавлена возможность сортировать список шаблонов и группировать шаблоны. Вспомогательная форма перенесена в основной файл, поэтому файл extprint_.ert удален за ненадобностью.

универсальная внешняя печать шаблоны word excel office

См. также

Загрузка банковской выписки для 1С 7.7 любой конфигурации

Банковские операции Загрузка и выгрузка в Excel Платформа 1С v7.7 Конфигурации 1cv7 Россия Бухгалтерский учет Платные (руб)

Решение предоставляет комплексную загрузку банковской выписки из CSV, XLS, TXT файла в 1С 7.7 любой конфигурации. Позволяет создавать документы выбранного вида, например "Строка выписки банка (приход/расход)", или многострочный табличный документ, например Выписка, для каждой операции из загружаемого файла банковской выписки. Загружает реквизиты документа, а также создаёт контрагентов и другие необходимые элементы справочников.

3588 руб.

29.07.2021    20511    13    22    

14

Новые печатные формы Счет-фактур и УПД с 01.07.2021 постановления Правительства от 2 апреля 2021 г. № 534 (Архив для всех конфигураций)

Печатные формы Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Бухгалтерия 7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 1С:Производство+Услуги+Бухгалтерия Россия Бухгалтерский учет Налоговый учет Абонемент ($m)

Внешние печатные формы Счета-Фактуры( СФ ) и Универсального Передаточного Документа( УПД ) (в редакции постановления Правительства Российской Федерации от 2 апреля 2021 г. № 534) для большинство конфигураций (УТ,БП,УПП,УСО,ЕРП,УНФ,Розница,КА) одним архивом. . Бонус печатные формы Счета-фактур и УПД для Бух.учета, ТиС, Комплексная конфигурация 4.5 1С 7.7; универсального корректировочного документа (УКД) для УТ10/УПП1/КА1 Внешние печатные формы (УПД, счет фактура) за поставщика из Управление торговли 10.3 (все релизы); УПП 1.3; УСО 1.3; КА 1.1; БП 2.0. Так же формы для прослеживаемых товаров с колонками (c РНПТ) . *поправлено от 19.12.2023

3 стартмани

25.06.2021    90750    1298    Kontakt    318    

24

Счет-фактура и УПД 2017 (новые печатные формы для Бухгалтерии 7.7 и ТиС 7.7) с выводом на печать идентификатора госконтракта

Печатные формы Оптовая торговля Производство готовой продукции (работ, услуг) Платформа 1С v7.7 1С:Бухгалтерия 7.7 1С:Торговля и склад 7.7 Россия Бухгалтерский учет НДС Абонемент ($m)

Еще одна поделка на заданную тему. Отличается от аналогичных разработок и от типового решения тем, что не только выводится новая строка в шапке "Идентификатор государственного контракта, договора (соглашения)", но и печатается этот самый идентификатор госконтракта. Может пригодиться тем, кто осуществляет поставки по госконтрактам - с 01.07.2017 они обязаны указывать ИГК в счетах-фактурах и УПД, а не просто печатать пустографку.

1 стартмани

04.07.2017    39817    335    Cooler    49    

18

ЭВОТОР: выгрузка и загрузка в онлайн кассу в соответствии с требованием 54-ФЗ (54ФЗ). 1С: 7.7 ТиС

Загрузка и выгрузка в Excel ККМ Платформа 1С v7.7 1С:Торговля и склад 7.7 Управленческий учет Платные (руб)

Выгрузка из 1C версии 7.7 ТиС (Торговля и Склад) в EXCEL для дальнейшей загрузки в кассы ЭВОТОР, с помощью обработки обмен через EXCEL ( которая выбирается на сайте ЭВОТОР в магазине приложений). Полная версия без ограничений. Демоверсия позволяет выгружать только 5 строк номенклатуры(группы товаров). Демоверсия обладает такими же характеристиками что и полная за исключением того, что выгружает 5 строк неважно чего группы или номенклатуры (текст обработки зашифрован). Если у вас одна позиция номенклатуры или 5 позиций без групп, тогда Демоверсия для Вас. Если вдруг выскакивает ошибка по запуску обработки попробуйте запустить 1с с правами администратора

3000 руб.

19.06.2017    49795    9    26    

14

Экспорт нескольких MXL таблиц в один XLS файл, на отдельные листы. Простой алгоритм

Загрузка и выгрузка в Excel Математика и алгоритмы Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Статья посвящена распространённому вопросу - как сохранить несколько таблиц (отчетов) в формате MXL, с которым работает 1С, на отдельные листы одного Excel файла. Освещается простой алгоритм решения проблемы штатными средствами, без использования внешних модулей и библиотек (не относящихся к 1С и Excel).

23.11.2015    18893    etmarket    14    

20

Загрузка документов "Поступление", "Отгрузка", "Счет на оплату" из Excel в Бухгалтерию 7.7

Загрузка и выгрузка в Excel Оптовая торговля Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Бухгалтерский учет Платные (руб)

Обработка загружает из файла Excel документы "Поступление", "Отгрузка", "Счет на оплату". Возможно сохранение настройки соответствия полей. Есть демоверсия. Есть интересная функция загрузки сразу и поступления, и отгрузки (цены в отгрузке будут установлены больше на выбранный процент). Элементы номенклатуры ищутся по полям поиска и могут создаваться новые, если не найдены.

9360 руб.

02.06.2015    42681    3    5    

5

Печать универсального передаточного документа (УПД) из поступления в Бухгалтерии 7.7

Печатные формы Документооборот и делопроизводство (СЭД) Логистика, склад и ТМЦ Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Россия Бухгалтерский учет Абонемент ($m)

Внешняя обработка, позволяющая выводить на печать УПД из документа "Поступление товаров". Сделано в виде внешней обработки, а не печатной формы, потому что в типовой форме поступления отсутствует кнопка "Печать".

2 стартмани

06.05.2015    23700    35    cargobird    5    

28

Хитрости сохранения табличного документа в Excel для дальнейшей работы с ним

Загрузка и выгрузка в Excel Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Бесплатно (free)

Все пользователи 1С всех версий (начиная с 7-й) сталкиваются с проблемой нормальной работы с данными, сохраненными в Excel файл. Есть некоторые хитрости, которые позволяют облегчить работу с сохраненными данными из 1С в формат Excel.

16.01.2015    112893    shmellevich    40    

90
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. DDD2005 03.10.08 10:21 Сейчас в теме
Еще бы такой примерчик с Open Office
2. zsrg 343 03.10.08 16:29 Сейчас в теме
У меня не стоит Open Office, но гляну что можно сделать...
3. AklexK 22 09.10.08 08:29 Сейчас в теме
Вот генератор вывода в Word и ОpenOffice, Word на компе не нужен
http://infostart.ru/projects/362/
4. inquiro 09.10.08 16:02 Сейчас в теме
Ценная вещь. После мелкой доработки можно вводить формулы 1С непосредственно в поле "Значение", а в поля Word вписывать только имена констант.
62. Ольга7 08.10.10 09:18 Сейчас в теме
Спасибо я во всем разобралась, в ворде все шикарно работает огромное спасибо, а вот в екселе ошибка постоянно
Л.PageSetup.LeftHeader = ТекТекст;
{G:\EXTPRINT(4)\EXTPRINT.ERT(257)}: Microsoft Office Excel: Нельзя установить свойство LeftHeader класса PageSetup
Помогите пожалуйста
5. inquiro 09.10.08 16:53 Сейчас в теме
Хорошо бы привязать список шаблонов к форме, из которой открывается эта обработка, причём, не размножая файлы настроек.
6. Alex_Sun 20.10.08 12:20 Сейчас в теме
Привет колись, как мне в 2007 Word сделать свои поля текстового ввода такие подсвеченые серым.
Само поле сделал но оно нифига непохоже на то что уже есть в примере.?!
7. zsrg 343 20.10.08 13:50 Сейчас в теме
Я на стандартных панелях не нашел такой команды, поэтому тупо через настройки панели "Быстрого доступа", есть такая под основной панелью, добавил кнопку из списка всех команд команду "Вставить поле" и пользовался ей.
8. Alex_Sun 22.10.08 11:51 Сейчас в теме
Ок. Это и я понял. Открывается форма "поле" а в нем есть поле - "Поля:" а там?
9. zsrg 343 22.10.08 12:51 Сейчас в теме
Это не просто "Поле", а "Текстовое поле" в разделе "Поля формы".
Во всех офисах до 2007 его легко найти на панели "Формы": Меню "Вид" - "Панели инструментов" - "Формы"
А в Word 2007 я не нашел такой панели, на память я точно не помню как называется команда, но
раз "Вставить поле" у тебя выдает диалог с типами полей, значит это не то, ищи команду "Вставить текстовое поле" или "Вставить поле формы" или "InsertFormField"
10. zsrg 343 22.10.08 15:59 Сейчас в теме
ОБНОВИЛ!
Так как очень часто поступали вопросы: "Как добавить поле?", я переделал обработку, теперь нет необходимости ничего дополнительно вставлять. Просто пишем формулу 1С заключенную в фигурные скобки и все! Никаких дополнительных действий делать не надо!
Если фигурные скобки используются в тексте документа, то их можно заменить на любые другие символы или строки в конце текста модуля, например заменить на:

НачКоманды="{*";
КонКоманды="*}";

Тогда одинарные скобки будут игнорироваться.

Успехов!
11. Alex_Sun 23.10.08 08:56 Сейчас в теме
Спасибо, это безусловно более простое решение, но с полями смотрится как то более пафоснее.
12. masterprint 29.11.08 21:20 Сейчас в теме
Отличная вещь, может подскажите как правильно встроить в документ - требуется чтоб из одного только дока заполнялся Word?
Спасибо, Александр masterprint@aplus.by
13. zsrg 343 07.12.08 20:58 Сейчас в теме
По многочисленным просьбам добавлено:
- Работа с документами Excel
- привязка списка шаблонов к виду документов/справочников
- получение значений констант из внешних отчетов/обработок
- работа со значениями констант типа "ТаблицаЗначений"
- проверка прав доступа к объектам в списке констант
подробнее в описании программы

Пишите!
14. Shontas 09.12.08 08:06 Сейчас в теме
zsrg, даже и не знаю как отблагодарить.
Сам ковырялся с подобной проблемой, но шел другим путем и не туда ушел. У нас на базе платформы 1С7 самописная база для учета и ведения заявок по ремонту, из этой же базы планировалось формировать договор и доки для контрагента.
Так что обработка В ТЕМУ. Спасибо
15. zsrg 343 09.12.08 12:53 Сейчас в теме
Рад что обработка пригодилась не только мне! :)
Вообще я начинал писать эту обработку для кадровиков в контору в которой нет своего программиста. Они хотели делать личные карточки, трудовые договоры и т.п.
Им хотелось чтобы они сами могли создать любой документ в Office и заполнить его из 1С. Поэтому и была сделана такая обработка. Потом уже она дорабатывалась и превратилась в то, что вы сейчас видите.

Есть еще много идей по развитию этой обработки, так что если кому-то нравится и есть свои идеи, подкидывайте, буду дорабатывать!
16. Снп_1 10.12.08 09:57 Сейчас в теме
Отличная и нужная разработка. Большое спасибо за такой чудесный подарок.
17. Снп_1 10.12.08 16:10 Сейчас в теме
Уважаемый zsrg! У меня много конфигураций разработанных с нуля, практически во всех не поддерживается обработка "Регистрация внешних форм", поэтому вашу обработку встроила в отчеты и вывываю из документа "ОткрытьФормуМодально". При этом, если вхожу в документ , после того как его закрыла список шаблонов чист и к нему надо вновь искать путь. Как поправить?
18. zsrg 343 10.12.08 21:03 Сейчас в теме
Список шаблонов привязывается к контексту из которого он был вызван. Так как обработка писалась под стандартный вызов внешней печатной формы, то необходимо так же вызывать ее и из своих конфигураций. А именно важно только два момента:
1. передавать в обработку значение типа "СписокЗначений"
2. в списке значений должен быть передан контекст вызываемой формы
Пример вызова для Вашего случая:

Сп = СоздатьОбъект("СписокЗначений");
Сп.Установить("Контекст",Контекст);
ОткрытьФормуМодально("Отчет",Сп,"..\extprint.ert");

Все настройки хранятся в файле extprint.ini и имеют вид:

[Наименование шаблона]
Файл=ПУТЬ_ДО_ФАЙЛА_ШАБЛОНА
Контекст=Тип контекста, например: Документ.Реализация
СПИСОК КОНСТАНТ

Список констант имеет вид:

ИмяКонстанты=ТипКонстанты:Значение_Константы

ТипКонстанты имеет вид: ТипЗначения.Длина.Точность
Значение_Константы: это строковое представление значения полученное функцией ЗначениеВСтроку()

Например:

ДокументДатаНомер=Строка.60.0.0:{"Строка","Номер"}

Если возникнут проблемы или пожелания, пишите буду рад помочь.
19. zsrg 343 10.12.08 21:09 Сейчас в теме
Ах да, забыл уточнить, что в описании типа константы могут отсутствовать такие параметры как "Точность", за ненадобностью, например для Даты, и присутствовать дополнительные параметры, например для строки этот будет:
Строка.ДлинаСтроки.ПризнакМногострочногоТекста.ПризнакСтрокиНеограниченнойДлины

Если ПризнакСтрокиНеограниченнойДлины = 1, то параметр "ДлинаСтроки" не имеет смысла но всеравно должен присутствовать
20. Снп_1 11.12.08 17:30 Сейчас в теме
Уважаемый zsrg! В одну из своих разработок вставила все функции для работы обработки "Регистрация внешних форм" и ваша обработка прекрасно заработала в моей оригинальной конфигурации.
Еще раз большое спасибо. Из всего, что здесь представлено использую в своей работе :
1.FormEx
2.OSV252
3.Группировки
Ваша разработка в ряду этих действительно нужных, полезных и умных для меня разработок. Еще раз спасибо.
21. zsrg 343 12.12.08 00:00 Сейчас в теме
И Вам спасибо за внимание к моей работе :)
22. vitae 22.12.08 10:55 Сейчас в теме
Cпасибо Вам! Я и сам постоянно работаю над связками Office + 1C, но Ваши произведения более профессиональны.
23. zsrg 343 22.12.08 14:23 Сейчас в теме
Рад, что пригодилась обработка.
Странно, что у всех кто пользуется обработкой нет пожеланий и замечаний. Такого быть не может, чтобы обработка полностью удовлетворяла...
Ну если так, то хорошо, конечно
24. zsrg 343 12.02.09 14:37 Сейчас в теме
Так как часто обработкой пользуются неопытные программисты, добавил возможность просмотра структуры справочников и документов, а также формирование примера шаблона в Word'e и Excel'e на основе текущего документа.
25. walent555 14.04.09 09:48 Сейчас в теме
Уважаемый zsrg! Не могу реализовать формулу вида
{?(конт.рекв=1,"строка1","строка2")} в Word.
т.е. в зависимости от условия надо напечатать ту или иную строку.
Подскажите, если такое возможно,
а вообще обработка отличная, большое спасибо!!!

26. Душелов 4013 14.04.09 09:50 Сейчас в теме
(25) В шаблоне одно наименование реквизита.
А уже при заполнении надо по условие подставлять нужное значение.
27. walent555 14.04.09 10:18 Сейчас в теме
Извините, все работает, ставил не те кавычки...
Спасибо за обработку!
28. maximaorsk 23.04.09 14:05 Сейчас в теме
Здравствуйте, zsrg! Подключаю вашу обработку к документу "возврат поставщику" (1С 7.7. конф. "торговля+склад"). Шаблон Word содержит карточку товара с различными переменными. Необходимо вывести данные из табличной части документа, но не в форме таблицы, а так, что бы на каждый товар была заполнена своя карточка и что бы все эти карточки были в одном документе. В общем получить список товаров возврата кроме как в виде таблицы (при использовании знака $) не получается. Что делать?
29. zsrg 343 23.04.09 14:29 Сейчас в теме
Привет, maximaorsk! Сейчас никак, но ты можешь скинуть мне на zsrg@yandex.ru образец того, что ты хочешь получить, я подумаю как изменить обработку. Завтра 23/04 я на разъездах по клиентам, а вот в выходные займусь и сделаю
30. zsrg 343 25.04.09 14:18 Сейчас в теме
Как и обещал, доработал обработку и обновил ее и описание на странице. Вот что добавилось:

Если необходимо размножить более одной строки, то после знака $ указывается еще один символ ">", если надо чтобы каждая строка табличной части документа начиналась с новой страницы, добавляем еще один символ ">". В последней строке, которую необходимо размножить указываем последовательность "$<".

Примеры:

Размножение одной строки шаблона с заполнением из табличной части:

{$НомерСтроки} | {Конт.Номенклатура} | {Конт.Количество}

Размножение двух строк шаблона между "командами" {$> и {$<:

{$>}Номер строки документа: {НомерСтроки}
Наименование товара: {Конт.Номенклатура}{$<}

То же самое, но каждая строка документа будет идти с новой строки:

{$>>}Номер строки документа: {НомерСтроки}
Наименование товара: {Конт.Номенклатура}{$<}


Жду новых пожеланий и замечаний! :)
31. elis 09.06.09 11:54 Сейчас в теме
32. zsrg 343 09.06.09 13:24 Сейчас в теме
33. ГАВ 17.06.09 13:29 Сейчас в теме
Отличная разработка, в ТиС работает на ура. А вот как ее прикрутить в 1С 7.7 Бух к документам "поступление товаров" и "услуги сторонних организаций"? В этих документах вообще нет кнопки печать...
43. zsrg 343 08.07.09 08:07 Сейчас в теме
(33), ГАВ. На вопрос: "А вот как ее прикрутить в 1С 7.7 Бух к документам "поступление товаров" и "услуги сторонних организаций"? В этих документах вообще нет кнопки печать...", отвечаю:

Чтобы сделать заполнение Word и Excel из документа, в котором нет кнопки "Печать" и при этом не переделывать конфигурацию, необходимо открыть обработку просто как внешний отчет через меню в 1С "Файл-Открыть..." или скопировать ее в папку ExtForms и добавить в разделе "Сервис-Дополнительные возможности" обозвав, например "Внешняя печать" или еще как.
Действия в обработке следующие:
1. ДОбавляем шаблон (Word или Excel)
2. Добавляем константу, назвав, например "Док" и выбираем ее тип как "Документ" нужного вида.
3. В шаблоне вместо "Конт." перед реквизитами документа, указываем имя константы "Док." и все. Все остальное как обычно.
Разница в том, что перед заполнением надо будет два раза щелкать в ячейке "Значение" рядом константной "Док" и выбирать нужный документ. Потом только жать "Заполнить". Будут вопросы пишу, отвечу сразу :)
34. xVaSx 30.06.09 22:17 Сейчас в теме
Супер. Ещё бы в колонтитулах формулы работали.
35. zsrg 343 01.07.09 10:02 Сейчас в теме
(34) xVaSx, не вопрос, я сейчас в отпуске, до конца недели, с понедельника выйду на работу и внесу изменения в обработку, будет работать и колонтитулы :) Как поправлю, сразу сообщу.
36. xVaSx 02.07.09 13:12 Сейчас в теме
Сенькствую. Я уж и сам управился, убогенько, правда, но всё же. Щас над багом колдую. Почему то у некоторых формул (и не только, пока не понял закономерности) в таблице обрезается первый символ и остается конец команды. А в вашем же примере в подвале таблицы вылазит вот это:
_____________________
№ | Товар | Кол-во|...
_____________________
[сего: | |...
{Конт.Итог(] | 0 |
------------------------

Хрюша про сп2
Ворд 2003
37. xVaSx 02.07.09 16:01 Сейчас в теме
Область.SetRange(Поз + НачПоз - 1, Поз + КонПоз + СтрДлина(КонКоманды) - 1);

Выделяет на один символ позже и с начала и с конца, хотя сами НачПоз и КонПоз вычисляются правильно (с учетом табов). Видимо сам ворд криво проглатывает символ табуляции при переходе в др. колонку.
38. xVaSx 02.07.09 17:03 Сейчас в теме
Это происходит, когда в таблице нет повторяющихся строк ($) (табличная часть пуста), но не всех таблицах (в вашем примере "Отпустил", "Получил" выходят нормально). И ещё (может не существенно) в двух разных случаях глючила формула из второй ячейки строки.
У меня тоже таблица 1х2, просто для оформления, причем в колонтитуле (не спрашивайте меня зачем).
39. zsrg 343 02.07.09 19:32 Сейчас в теме
Скиньте на zsrg@yandex.ru свой шаблон, посмотрю в чем дело. Но не раньше понедельника, не люблю домой тащить работу, отпуск есть отпуск. Обещаю в понедельник посмотреть в чем дело и сразу отпишусь
40. xVaSx 03.07.09 11:28 Сейчас в теме
(39)У меня сейчас мой шаблон через вашу обработку нормально отработался, правда не в колонтитуле, а в теле документа. В общем заполните своей обработкой свой же шаблон (Пример.doc) документом у которого табличная часть пуста. Глюки немного разные, но причина видимо одна.
41. xVaSx 03.07.09 12:31 Сейчас в теме
Справился я со своим глюком. Я просто рассматривал каждый колонтитул как отдельный параграф, а надо было как отдельную область документа со своим набором параграфов.
И всё же глюк с пустой табличной частью имеет место быть...
42. zsrg 343 08.07.09 07:55 Сейчас в теме
Как и обещал исправил и дополнил обработку. Добавлена обработка колонтитулов и исправлена бага с пустой табличной частью документа, при формировании шаблона в Word'е.

Всем спасибо! :)
44. sh67dgfy 20.07.09 20:30 Сейчас в теме
Хорошая работа, спасибо за труд.
45. Юля21 19.08.09 08:48 Сейчас в теме
Здравствуйте! Я начинающий программист 1С и до этого времени не работала с подобным видом отчетов. Пытаюсь разобраться и подключить свой внешний отчет к этой обработке но у меня постоянно выдает ошибку "Значение не предоставляет агрегатный объект". Я явно что то не так делаю))))Только хоть убей не могу разобраться что) не подскажите в каком виде приблизительно должна быть внешняя обработка. что бы все работало? Заранее спасибо
46. zsrg 343 19.08.09 11:38 Сейчас в теме
Здравствуйте, Юля!
Моя обработка подключается как внешняя печатная форма. Нет необходимости писать для этого что-то свое. Достаточно проделать следующее:
1. Скопировать все файлы из архива в папку ExtForms\PrnForms в вашей конфигурации 1С.
2. Непосредственно при работе в 1С:Предприятии открыть пункт меню "Сервис - Регистрация внешних печатных форм"
3. Выбрать нужный вид документа/справочника
4. Нажать кнопку "Изменить" и выбрать "Внести в список" и выбрать "extprint"
5. Открыть любой документ выбранного вида в журнале документов, и нажать стрелку рядом с кнопкой печати, чтобы выбрать мою обработку.
6. Далее все по инструкции из описания к моей обработке на этой странице

Если всетаки есть необходимость вызывать мою обработку из своей, то используем тот же принцип, что и при вызове внешней печатной формы, а именно:

Сп = СоздатьОбъект("СписокЗначений");
Сп.Установить("Контекст",КонтекстДокументаИлиСправочника);
ОткрытьФормуМодально("Отчет",Сп,"ПутьКМоейОбработке\extprint.ert");

Но что-то мне подсказывает, что Вы просто не можете сделать шаблон непосредственно в Word'е / Excel'е и называете его внешним отчетом...
Если это так, то пришлите мне Ваш шаблон на почту zsrg@yandex.ru я внесу коррективы и добавлю комментарии к Вашим ошибкам.
Юля21; +1 Ответить
47. Chuba73 24.10.09 14:51 Сейчас в теме
Сердечно благагодарю, ибо аналоги стоят денег.
48. victory 05.01.10 20:29 Сейчас в теме
49. Немел 22.09.10 12:58 Сейчас в теме
а вот такую обработку можно сделать только для 1с Предприятие 7.7. Бухгалтерский учет?
Возможно ли это сделать для 1с Предприятие 7.7 Платежные документы?
50. zsrg 343 22.09.10 14:28 Сейчас в теме
49. Обработка универсальная и работают с любой конфигурацией 1С 7.7. Хоть самописной.

С месяц назад начал работать с 8-й, мне пока не потребовалось, но если надо, могу переработать обработку под работу под 8-й.
51. Немел 22.09.10 14:35 Сейчас в теме
а вы не могли б написать процедуру как это все сделать в Платежных документах там просто нету во вкладки Сервис вкладки Регистрация внешних печатных форм
52. zsrg 343 22.09.10 16:37 Сейчас в теме
51. Я уже описывал в 46-м сообщении, посмотрите чуть ниже на этой странице в конце сообщения, как вызывать обработку из своего отчета.
Если уже совсем просто надо, без программирования, то я доработаю ее завтра немного.
53. Немел 29.09.10 09:23 Сейчас в теме
Я попробовал в 1с Предприятие 7.7. Бухгалтерский учет все замечательно,а вот в 1с Предприятие 7.7. Платежные документы она не работает, как мне сделать чтоб в 1с Предприятие 7.7. Платежные документы она тоже могла выполнять обработку?
Ольга7; +1 Ответить
54. zsrg 343 29.09.10 12:13 Сейчас в теме
53. Сегодня-завтра, я доработаю обработку и все будет работать и с платежными документами. Пока же необходимо написать свою обработку из которой уже вызывать мою. Что конечно же не удобно, поэтому просто немного подождите.
55. zsrg 343 29.09.10 13:56 Сейчас в теме
53. Обновил обработку. Теперь просто открываешь ее как внешнюю обработку, выбираешь нужный документ/справочник и печатаешь. Не совсем удобно, но зато ничего дописывать не надо и работает с любой конфигурацией.
56. Ольга7 30.09.10 08:22 Сейчас в теме
Здрасти. Мне не понятно где в Платежных документах находится внешняя обработка? Напишите пожалуйста как это все сделать в Платежных документах
57. zsrg 343 30.09.10 08:30 Сейчас в теме
56. Ольга, просто жмете меню "Файл - Открыть" или Ctrl+Щ на клавиатуре, или кнопку с желтой папочкой и стрелкой на панели, выбираете файл extprint.ert тот что без подчеркивания в конце, появится выбор типа метаданных "Справочник" или "Документ", затем список видов метаданных и потом непосредственно выбор нужного элемента справочника или документа. А дальше все как описано выше, указываете шаблоны, дополнительные переменные....
58. Ольга7 30.09.10 13:29 Сейчас в теме
При открытии выходит ошибка
Стр=глПредставлениеДокумента<<?>>(Зн);
{C:\PROGRAM FILES\1CV77\ORDERS\EXTFORMS\EXTPRINT.ERT(1199)}: Функция не обнаружена (глПредставлениеДокумента)
59. zsrg 343 30.09.10 14:50 Сейчас в теме
58. Ольга, простите, на автомате использовал стандартные функции классических конфигураций. Поправил и обновил файл. Загрузите и все должно быть хорошо :) Еще раз извините
60. Ольга7 30.09.10 21:10 Сейчас в теме
Спасибо.Все открывается. Но в шоблоне не работает {Конт.Контрагент.ЮрФизЛицо.ПолнНаим} пишет Поле агрегатного объекта не обнаружено (Контрагент)
61. zsrg 343 01.10.10 00:20 Сейчас в теме
Ольга, ничего удивительного, так как конфигурация имеет свою структуру метаданных.
Заходите в режиме конфигуратора, открывайте соответствующий документ и смотрите структуру. Тут уже моя обработка совсем не причем. Скорее всего там реквизит имеет наименование "Клиент" или "Плательщик" или еще что, это уже конкретную конфигурацию смотреть надо.
63. zsrg 343 20.10.10 01:11 Сейчас в теме
62. Оля, простите за ожидание. Обновил обработку - проверяйте
64. Griz 20.10.10 11:25 Сейчас в теме
Добрый день. Искали примеры выгрузки в Word. Наткнулись на Вашу обработку, очень монументально. У нас задача немножко другая. Может, подскажите. Есть шаблон Word, в него выгружаем данные из 1С по сотруднику. Все замечально, но надо для списка сотрудников, и чтобы было одним файлом Word, т.е есть список сотрудников, есть файл Word, в нем на каждой странице данные одного из сотрудника по списку, данные отображаются по определенному шаблону. Как этот шаблон повторять с новой страницы, меняя только данные сотрудников. Файл прилагается
Прикрепленные файлы:
Заявление_Electron (на форум).dot
65. zsrg 343 20.10.10 14:53 Сейчас в теме
64. Griz. Скачайте обновленную версию моей обработки, в ней исправлен небольшой баг, как раз связанный с постраничным выводом.

В прикрепленном файла пример Вашего шаблона для постраничного заполнения. Я только ФИО заполняю, там по аналогии можете все остальное заполнить. Действия следующие:

1. Запускаете мою обработку как внешний отчет, либо из контекста нужного документа. Пример делался для обычного режима через "Файл - Открыть". Когда спросит тип метаданных, жмите "Отмена"

2. Добавляете в список шаблонов мой пример

3. Добавляете константу "Сотр" с видом "Внешний отчет" и выбираете файл из архива с примером - "ВыборСотрудника".

Жмете "Заполнить". Появится диалог выбора сотрудников, указываете нужных сотрудников и жмете "Сформировать". Все. Должно заполниться постранично.

Фишка в том, что обработка "ВыборСотрудника" возвращает значение "ТаблицаЗначений" в которой перечислены сотрудники. Я создал там несколько колонок, в частности "Фамилия", "Имя", "Отчество". Данные из которых и заполняются в шаблон.

Успехов! :)
Прикрепленные файлы:
template.zip
66. Griz 21.10.10 08:17 Сейчас в теме
Добрый день. Что-то сходу не заработало. Выводится просто пустой шаблон. Не совсем понятно каким образом заполняются поля шаблона. Значения берутся из внешнего отчета "Выбор сотрудника". Что тогда должно быть прописано в полях шаблона?
67. zsrg 343 21.10.10 08:59 Сейчас в теме
Все просто, если обратите внимание, в начале Вашего шаблона идет строчка {$>>Сотр} Что расшифровывается: $ - табличная часть, Первый > - начало копируемого блока, второй > - каждый блок с новой страницы, Сотр - имя константы из которой берется табличная часть. Так как Сотр - у нас Внешний отчет, то внешний отчет должен возвращать значение типа "ТаблицаЗначений" которая и будет использоваться.

Что произойдет при заполнении: Начиная со строки {$>>Сотр} будет запущена внешняя обработка, затем начнется выборка из табличной части, которую вернулся внешняя обработка. Копировать будет блок до строки {$<}.

Как заполняются данные - так как значение Сотр содержит таблицу значений, то обращаемся к ее колонкам. В примере, во внешней обработке, добавлено четыре колонки: "Сотрудник" - элемент справочника, "Фамилия", "Имя", "Отчество" - составляющие выделенные из наименования сотрудника.
Таким образом, чтобы вывести, например, Фамилию, пишем в шаблоне: {Сотр.Фамилия}
Для Имени: {Сотр.Имя} и т.д.
68. Griz 21.10.10 11:53 Сейчас в теме
Добрый день. Не вижу строчки {$>>Сотр}. В самом верху поставить?
В результате при первом формировании документа возникает ошибка
Сотр<<?>>.Фамилия
Переменная не определена (Сотр)
И вполе фамилия - [Сотр.Фамилия].
А если, не закрывая, еще попытаться сформировать, то вроде нет ошибки.
69. Ольга7 21.10.10 18:27 Сейчас в теме
Спасибо Сергей все работает замечательно, большое спасибо вам
Доня; +1 Ответить
70. zsrg 343 21.10.10 19:56 Сейчас в теме
68. Griz, если ругается на "Сотр" значит Вы не определили ее в списке констант. Второй список, под списком шаблонов. Когда добавляете спрашивает имя константы, пишите вместо "Конст1", значение "Сорт" затем выбираете тип "Внешний отчет" и затем файл обработки для выбора сотрудников. {$>>Сотр} должна стоять в самом начале страницы перед первой строкой. И, не забудьте обновить обработку, если еще этого не сделали. Скачайте последнюю версию обработки для заполнения.


69. Оля, Вам спасибо за терпение :)
71. Griz 22.10.10 07:36 Сейчас в теме
Добрый день. Да что-то не получается.
Прикрепленные файлы:
Заявление_Electron(proba).dot
Ошибка.doc
Результат.doc
74. Ольга7 11.09.11 16:44 Сейчас в теме
(71) попробуйте {Контр.Сотр.Фирма} вот так должно все получиться, у меня все прекрасно работает.
72. АннаШ 120 02.12.10 16:18 Сейчас в теме
Спасибо за разработку!
У меня встал вопрос: есть в Word шаблоне надпись, в которой тоже есть текст для замены (подписи сторон). Вот там замены не происходит.Не поможете?
Все равно спасибо.
73. Ольга7 02.05.11 20:22 Сейчас в теме
75. Доня 284 26.09.11 12:40 Сейчас в теме
Обработка супер, теперь нет никаких проблем с формами, договорами, актами и прочими заморочками с формами.
Работаю прямо из 1С, ручками потрудиться только один раз над нужной формой, а потом "клик" и все в "ожуре"
Спасибо огромное. +++++
76. vestvk 15.04.12 22:55 Сейчас в теме
zsrg, Большое спасибо за разработку.
77. zsrg 343 16.04.12 01:22 Сейчас в теме
Рад, что еще кому-то она полезна :) Хотя давно надо бы переделать ее под 8-ку. Хотя, думаю тут и без меня легко справиться :)
80. gull22 95 10.07.14 08:45 Сейчас в теме
(77) Будет замечательно, если Вы реализуете свою задумку о переводе обработки в "восьмерку". Я методист по 1с, поэтому мне нелегко справиться с этой задачей. Судя по публикуемой статистики опроса прошлого года, я не один такой на сайте.
78. Al777 17.12.13 08:21 Сейчас в теме
Спасибо огромное! Эта обработка так выручила, что просто нет слов. Сам бы ещё сидел бы долго, придумывая, как бы выгрузить печатную форму 1С в Word.
79. zsrg 343 18.12.13 03:34 Сейчас в теме
81. bestship 12.10.14 14:06 Сейчас в теме
ОГРОМНЕЙШЕЕ СПАСИБО за разработку
82. zsrg 343 12.10.14 20:07 Сейчас в теме
83. Доня 284 08.09.15 19:50 Сейчас в теме
Добрый день Sergey!
Я пользуюсь давно Вашей обработкой "Заполнение шаблонов в Word и Excel"
очень успешная работа !!!!
Сделала много шаблонов и с вязи с этим разросся список шаблонов и трудно отыскать нужный.
Долго мучилась, как прописать процедуру: Переместить Шаблоны (вверх, вниз)
(или сортировать)
но ничего у меня не получается.
Большая просьба!
напишите мне эту процедуру пжл!
и вышлите мне на мой tathr@mail.ru
или обновите обработку, добавить эту процедуру.
Моя бухгалтерия очень будет рада.
Заранее благодарна. Доня
Прикрепленные файлы:
84. Доня 284 09.09.15 10:29 Сейчас в теме
Скачала обновленный 09.09.15
Спасибо!
Совершенствованию не предела!!!!
++++++++++++
85. zsrg 343 09.09.15 13:55 Сейчас в теме
86. zsrg 343 09.09.15 13:57 Сейчас в теме
(84), небольшое пояснение к обработке: я намеренно не использовал иконки на кнопках, так как обработка может использоваться на различных конфигурациях, где этих иконок просто может не быть. Поэтому Вы можете просто установить свои иконки на своей конфигурации, для красоты и наглядности :)
87. Доня 284 09.09.15 16:47 Сейчас в теме
(86)
Все замечательно, но теперь понадобилось сдвинуть Константу Вверх/вниз
Если не затруднит!
Напишите еще СдвигКонстанты - можно прямо здесь в комментариях (я вставлю в модуль)
ПЖЛ
88. Доня 284 10.09.15 10:17 Сейчас в теме
(86)
Сдвиг Константы я сделала, правда коряво.
Но Вы как-то упоминали о замечаниях
Так вот:
Когда формирую Договор, то первой строкой в Дог. идет вставленный номер: № {НомерДог}
и при "заполнить" выбрасывает:

НомерДоговора<<?>>
Переменная не определена (НомерДоговора),

а вот при повторном "заполнить" уже все в порядке.
Может там с первой строкой что-то посмотреть
правда, все это мелочи.

Обработка SUPER !!!!

Спасибо
89. zsrg 343 10.09.15 16:52 Сейчас в теме
(88), Пришлите мне файлы шаблона договора на почту, а так же файл extprint.ini из каталога с обработкой, в ней настройки прописаны.
Посмотрю, в чем дело.
90. Доня 284 10.09.15 18:06 Сейчас в теме
Спасибо за помощь, с номером договора разобралась - верхние поля были 0
а вот сдвиг Константы очень корявый
посмотрите пжл:
//******************************************************************************
Процедура ИзменениеПорядкаГрупп(НаправлениеСдвига)
ТекСтр = ВыбКонст.ТекущаяСтрока();
ПослСдвигСтр = ВыбКонст.ТекущаяСтрока() - 1;
//Если ТекСтр <= ПослСдвигСтр Тогда
Если не((НаправлениеСдвига = 1) и (ТекСтр = ПослСдвигСтр)) Тогда
ВыбКонст.СдвинутьСтроку(НаправлениеСдвига,ТекСтр);
КонецЕсли;
//Иначе
// Предупреждение("Группировка ""По документам"" всегда находится
// |в конце списка и не перемещается.");
//КонецЕсли;
КонецПроцедуры // ИзменениеПорядкаГрупп

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