Имя: Пароль:
1C
 
Шаблон из Word как заполнить запросом
, ,
0 starV
 
12.08.14
07:55
Привет!!!
Макет я уже создала как Active document
через переменные документа DocVariable указал параметры
дольше  код
   АктивныйДокумент = ПолучитьМакет("Макет");
    КомОбъект = АктивныйДокумент.Получить();
        КомОбъект.Application.Visible=1;
        
    Запрос = Новый Запрос;
    
    Запрос.УстановитьПараметр("Ссылка"                    , СсылкаНаОбъект);
    Запрос.УстановитьПараметр("ОсновныеВидыНачислений"    , СписокВидовРасчета);
    Запрос.УстановитьПараметр("СписокСпособовТариф"        , СписокСпособовТариф);
    
    Запрос.Текст =
      "ВЫБРАТЬ
      |    УвольнениеИзОрганизацийРаботникиОрганизации.Сотрудник КАК Сотрудник,
      |    УвольнениеИзОрганизацийРаботникиОрганизации.Физлицо КАК Физлицо,
      |    УвольнениеИзОрганизацийРаботникиОрганизации.Физлицо.Пол КАК Пол,
      |    УвольнениеИзОрганизацийРаботникиОрганизации.Сотрудник.ПодразделениеОрганизации КАК Подразделение,
      |    УвольнениеИзОрганизацийРаботникиОрганизации.Сотрудник.Должность КАК Должность,
      |    УвольнениеИзОрганизацийРаботникиОрганизации.ДатаУвольнения КАК Дата,
      |    УвольнениеИзОрганизаций.Дата КАК ДатаОт,
      |    УвольнениеИзОрганизацийРаботникиОрганизации.СтатьяЗаконаОТрудеРК КАК Статья,
      |    УвольнениеИзОрганизацийРаботникиОрганизации.СтатьяЗаконаОТрудеРК.НаименованиеКаз
      |ИЗ
      |    Документ.УвольнениеИзОрганизаций.РаботникиОрганизации КАК УвольнениеИзОрганизацийРаботникиОрганизации
      |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.УвольнениеИзОрганизаций КАК УвольнениеИзОрганизаций
      |        ПО УвольнениеИзОрганизацийРаботникиОрганизации.Ссылка = УвольнениеИзОрганизаций.Ссылка
      |ГДЕ
      |    УвольнениеИзОрганизаций.Ссылка = &Ссылка";
        

        
Выборка = Запрос.Выполнить().Выбрать();
    
    // выборка данных
            
        ////////////////////////////
        

    // Получим объект Microsoft Word из макета
    Word = ПолучитьМакет("Макет").Получить();

    // Получим документ из объекта и активируем его
    Документ = Word.Application.Documents(1);
    Документ.Activate();

    Пока Выборка.Следующий() Цикл
    Word.Application.ActiveDocument.Variables.Item("Должность").Value=Выборка.Должность;
    Word.ActiveDocument.Fields.Update();
    Word = "";
      
        КонецЦикла;
И тупик
Подскажите!!!
1 Wobland
 
12.08.14
07:57
ээ.. и чо?
2 Wobland
 
12.08.14
07:58
фото незачёт
3 starV
 
12.08.14
08:05
что тебя не устраивает??? вполне нормальная фото
4 starV
 
12.08.14
08:06
что тебя не устраивает??? Вполне нормальная фото
5 starV
 
12.08.14
08:11
Варианты есть как заполнит макет  из запроса
макет у меня ворде
6 Wobland
 
12.08.14
08:12
(4) чужое
(5) этот чем плох?
7 starV
 
12.08.14
08:16
ПечатьПриказа.МодульОбъекта(746)}: Поле объекта не обнаружено (ActiveDocument)
    Word.ActiveDocument.Fields.Update()
8 Wobland
 
12.08.14
08:18
(7) а как выглядит строчка выше?
9 starV
 
12.08.14
08:20
Процедура СформироватьУвольнение(ТабДок)

    
    // для параметров
    СписокСпособовТариф = Новый Массив;
    СписокСпособовТариф.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ПоЧасовойТарифнойСтавке);
    СписокСпособовТариф.Добавить(Перечисления.СпособыРасчетаОплатыТруда.СдельныйЗаработок);
    СписокСпособовТариф.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ПоДневнойТарифнойСтавке);
    
    СписокВидовРасчета = Новый СписокЗначений;
    
    СписокВидовРасчета.Добавить(ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням);
    СписокВидовРасчета.Добавить(ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоЧасам);
    СписокВидовРасчета.Добавить(ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ТарифДневной);
    СписокВидовРасчета.Добавить(ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ТарифЧасовой);
    СписокВидовРасчета.Добавить(ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.СдельнаяОплата);

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

        
Выборка = Запрос.Выполнить().Выбрать();
    
    // выборка данных
            
        ////////////////////////////
        

    // Получим объект Microsoft Word из макета
    Word = ПолучитьМакет("Макет").Получить();

    // Получим документ из объекта и активируем его
    Документ = Word.Application.Documents(1);
    Документ.Activate();

    Пока Выборка.Следующий() Цикл
    Word.Application.ActiveDocument.Variables.Item("Должность").Value=Выборка.Должность;
    Word.ActiveDocument.Fields.Update();
   // Word = "";
      
        КонецЦикла;

       /////////////////////////////
    КонецПроцедуры
10 Wobland
 
12.08.14
08:21
вот так она выглядит:     Word.Application.ActiveDocument.Variables.Item("Должность").Value=Выборка.Должность;
11 starV
 
12.08.14
08:36
да я вижу что же мне делать???
12 Kvant1C
 
12.08.14
08:54
(0) А в чем смысл этой затеи? Почему нельзя нарисовать обычный макет и заполнить его штатными средствами?
13 starV
 
12.08.14
09:02
есть данные которые надо добавлять вручную и пользователи + началник просили имонна на ворде
14 starV
 
12.08.14
09:06
мне нужно что то вроде этого  http://infostart.ru/public/20958/
15 Wobland
 
12.08.14
09:07
(11) искать различия
16 Sei Souma
 
12.08.14
10:47
То, что вы в итоге хотите получить делается не так - через шаблон Word. Если не разберетесь то напишите мне - в профиле есть контакты.
17 starV
 
12.08.14
11:22
Замена = Документ.Content.Find;
    // Замена.Execute("[НомерДоговора]", , , , , , , , , Выборка.Сотрудник, 2);
    Замена.Execute("[НомерДоговора]", Ложь, Истина, Ложь, , , Истина, , Ложь,Выборка.Сотрудник);
    Замена = Документ.Content.Find;
    Замена.Execute("[Дата]", Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(Выборка.Дата, "ДЛФ = ДДММГГ"));
    Замена = Документ.Content.Find;
    Замена.Execute("[НомерДоговора1]", , , , , , , , , "007", 2);

Через выборку не заполняется но "007" запрлняется
18 Cube
 
12.08.14
11:28
(2) +1
(3) (4) Давай свою фотку, эта не твоя: http://www.tineye.com/search/abf9c316ec3da54c71b8d5e41323c517befcc90c
19 Крошка Ру
 
12.08.14
11:47
Оффтоп: Всегда было интересно, зачем в такой ситуации делать запрос? Ведь есть же прямой доступ к ТЧ документа по ссылке?
20 starV
 
14.08.14
10:18
надо так писать
Замена.Execute("[Имя]", Ложь, Истина, Ложь, , , Истина, , Ложь,""+Выборка.Сотрудник)
Перед выбрать ""+ или после добавить .Наименования