|
|
|
Печать внешнего документа (.doc) из 1С 8
|
|||
|---|---|---|---|
|
#18+
Народ, подскажите, можно ли из 1С распечатать внешний документ и если да, то какими функциями встроенного языка? Т.е. например есть "документ №26", который фигурирует в рализации товаров и услуг. Надо, чтобы по нажатию кнопки "Печать", документ с аналогичным названием (.doc) вытащился из указанной папки и распечатался. Заранее сенькс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2009, 18:29 |
|
||
|
Печать внешнего документа (.doc) из 1С 8
|
|||
|---|---|---|---|
|
#18+
оле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2009, 18:32 |
|
||
|
Печать внешнего документа (.doc) из 1С 8
|
|||
|---|---|---|---|
|
#18+
А можно поподробнее? Я пока начинающий программист по 1С... Или хотя бы где почитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2009, 18:38 |
|
||
|
Печать внешнего документа (.doc) из 1С 8
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2009, 18:55 |
|
||
|
Печать внешнего документа (.doc) из 1С 8
|
|||
|---|---|---|---|
|
#18+
1) Разметить документ букмарками. 2) вставить ActiveX макет (ваш doc файл) 3) получить средствами встроенного языка этот макет 4) пройтись по букмаркам вставляя ваши значения P.S. все значения приводите к простым типам (Дата, Число, Строка) Код валяется дома, вечером могу запостить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2009, 08:51 |
|
||
|
Печать внешнего документа (.doc) из 1С 8
|
|||
|---|---|---|---|
|
#18+
Господин ПЖ , спасибо. XenoX , если не трудно. :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2009, 16:53 |
|
||
|
Печать внешнего документа (.doc) из 1С 8
|
|||
|---|---|---|---|
|
#18+
Я сделала так: 1. Создала шаблон в Word-е. Поместила в каталог базы (точнее создала каталог для шаблонов в Word-а). 2. Из 1С(7.7): // подготавливаем файл WORD Год = ДатаГод(ДатаДок); ПутьФ1 = КаталогИБ()+"ExtForms\"+"Архив_DOC"; // \"+СокрЛП(Год) Если (ФС.СуществуетФайл(ПутьФ1)=0) Тогда ФС.УстТекКаталог(КаталогИБ()+"ExtForms\"); ФС.СоздатьКаталог("Архив_DOC"); Сообщить("Создан каталог архивов документов.","I"); КонецЕсли; ФС.УстТекКаталог(КаталогИБ()+"ExtForms\Архив_DOC"); Если (ФС.СуществуетФайл("АКТ_.dot")=0) Тогда // док. шаблона Сообщить("Файл шаблона для акта не найден ...","!!!");Возврат; КонецЕсли; ПутьФ = КаталогИБ()+"ExtForms\"+"Архив_DOC\"+СокрЛП(Год); // это для разбивки док. по годам Если (ФС.СуществуетФайл(ПутьФ)=0) Тогда ФС.УстТекКаталог(КаталогИБ()+"ExtForms\"); ФС.СоздатьКаталог(СокрЛП(Год)); Сообщить("Создан каталог архивов документов за год :"+СокрЛП(Год),"I"); КонецЕсли; ИмяФайла = "АКТ_.dot"; // проверяем открытие файла Окно = СоздатьОбъект("WORD.Application"); // WORD-ий файл Открыт = 0; Сч=1; ИмяНовый = "6260_"+СокрЛП(НомерДок)+".doc"; //имя документа создаваемого Для Сч=1 По (Окно.Documents.Count) Цикл // проверка на открытие уже существующего док. оДок = Окно.Documents.Item(Сч); Если (оДок.Name = ИмяНовый) Тогда Предупреждение("Файл:"+ ИмяНовый +" открыт ... "); Открыт = 1; Возврат; КонецЕсли; КонецЦикла; Если (Открыт = 0) Тогда оДок = Окно.Documents.Open(ПутьФ1+"\"+ИмяФайла); // это атрибуты самого файла Word-а можно опустить СвойстваДок = оДок.BuiltinDocumentProperties; СвойстваДок.Item("Author").Value = Строка(Автор.Код); // автор СвойстваДок.Item("Last Author").Value = Строка(Автор.Код); // последниц автор СвойстваДок.Item("Subject").Value = "Акт о зачете взаимных требований"; // тема СвойстваДок.Item("Keywords").Value = Контрагент.Наименование; // ключевые слова СвойстваДок.Item("Comments").Value = "Создан из 1С"; // комментарий СвойстваДок.Item("Company").Value = "СКБТ"; // компания оДок.SaveAs(ПутьФ+"\"+ИмяНовый); //Окно.Visible = 1; КонецЕсли; vbTab = " "; vbTab1 = " "; оДок.Bookmarks("НомерДок").Range.Text = СокрЛП(НомерДок); // это закладка в файле шаблона оДок.Bookmarks("Продажа").Select(); Где = Окно.Selection; ДокументСтороны1 = " согласно договору № "+ СокрЛП(ТаблицаОснование.Основание)+ " : "; Где.Text = vbTab + ДокументСтороны1; Где.EndOf(); Где.TypeParagraph(); Где.Text = vbTab1 + ДокументСтороны1; // текст выводимый в рез. файл Где.EndOf(); Где.TypeParagraph(); Поиск = оДок.Content.Find; // это весь текст документа для поиска и замены Поиск.Execute("{Сторона2}" ,,,,,,,,,""+СокрЛП(Контрагент.ПолнНаименование),2); Поиск.Execute("{ИННСторона2}" ,,,,,,,,,""+СокрЛП(Контрагент.ИНН),2); Поиск.Execute("{КППСторона2}" ,,,,,,,,,""+СокрЛП(Контрагент.КПП),2); оДок.Save(); Если (ПустаяСтрока(ФайлПечатнойФормы)=1) Тогда // это реквизит документа в 1С для хранения пути к файлу Word-а ФайлПечатнойФормы = СокрЛП(ПутьФ+"\"+ИмяНовый); Попытка Записать(); Исключение Предупреждение("Попробуйте позже. Возможно идет транзакция ..."); КонецПопытки; КонецЕсли; Окно.Visible = 1; оДок.Activate(); // может быть, громоздко, но у меня срабатывает в 1С8 меняется только "Окно = СоздатьОбъект("WORD.Application");" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2009, 12:50 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=36175479&tid=1523353]: |
0ms |
get settings: |
12ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
176ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 541ms |

| 0 / 0 |
