ВНИМАНИЕ! При использовании кодов описанных ниже, уберите символ _
Давайте рассмотрим на примерах как это делается! =) Мне известно 2 способа:
1. Путем замены шаблонного текста в макете Wordа.
2. Путем вставки текста с помощью закладок в Wordе,
В первом случае сразу скажу, что длина строки передаваемая в функцию замены, довольно небольшая 255 символов, да и расстановка шаблонных выражений в макете Word занимает довольно много времени. Через процедуру Content.Find.Execute.
Во втором случае длина, насколько мне известно неограниченна, также воськаться с закладками намного быстрее и удобнее, чем расставлять шаблонный текст. Используя Bookmarks().S_elect(). Поэтому давайте на коде рассмотрим второй пример.
И так, для начала необходимо добавить Word макет к документу. Добавляем макет с помощью конструктора макетов указав Active document и выбрав соответствующий макет.
Называем его Акт. Открываем макет в 1Ске, ставим курсор в нужном месте, переходим в меню Вставка закладка нажимаем добавить закладку к примеру у меня это НарушенияТекст
Теперь кидаем на форму документа кнопку Сформировать и по нажатию на нее пишем код который открывает наш макет Word ищем закладку по имени и вставляет туда текст:
Код 1C v 8.х
//инициализация часть 1
СсылкаМакет = ПолучитьМакет(Акт);
MSWord = СсылкаМакет.Получить();
Попытка
СсылкаМакет = MSWord.Application.Documents(1);
СсылкаМакет.Activate();
//выгружаем табличную часть с нарушениями в строку часть 2
str = Новый COMОбъект(ADODB.Stream);
str.Open();
СтрочкаТаблицы = ЭлементыФормы.Нарушения.ТекущиеДанные;
Для Каждого СтрочкаТаблицы Из Нарушения Цикл
str.WriteText( + СтрочкаТаблицы.Описание + Нарушены требования СНИПФЗГОСТ: + СтрочкаТаблицы.СНИПФЗГОСТ + Статья: + СтрочкаТаблицы.ЧастьСтатья + Символ(13),0);
КонецЦикла;
str.Position = 0;
НарушенияТекст = str.readText();
//вставляем в закладку текст с нарушениями часть 3
MSWord.Bookmarks(НарушенияТекст).S_elect();
MSWord.Application.S_election.TypeText(НарушенияТекст);
//открыть Word часть 4
СсылкаМакет.Application.Visible = Истина;
СсылкаМакет.Activate();
Исключение
//если ошибка
Сообщить(ОписаниеОшибки());
MSWord.Application.Quit();
КонецПопытки;
Это пример вывода множества строчек из табличной части одной строкой, если нужно просто выгрузить какой-то реквизит то можно пропустить часть 2 и перейти к части 3.
Для выгрузки табличной части в форме таблицы можно использовать функцию автоформата, примеру код выгрузки табличной части документа Предписание:
Код 1C v 8.х
Word = MSWord.Application;
Документ = Word.ActiveDocument();
//Переместиться вниз на 22 строк
Word.S_election.MoveDown(,22);
Документ.Paragraphs.Add();
//подготовка таблицы:
Rng = Word.S_election.Range;
//Формируем заголовок:
Rng.I_nsertAfter(№ п/п*Установленные нарушения и меры по их устранению*Основания);
Rng.I_nsertParagraphAfter();
//сама таблица
СтрочкаТаблицы = ЭлементыФормы.НарушенияПредписание.ТекущиеДанные;
Для Каждого СтрочкаТаблицы из НарушенияПредписание Цикл
Rng.I_nsertAfter(Строка(СтрочкаТаблицы.НомерСтроки)+*+СтрочкаТаблицы.Описание + ; + СтрочкаТаблицы.Предписание +* + СтрочкаТаблицы.СНИПФЗГОСТ + + СтрочкаТаблицы.ЧастьСтатья);
Rng.I_nsertParagraphAfter();
КонецЦикла;
Rng.ConvertToTable(*);
Документ.Tables(1).AutoFormat(17); //номер таблицы в шаблоне
Word.Visible = Истина;
Ну вот и все =)
Автор: saylolpls
Еще способ Active document
В Конфигураторе Макеты — правый клик — Добавить
Тип макета: Active document
Создать новый — Документ Microsoft Word
Меню Вставка — Поле — Автоматизация — DocVariable
Написать имя поля в графе «Новое имя:» ДатаПриказа
В модуле формы документа создаем кнопку, и в ее обработчике пишем:
Код 1C v 8.х
Процедура ОсновныеДействияФормыWord(Кнопка)
АктивныйДокумент = ПолучитьМакет("Макет");
КомОбъект = АктивныйДокумент.Получить();
КомОбъект.Application.Visible=1;
КомОбъект.Variables.Item("ДатаПриказа").Value="24.01.2007";
КомОбъект.Fields.UpDate();
КомОбъект.PrintOut(); //распечатать документ
//Ожидание окончания отправки на печать...
Пока objWord.Application.BackgroundPrintingStatus<>0 Цикл
Предупреждение("Ожидание",1);
КонецЦикла;
КомОбъект.Application.Quit(); //закрыть Word
КомОбъект = 0;
КонецПроцедуры
2) добавляем не поле, а Закладку
Меню Вставка — Закладка и далее указываем ее имя («ИмяЗакл»)
Код 1C v 8.х
Процедура ОсновныеДействияФормыWord(Кнопка)
АктивныйДокумент = ПолучитьМакет("Макет");
КомОбъект = АктивныйДокумент.Получить();
КомОбъект.Application.Visible=1;
КомОбъект.Bookmarks(СокрЛП("ИмяЗакл")).S_elect();
КомОбъект.Application.S_election.TypeText(СокрЛП("тест проверка"));
КонецПроцедуры
Код 1C v 8.2 УП
// Параметры договора обозначены в тексте переменными вида "[%НомерДоговора%]"
Функция ПечатьДокумента() Экспорт
Договор = ПолучитьМакет("ActiveDocument_ДоговорПоставки"); // получим макет-ActiveDocument
MSWord = Договор.Получить();
Попытка
Doc = MSWord.Application.Documents(1);
Doc.Activate();
Replace = Doc.Content.Find;
FindText = "{НомерДоговора}"; // что искать - имя_шаблона
MatchCase = Ложь; // использовать регулярные выражения
MatchWholeWord = Истина; // искать слово целиком
MatchWildcards = Ложь; // испоьзовать регулярные выражения
MatchSoundsLike = Неопределено; // искать созвучные
MatchAllWordForms = Неопределено; // искать все формы слова
Forward = Истина; // искать вперед
Wrap = Неопределено; // что должен вернуть Find-объект
Format_ = Ложь; // использовать форматирование
ReplaceWith = "N777"; // текст, на который надо заменить имя_шаблона
// кратко:
//Replace.Execute(FindText,Ложь,Истина,Ложь,,,Истина,,Ложь,НомерДоговора);
Replace.Execute(
FindText,
MatchCase,
MatchWholeWord,
MatchWildcards,
MatchSoundsLike,
MatchAllWordForms,
Forward,
Wrap,
Format_,
НомерДоговора);
MSWord.Application.Visible = Истина;
MSWord.Activate();
Исключение
Сообщить(ОписаниеОшибки());
MSWord.Application.Quit();
КонецПопытки;
возврат 0;
КонецФункции
5 — 25.11.16 — 13:44
(4) Пожалста:
// формируем файл
мWord = СоздатьОбъект(«Word.Application»);
мWord.Visible = 0;
мNewDoc = мWord.Documents;
мШаблон = СокрЛП(Строка(КаталогШаблонов + мШаблон));
мДок = мNewDoc.Add(мШаблон, 0, 0, 1);
// верхний колонтитул
мКолонтитул = мДок.Sections.Item(1).Headers.Item(1).Range;
мКолонтитул.Find.Execute(«[ПечНомерДоговора]»,0,0,,,,,,,мНомерДоговора,2);
мКолонтитул.Find.Execute(«[ПечДатаДоговора]»,0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2);
мОбъект = мДок.Content;
// подставляем значения по тексту договора — признак замены []
мОбъект.Find.Execute(«[ПечНомерДоговора]»,0,0,,,,,,,мНомерДоговора,2);
мОбъект.Find.Execute(«[ПечДатаДоговора]»,0,0,,,,,,,Нрег(СокрЛП(мДатаДоговора)),2);
мОбъект.Find.Execute(«[ПечПокупатель]»,0,0,,,,,,,СокрЛП(мПокупатель),2);
мОбъект.Find.Execute(«[ПечРуководитель]»,0,0,,,,,,,мПечОтветственноеЛицо,2);
мОбъект.Find.Execute(«[ПечОснование]»,0,0,,,,,,,СокрЛП(мОснование),2);
Если мЕстьСрок = 1 Тогда
мОбъект.Find.Execute(«[СрокДействия]»,0,0,,,,,,,СокрЛП(мСрокДействия),2);
КонецЕсли;
Если мЕстьСчет = 1 Тогда
мОбъект.Find.Execute(«[ПечНомерДатаСчета]»,0,0,,,,,,,СокрЛП(мЗаголовокСчета),2);
мОбъект.Find.Execute(«[ПечСуммаСчета]»,0,0,,,,,,,СокрЛП(мЗаголовокСуммы),2);
мОбъект.Find.Execute(«[ПечНДССчета]»,0,0,,,,,,,СокрЛП(мНДССчета),2);
Если мСписокПО = 1 Тогда
мОбъект.Find.Execute(«[ПечПО]»,0,0,,,,,,,СокрЛП(мСписокНоменклатуры),2);
мОбъект.Find.Execute(«[ПечКолВо]»,0,0,,,,,,,СокрЛП(мКолВоПО),2);
КонецЕсли;
КонецЕсли;
// подставляем значения в реквизиты покупателя: надпись, признак замены []
// надпись — РАГРУППИРОВАН
СчетчикЦикла = 0;
КолВоНадписей = мДок.Shapes.Count;
Для СчетчикЦикла = 1 По КолВоНадписей Цикл
мНашли = мДок.Shapes.Item(СчетчикЦикла).Select();
Если Число(мДок.Application.Selection.ShapeRange.Type) = 17 Тогда
мДок.Application.Selection.Range.Find.Execute(«[ПечПокупательРеквизиты]»,0,0,,,,,,,СокрЛП(мПокупатель),2);
мДок.Application.Selection.Range.Find.Execute(«[ПечЮрАдресПокупателя]»,0,0,,,,,,,СокрЛП(мЮрАдресПокупателя),2);
мДок.Application.Selection.Range.Find.Execute(«[ПечПочтАдресПокупателя]»,0,0,,,,,,,СокрЛП(мПочтПокупателя),2);
мДок.Application.Selection.Range.Find.Execute(«[ПечТелефонПокупателя]»,0,0,,,,,,,СокрЛП(мТелефонПокупателя),2);
мДок.Application.Selection.Range.Find.Execute(«[ПечИННПокупателя]»,0,0,,,,,,,СокрЛП(мИННПокупателя),2);
мДок.Application.Selection.Range.Find.Execute(«[ПечКПППокупателя]»,0,0,,,,,,,СокрЛП(мКПППокупателя),2);
мДок.Application.Selection.Range.Find.Execute(«[ПечРСПокупателя]»,0,0,,,,,,,СокрЛП(мРСчетПокупателя),2);
мДок.Application.Selection.Range.Find.Execute(«[ПечБанкПокупателя]»,0,0,,,,,,,СокрЛП(мБанкПокупателя),2);
мДок.Application.Selection.Range.Find.Execute(«[ПечКСПокупателя]»,0,0,,,,,,,СокрЛП(мКСчетПокупателя),2);
мДок.Application.Selection.Range.Find.Execute(«[ПечБИКБанкаПокупателя]»,0,0,,,,,,,СокрЛП(мБИКПокупателя),2);
мДок.Application.Selection.Range.Find.Execute(«[ПечПокупательПодпись]»,0,0,,,,,,,СокрЛП(ПодписьОтветственногоЛица),2);
мДок.Application.Selection.Range.Find.Execute(«[ПечДолжность]»,0,0,,,,,,,СокрЛП(мДолжностьОтветственногоЛица),2);
//мОбъект.Find.Execute(«[ПечДолжность]»,0,0,,,,,,,СокрЛП(ДолжностьОтветственногоЛица),2);
КонецЕсли;
КонецЦикла;
// спецификация
Если (ВидДоговора = Перечисление.ВидДоговора.ПоставкаТоваровПоСпецификации) или
(ВидДоговора = Перечисление.ВидДоговора.ОказаниеУслугПоСпецификации) Тогда
Счет.ВыбратьСтроки();
// заполнение таблицы номенклатуры
Для СчетчикЦикла = 1 По Счет.КоличествоСтрок() Цикл
мОбъект.Tables(1).Rows.Add(); // добавляем строку в конец таблицы
Счет.ПолучитьСтрокуПоНомеру(СчетчикЦикла);
мОбъект.Tables(1).Cell(СчетчикЦикла + 2,1).Range.Text = Счет.НомерСтроки;
мОбъект.Tables(1).Cell(СчетчикЦикла + 2,2).Range.Text = СокрЛП(Счет.Номенклатура.ПолнНаименование);
мОбъект.Tables(1).Cell(СчетчикЦикла + 2,3).Range.Text = СокрЛП(Формат(Счет.Количество, «Ч010.2»));
мОбъект.Tables(1).Cell(СчетчикЦикла + 2,4).Range.Text = Строка(Счет.Единица);
мОбъект.Tables(1).Cell(СчетчикЦикла + 2,5).Range.Text = глФрм(Счет.Цена);
мОбъект.Tables(1).Cell(СчетчикЦикла + 2,6).Range.Text = глФрм(Счет.СуммаНДС);
мОбъект.Tables(1).Cell(СчетчикЦикла + 2,7).Range.Text = глФрм(Счет.Сумма);
КонецЦикла;
// итоги
мОбъект.Tables(2).Cell(1,2).Range.Text = СокрЛП(Формат(Счет.Итог(«Количество»), «Ч010.2»));
мОбъект.Tables(2).Cell(1,5).Range.Text = глФрм(Счет.Итог(«СуммаНДС»));
мОбъект.Tables(2).Cell(1,6).Range.Text = глФрм(Счет.Итог(«Сумма»));
// итоговая строка
мСтрокаВсего = глФразаПрописью(Счет.КоличествоСтрок(), «наименован») +
«, на сумму » + глСуммаПрописью(Счет.Итог(«Сумма»), глРубли) + «.»;
мОбъект.Find.Execute(«[СтрокаВсего]»,0,0,,,,,,,СокрЛП(мСтрокаВсего),2);
КонецЕсли;
// записываем файл
мДок.SaveAs(мИмяФайла);
ИмяФайла = СокрЛП(мИмяФайла);
// активируем Word
мWord.Visible = 1;
мWord.Application.WindowState = 2;
мWord.Application.WindowState = 1;
В предыдущей заметке «Использование шаблонов Word в 1С» был показан простой способ, как используя механизмы 1С и документа Word в качестве шаблона, можно создать печатную форму для вывода данных. В текущей заметке «1с word шаблон» будет показан один из способов, как можно реализовать заполнение таблиц в шаблоне Word.
Для примера использовался шаблон Word следующего вида:
1с word шаблон — Заполнение таблиц в шаблоне Word — Шаблон
Как видно из шаблона, закладка «Таблица1» является указателем на начало таблицы и служит для позиционирования выделения.
Теперь непосредственно сам способ, для его реализации использовалась внешняя обработка, в модуле формы которой, описана лишь одна процедура «ПриОткрытии(Отказ)»:
&НаКлиенте Процедура ПриОткрытии(Отказ) //Попытка создать COM объект Попытка ОбъектВорд = Новый COMОбъект("Word.Application"); Исключение Сообщить("Ошибка при запуске Microsoft Word: " + ОписаниеОшибки(), СтатусСообщения.Внимание); КонецПопытки; //Путь к шаблону ОбъектВорд.Documents.Add("C:UsersКонстантинDesktopШаблон.docx"); ШаблонВорд = ОбъектВорд.ActiveDocument; //Заполняем первую таблицу Если ШаблонВорд.Bookmarks.Exists("Таблица1") Тогда //Выделяем обязательную закладку начала таблицы ШаблонВорд.Bookmarks("Таблица1").Select(); //Перемещаемся вниз, выделяем строку таблицы и копируем ее в буфер обмена ШаблонВорд.Application.Selection.MoveDown(); ШаблонВорд.Application.Selection.SelectRow(); ШаблонВорд.Application.Selection.Copy(); Для Счетчик = 1 По 10 Цикл //Заменяем значения ШаблонВорд.Application.Selection.Find.Execute("Номер" ,,,,,,,,,Счетчик,2); ШаблонВорд.Application.Selection.Find.Execute("ЗначениеКолонки1" ,,,,,,,,,Счетчик+10,2); //Последний параметр поиска пустой ШаблонВорд.Application.Selection.Find.Execute("ЗначениеКолонки2" ,,,,,,,,,Счетчик+100,); //Перемещаемся вниз, вставляем из буфера обмена строку ШаблонВорд.Application.Selection.MoveDown(); ШаблонВорд.Application.Selection.Paste(); //Перемещаемся вверх и выделяем строку для замены значений ШаблонВорд.Application.Selection.MoveUp(); ШаблонВорд.Application.Selection.SelectRow(); КонецЦикла; //Вырезаем лишнюю строку ШаблонВорд.Application.Selection.Cut(); //Скрываем обязательную закладку начала таблицы ШаблонВорд.Bookmarks("Таблица1").Select(); ШаблонВорд.Application.Selection.TypeText(" "); КонецЕсли; ОбъектВорд.Application.Visible = Истина; ОбъектВорд.Activate(); //Закрытие документа //ОбъектВорд.Application.Quit(); КонецПроцедуры
Как видно из кода процедуры, сначала находим закладку, выделяем и копируем строку таблицы находящуюся ниже, после заменяем текст на значения и вставляем скопированную строку. Результат работы внешней обработки 1С «Заполнение таблиц в шаблоне Word»:
1с word шаблон — Заполнение таблиц в шаблоне Word — Результат
Скачать файл обработки 1С и шаблона Word.
Цитата: magnifico61 от 01 июн 2018, 11:40
Или как вариант вывести табличный документ в ворд через com.
Уверен, что в Word всё же надо?
Как не крути, но на своём опыте проверил, что 1С (8.2 по крайней мере) нормально сохраняет таб.документы только в 3 формата, один из которых «родной». Это mxl, xls и pdf. Во всех остальных начинаются искажения ширинвысот колонок и прочие визуальные глюки. Одна и та же печатная форма при сохранении в xls выглядит нормально, также как на экране, а в xlsx и docx таблица вытягивается как шея у жирафа, и такого видел немало — чем сложнее макет, тем больше искажений.
Я пытался в одной обработке программно сохранять ТабДок в Word, и это работало, хоть и выглядело некрасиво, но когда дал доступ пользователям, оказалось что при выполнении кода
ТабДок.Сохранить(ПутьКФайлу,ТипФайлаТабличногоДокумента.DOCX)
у многих вообще 1С вылетает! Именно в этот формат, с другими всё в порядке, я проверял.
Всё это у меня напрочь отбило желание с Word связываться.
Если всё ещё есть желание мучаться с DOCX можно попробовать сохранить в HTML и пересохранить через КОМ объект, что-то типа
//ТабДок - твой документ
//ПутьКФайлу - куда нужно сохранить
Врем = ПолучитьИмяВременногоФайла("html");
ТабДок.Сохранить(Врем,ТипФайлаТабличногоДокумента.HTML);
Word = Новый COMОбъект("Word.Application");
Word.Visible = 0;
Word.Documents.Add(Врем);
ТекДок = Word.ActiveDocument;
ТекДок.SaveAs(ПутьКФайлу,16); //16 - формат файла по умолчанию для текущей версии офиса
Word.Application.Quit();
Писал по памяти, могут быть ошибки.
Так у меня работало, но результат, опять же не радовал, т.к. сбивались ширины, «уезжали» картинки и т.д.
Выгрузка данных из 1C в шаблон Word (Active document)
Выгрузка данных из 1C в шаблон Word (Active document)
Чтобы сформировать документ в формате Word, нужно сначала подготовить шаблон. А точнее, создадим макет с типом «Active document» для примера во внешней обработке:
Затем выбираем объект, например, Microsoft Office Word 97-2003:
Откроется чистый документ Word (причем в конфигураторе).
А в документе Word будем расставлять закладки. С закладками работать приятней и быстрей.
Выбираем режим закладок и расставляем:
Прописываем такую процедуру:
//получаем макет из объекта обработки ОбработкаОбъект = РеквизитФормыВЗначение(«Объект»); СсылкаМакет = ОбработкаОбъект.ПолучитьМакет(«Тест»); Word = СсылкаМакет.Получить();//открываем и активируем документ СсылкаМакет = Word.Application.Documents(1); СсылкаМакет.Activate();// в метод Bookmarks передаем название «закладки» Word.Bookmarks(«Тест»).Select();//устанавливаем новое значение текста Word.Application.Selection.TypeText(«Привет, 1С 8.3! :)»);//включаем видимость приложения СсылкаМакет.Application.Visible = Истина;
После вызова процедуры мы получим открытый документ с таким вот сообщением:
Как сформировать новый договор на основании файла Microsoft Word?
Как сформировать новый договор на основании файла Microsoft Word?
Договор = ПолучитьМакет(«Тест»); // Получить объект из макета. MSWord = Договор.Получить(); НаименованиеКонтрагента = «ООО Торгуем всем»; Попытка Документ = MSWord.Application.Documents(1); Документ.Activate(); // Получить объект, который будем использовать для поиска и замены. Замена = Документ.Content.Find; // Заменить заранее определенные ключевые конструкции на требуемый текст. Замена.Execute(«<НазваниеКомпании>», Ложь, Истина, Ложь, , , Истина, , Ложь, НаименованиеКонтрагента); // Далее аналогично для остальных ключевых конструкций. // Делаем видимым приложение и активизируем его. MSWord.Application.Visible = Истина; MSWord.Activate(); Исключение // Если произойдет ошибка выводятся данные об ошибке и объект закрывается. Сообщить(ОписаниеОшибки()); MSWord.Application.Quit(); КонецПопытки;
МакетDOCX = ПолучитьМакет(«МакетWORD»); MSWord = МакетDOCX.Получить(); Попытка СсылкаМакет = MSWord.Application.Documents(1); //открыть Word //СсылкаМакет.Application.Visible = Истина; //СсылкаМакет.Activate(); MSWord.saveas(«C:tempТест.doc»,0); // (FullPatah, WdSaveFormat)
Исключение //если ошибка Сообщить(ОписаниеОшибки()); КонецПопытки; MSWord.Application.quit();
Перечисление WdSaveFormat (Word)
Перечисление WdSaveFormat (Word)
https://docs.microsoft.com/en-us/office/vba/api/word.wdsaveformat
Задает формат, используемый при сохранении документа.
Печатная форма в формате Word из 1С 8.3 и 8.2
Рассмотрим два способа выгрузить данные из программы 1С 8.3 в Word. Эти способы можно использовать в альтернативу стандартных внутренних и внешних печатных форм 1С. Пример обработки, который описывается в статье, можно скачать здесь.
Кстати, в новой версии 1С Бухгалтерия появилась возможность настройки пользовательских шаблонов договоров без программирования.
Выгрузка данных из 1C в шаблон Word (Active document)
Чтобы сформировать документ в формате Word, нужно сначала подготовить шаблон. А точнее, создадим макет с типом «Active document» для примера во внешней обработке:
Затем выбираем объект, например, Microsoft Office Word 97-2003:
Откроется чистый документ Word (причем в конфигураторе).
А в документе Word будем расставлять закладки. С закладками работать приятней и быстрей.
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Выбираем режим закладок и расставляем:
Прописываем такую процедуру:
После вызова процедуры мы получим открытый документ с таким вот сообщением:
Создание документа Word сразу (Word.Application)
Документ Word можно создать в 1C без использования макета. Напрямую, с помощью COM объекта. Делается это не сложнее.
После запуска кода мы видим вот такую красивую картину:
Ссылка на скачивание обработки — Выгрузка в Word.
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Вывод данных в макет 1с (на примере Word)
В этой статье мы разберем с Вами следующую задачу, нам потребуется вывести данные в макет 1с (на примере Word), в 1с это макет на базе «Active Document». Подстановку в Word документ мы будем делать с помощью закладок, чтобы установить закладку в документе Word Вам необходимо сделать следующие действия:
- Откройте Word документ.
- Найдите нужное место в тексте куда Вы хотите делать подстановку, щелкните туда курсор мышки, после этого переходим Вставка —> Закладка.
- Даем закладке имя и нажимаем вставить.
- Расставляем нужное количество закладок в макете 1с (документ Word)
После того как мы расставили все закладки в документе, мы приступаем к созданию макета. Для этого в 1с выбираем веточку «Макеты», кликаем правой кнопкой мыши и добавляем макет, появится список возможных макетов выбираем «Active Document», затем указываем путь к Word файлу. Теперь чтобы вместо закладок поставить необходимый текст и вывести данные в макет 1с Word мы сделаем следующие действия, напишем код приведенный ниже:
На этом все, вот такой простой способ, без лишних заморочек и неудобств. Очень рекомендуем пользоваться подобным методом.
Наши программисты оказывают полный спектр услуг 1с.
Если скопировать документ в 1С, тогда впоследствии его можно загрузить в другую программу или отправить в банк. С программой 1С работают все предприятия, ее база содержит все действия, совершаемые при ведении хозяйственной деятельности компании. Документы, хранящиеся в 1С, представляют собой единый учет организации. Программно скопировать документ в 1С вам помогут специалисты компании «Сетби». Они разберутся в самых сложных вопросах, касающихся автоматизации и настройки ПО. Наша задача — объяснить доступным языком, как работать на платформе 1С.
Как скопировать список документов в 1С программе?
Практически все предприниматели используют для учета бизнес-процессов, а также для ведения бухгалтерской деятельности программу 1С. Учитывая упрощенный интерфейс, разобраться начинающему пользователю ПО будет сложно во всех имеющихся возможностях платформы. Даже то, как копировать табличный документ в другой 1С, знает не каждый работающий в сфере финансов человек. Взаимодействуя с большим количеством информации нужно помнить об обеспечении эффективного способа заполнения данных:
• документации;
• операций;
• справочников.
Персоналу необходимо уметь разбираться в том, как скопировать строку документа в 1С. Для этого требуется придерживаться четко прописанных действий. Сначала заходим в окно «Изменение таблиц товаров», находим «Добавить из документа», выбираем строку и нажимаем кнопку «Перенести в документ». Если вы задаетесь вопросом, как скопировать несколько документов в 1С, тогда знайте, что стандартная конфигурация не предусмотрена выполнять данную функцию. Для того чтобы проделать данную операцию с документом, необходимо дополнительно поработать с настройками функционала программы.
Рассмотрение нюансов в работе с 1С программой
Как же скопировать один документ в другой 1С с первого раза и не допуская ошибок, знают профессионалы своего дела, работающие в компании «Сетби». На начальном этапе стоит разобраться в том, что такое конфигурация в программе 1С — это основной функционал, который позволит с 1С 7.7 скопировать документ.
Конфигураций существует более 500, их задачей является автоматизация отраслевой специфики организации на должном уровне. Производить работу в 1С можно в двух встроенных режимах: «Предприятие» и «Конфигуратор». Структура 1С рассчитана на ведение сразу нескольких видов учета:
• оперативного;
• налогового;
• бухгалтерского.
Программно скопировать и открыть документ в 1С можно благодаря правильно написанному коду. При малейшей неточности или погрешности в его составлении у вас будут возникать ошибки в переносе данных, поэтому следует внимательно заполнять все поля. При вводе документов с многострочной частью копирование дает возможность не заполнять полностью всю часть данных строки. Взять все сведения можно из уже имеющегося ряда.
Как скопировать документ из 1С в Ворд?
Бухгалтерам для полноценного и более комфортного рабочего процесса нужно проделывать с документами множество разных манипуляций. Функционал программного обеспечения 1С не может полностью удовлетворить все потребности пользователя, поэтому в таких случаях есть необходимость скопировать документ в тонком клиенте 1С и сохранить в программе Ворд. Это объясняется тем, что функциональные возможности платформы Word намного разнообразней, они позволяют строить графики, диаграммы, и в целом приводить документ в читабельный и внешне приемлемый вид.
Документ с 1С скопировать в Ворд можно благодаря функции, располагающейся на панели задач «Сохранить как». Единственное, что стоит помнить в этой работе, что надо сохранить документ в том формате, который подходит к нужной вам программе. Чтобы скопировать весь документ для Word из 1С, нужно выделить необходимый текст или таблицу, и потом выполнить в панели задач необходимые действия. В сети Интернет можно найти обучающие видео уроки, в которых есть возможность почерпнуть что-то важное для своей работы. Но лучше, чем наши специалисты компании «Сетби» вам никто не объяснит, как скопировать документ из 1С в Word.
Обо всех деталях процесса копирования документов в 1С расскажут наши сотрудники
Иногда случается так, что нет надобности копировать сразу весь документ, а наоборот нужен только один столбец или одна строка для переноса в другую программу. Выделенные строки табличных частей можно копировать из одного документа в другой зная все тонкости данного процесса. В 1С 8 скопировать строку документа имеется возможность при помощи следующих кнопок: скопировать строки — Ctrl+Shift+C, вставить строки — Ctrl+Shift+V. Применяя копирование в документах можно заполнить табличную часть за короткий промежуток времени.
Не теряйте свое ценное время в поисках нужной информации о программном копировании документа в 1С 8 — компания «Сетби» предоставит вам высококвалифицированных людей в данной области. Все работы ведутся нами по регламентам, благодаря этому этапы рабочего процесса завершаются в срок. Оставляйте свои номера телефонов, и наши менеджеры свяжутся с вами в ближайшее время.