Имя: Пароль:
1C
1С v8
Подключение word к 1С
,
0 Meloni
 
09.08.12
08:16
Кадровики в ворде формируют "Справку с места работы". Знаю,что можно подключить эту справку к 1С при помощи выбора макета типа Active document. Справку добавляю в документ "Прием на работу" и хотелось бы, чтобы данные для справки брались от туда. В ворде в самой справке написала вот так (нашла в инете пример, как сделать ссылки,чтобы 1С вставляла новые данные при каждом вызове печати):

Дана {DOCVARIABLE ДокументСсылка.ПриемНаРаботу.Сотрудник \*MARGEFORMAT} о том,  что он(а) действительно работает в {DOCVARIABLE СправочникСсылка.Организации \*MARGEFORMAT} ОАО «» г. в качестве {DOCVARIABLE  ДокументСсылка.ПриемНаРаботу.Должность \*MARGEFORMAT} заместителя директора проекта
{DOCVARIABLE  ДокументСсылка.ПриемНаРаботу..ДатаПриема у \*MARGEFORMAT}

Вопрос: что нужно прописать в модуле,чтобы вызывалась эта справка и вставлялись данные в соответствии с документом о приеме на работу?
1 manyak
 
09.08.12
08:22
2 Meloni
 
09.08.12
08:26
спасибо, маньяк, сейчас попробую!)
3 Meloni
 
09.08.12
08:28
как я поняла, тут в в самом коде уже присваивается дата? А мне как раз нужно,чтобы данные брались с документа в 1С
4 Живой Ископаемый
 
09.08.12
08:30
КомОбъект.Variables.Item("ДатаПриказа").Value=ЭтотОбъект.Дата;
до субатомов разжевать?
5 Meloni
 
09.08.12
08:32
нет, все понятно теперь. Спасибо
6 Strogg
 
09.08.12
08:33
1) НИЧЕГО не писать в модуле
2) Создать внешнюю печатную форму
3) я, например, делаю примерно так как описано в (1) за исключением заполнения параметров:
/**фрагмент кода, чтоб было понятно:/

Макет=ПолучитьМакет("МакСогласие");
   MSWord=Макет.Получить();
   // выводим данные
   Попытка
       Документ=MSWord.Application.Documents(1);
       Документ.Activate();
       
       Замена = Документ.Content.Find;
       Замена.Wrap = 1;   //чтобы не писать каждый раз  Find
       
       Замена.Execute("/*Ш_ДатаТекущая*/", , , , , , , , ,Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy; ДЛФ=DD"));
------
7 Meloni
 
09.08.12
08:35
а в самом ворде как оставить текст? Как сейчас написано? или ссылки на поля по-другому пишутся?
8 Strogg
 
09.08.12
08:37
в активДокументе у тебя может быть написано что угодно. Заменяемые слова сам уже придумывай как назовешь. У меня, например, для текущей даты в актив документе есть /*Ш_ДатаТекущая*/
9 Meloni
 
09.08.12
08:38
меня интересует синтаксис написания
10 manyak
 
09.08.12
08:54
фото в студию!
11 Strogg
 
09.08.12
08:57
(10) он же вроде мужик)))
Или ты..... о б-же!!!
12 manyak
 
09.08.12
08:59
(11) внимательнее товарисчи! :)
13 Strogg
 
09.08.12
09:02
(12) ы:)))))
Мелони, фот-ку, фот-ку!!!)))
14 Meloni
 
09.08.12
09:03
ахаха)))
15 Meloni
 
09.08.12
09:04
сииин-тааак-сииис, пожалуйста)
16 rasswet
 
09.08.12
09:06
стукни в асю-дам пример на ИС. я делал трудовой договор в ворде.
17 Meloni
 
09.08.12
09:08
rasswet, icq уже давно не юзаю. Можно попросить отправить на мэйл?
18 Meloni
 
10.08.12
07:53
подскажите в чем ошибка?

Справка = ПолучитьМакет("Макет");

// Получить объект из макета.

MSWord = Справка.Получить();
НаименованиеСотрудника = ЭтотОбъект.Работники;  

Попытка
       Документ = MSWord.Application.Documents(1);
       Документ.Activate();

       // Получить объект, который будем использовать для поиска и замены.
       Замена = Документ.Content.Find;

       // Заменить заранее определенные ключевые конструкции на требуемый текст.
       Замена.Execute("<ФИО>", Ложь, Истина, Ложь, , , Истина, , Ложь, НаименованиеСотрудника);
       // Далее аналогично для остальных ключевых конструкций.
        // Делаем видимым приложение и активизируем его.
       MSWord.Application.Visible = Истина;
       MSWord.Activate();
Исключение

       // Если произойдет ошибка выводятся данные об ошибке и объект закрывается.
       Сообщить(ОписаниеОшибки());
       MSWord.Application.Quit();
       КонецПопытки;


{Документ.ПриемНаРаботу.Форма.ФормаДокумента.Форма(912)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (0x80020005)
19 Meloni
 
10.08.12
07:57
ошибка появляется в этом месте:
Замена.Execute("<ФИО>", Ложь, Истина, Ложь, , , Истина, , Ложь, НаименованиеСотрудника);
Основная теорема систематики: Новые системы плодят новые проблемы.