Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 13:20

Вставка записей в Вордовскую- таблицу

Автор vova-1c@xaker.ru, 24 окт 2017, 22:53

0 Пользователей и 1 гость просматривают эту тему.

vova-1c@xaker.ru

 Помогите с таким вопросом, имеется макет , тип макета - "Active document" Вордовский ,  он оформлен и в нем есть три таблицы с заполнеными шапками и первой строкой первая строка заполнена маркерами которые будут заполнятся данными из табличной части , вот сам код который у меня работает

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

    Документ = ОбъектВорд.Application.Documents(1);
    Документ.Activate();

Пока Выборка.Следующий() Цикл

Если ПустаяСтрока(Выборка.НомерСтроки) Тогда
   Документ.Content.Find.Execute("[НомерДокумента]",Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.Номер ,2);
   Документ.Content.Find.Execute("[ДатаПерерасчет]",Ложь,Истина,Ложь,,,Истина,,Ложь,Формат(Выборка.Дата,"ДЛФ=Д"),2);
   Документ.Content.Find.Execute("[ZСуммаОплатыФ]" ,Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.СуммаОплатыФ , 2 );
   Документ.Content.Find.Execute("[ZСуммаОплатыП]" ,Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.СуммаОплатыП , 2 );
   Документ.Content.Find.Execute("[ZПерерасчет]"   ,Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.Перерасчет   , 2 );
   Документ.Content.Find.Execute("[ZНДФЛ]"         ,Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.НДФЛ         , 2 );
  КонецЕсли;
 

Документ.Content.Find.Execute("[ВидПособия1]"  ,Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.ВидПособия.Наименование , 2 );
Документ.Content.Find.Execute("[ФИО1]"         ,Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.ФИО.Наименование        , 2 );
Документ.Content.Find.Execute("[СНИЛС1]"       ,Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.ФИО.Код                 , 2 );
Документ.Content.Find.Execute("[ПериодПо1]"    ,Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.ПериодПо                , 2 );
Документ.Content.Find.Execute("[ПериодС1]"     ,Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.ПериодС                 , 2 );
Документ.Content.Find.Execute("[Кол-воДнейП1]" ,Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.КоличествоДнейП         , 2 );
Документ.Content.Find.Execute("[НДФЛ1]"        ,Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.НДФЛ                    , 2 );
Документ.Content.Find.Execute("[СуммаОплатыФ1]",Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.СуммаОплатыФ            , 2 );
Документ.Content.Find.Execute("[СуммаОплатыП1]",Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.СуммаОплатыП            , 2 );
Документ.Content.Find.Execute("[Перерасчет1]"  ,Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.Перерасчет              , 2 );
Документ.Content.Find.Execute("[Причина1]"     ,Ложь,Истина,Ложь,,,Истина,,Ложь, Выборка.Причина.Наименование    , 2 );


КонецЦикла;

 
// Вывод документа
    ОбъектВорд.Application.Visible = Истина;
    ОбъектВорд.Activate();

КонецПроцедуры

 

vova-1c@xaker.ru

  Подскажите как мне добавить к Вордовским таблицам строки и вписать в них данные

vova-1c@xaker.ru

 немножко уточню вопрос , в Вордовском документе несколько разных таблиц
Добавлено: 28 окт 2017, 02:07


как то надо перебрать в цикле Таблицы

Теги: Word 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск