|
v7: В OpenOffice Writer сделать таблицу заполняемую из 1с | ☑ | ||
---|---|---|---|---|
0
Double_Medved
15.05.14
✎
10:00
|
Добрый день! Стоит ТиС и OpenOffice, нужно значит заполнять из заявки печатный договор, фигачу его в опен офис, так как там иногда нужно добавлять целые абзацы - например не предусмотренные ранее сроки доставки и т.д., и вообще в writer конечно проще работать с текстом. Получилось создавать документ, заменять в нужных местах контрагента и т.д., но вот там в конце должна быть еще табличка - и вот блин как там табличку сделать, может знает кто? Количество строк в табличке меняется, то есть по количеству строк в документе.
|
|||
1
Double_Medved
15.05.14
✎
10:12
|
Кароче там что-то такое
scr = СоздатьОбъект("MSScriptControl.ScriptControl"); scr.language = "javascript"; scr.eval("Массив=new String"); Массив = scr.eval("Массив"); scr.AddCode("function SetItem(ind,val){Массив[ind]=val}"); ServiceManager=СоздатьОбъект("com.sun.star.ServiceManager"); scr.AddObject("ServiceManager",ServiceManager); Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop"); Document = Desktop.LoadComponentFromURL("private:factory/swriter", "_blank", 0, Массив); Replace = ТекстовыйПроцессор.CreateReplaceDescriptor(); Replace.SearchString = "Контагент"; Replace.ReplaceString = "Василий"; Document.ReplaceAll(Replace); Это вот как-то так можно заполнить шапку и т.д., а как табличку сделать? |
|||
2
spectre1978
15.05.14
✎
10:17
|
А табличка может быть с любым к-вом строк, и одна, и стопицот? Просто если там к-во строк относительно ограниченное - скажем до десяти, то я бы создал ее фиксированного размера и менял бы в полях [Поле1Стр1], [Поле1Стр2]... а неиспользуемые заменил бы на прочерки. И все.
|
|||
3
Double_Medved
15.05.14
✎
10:22
|
(2) Ну табличка там одна, строк в среднем 5-10 (там расписаны предоставленные услуги и цены на них), но иногда бывает пару десятков. Блин может там можно как-то сделать одну строку таблицы, а потом копировать ее сколько надо раз и заменять там значения? Инфы как-то мало в интернете об этом, или ее фиг найдешь
|
|||
4
spectre1978
15.05.14
✎
10:23
|
(3) Сделайте приложением к договору спецификацию с этими услугами, и печатайте ее обычным 1Совским мокселем
|
|||
5
spectre1978
15.05.14
✎
10:24
|
вообще идея составлять в ворде текст из блоков типа абзацев и таблиц - она ущербная изначально. Тебя потом задерут, потому что вечно будет что-то не так. Подумай, как сделать как можно более "типовые" шаблоны, пусть их будет много... и менять в них по минимуму и по прозрачному алгоритму
|
|||
6
Double_Medved
15.05.14
✎
10:25
|
(4)Да так конечно можно сделать, менеджеры опплюются, хотят все с одной кнопки
|
|||
7
spectre1978
15.05.14
✎
10:27
|
Мое дело посоветовать. Опять-таки, спецификаций может быть много, сегодня один список, завтра договорились про другой - можно весь дог не переделывать, а приложить другую спеку.
|
|||
8
Double_Medved
15.05.14
✎
10:28
|
Сейчас они вообще занимаются чем-то неприличным. Открывают в ворде стандартный договор, копипастят в него из 1с контагента, сумму и т.д., потом то ли в экселе то ли еще где делают эту табличку, потом ее копипастят в ворд. Причем самые умные вставляют ее как ОЛЕ объект или что-то такое, а менее умные делают ее скриншот, обрезают в пейнте и вставляют как рисунок
|
|||
9
Double_Medved
15.05.14
✎
10:32
|
Обидно просто то что в 1с все данные эти расписаны - например заявка на газовую плиту и ее монтаж. 1с по типу номенклатуры может разобрать где оборудование и где услуги - и соответсвенно знает что плиту надо пихать в одно место, а монтаж плиты в другое. Можно было бы запихать это все в эксель - таблички там сделать просто. Но там много текста еще, который надо будет редактировать. Как вот с этим быть не знаю. Получается что в экселе наоборот - текст неудобно, таблички удобно. Получается что ни в в ворде ни в экселе это все неудобно.
|
|||
10
Mikeware
15.05.14
✎
10:34
|
(9) Я не понял, ты предлагаешь сделать это за тебя? тогда принято озвучивать цену.....
|
|||
11
Double_Medved
15.05.14
✎
10:40
|
(10)Не, просто мне надо скрестить 1с, ворд и эксель. Достаточно тривиальная задача в экселе неудобна для ворда и наоборот, как инь и янь. Товарищ spectre1978 предложил это разделить, и это пока что единственное рациональное решение.
|
|||
12
Mikeware
15.05.14
✎
10:42
|
(11) ну так в чем проблема? делай. задача для ворда несложная, для опен/либраоффисов чуть посложнее.
|
|||
13
spectre1978
15.05.14
✎
10:48
|
(11) как работать в ОО с таблицами - инфа, в принципе, есть немножко. Оттолкнуться можно от записи макроса в ОО Writer, кое-что есть вот здесь http://forum.vingrad.ru/topic-267855.html. Но похоже что придется повозиться
|
|||
14
Дегенератор идей
15.05.14
✎
11:28
|
в шаблоне MsWord у меня шапка таблицы.. в обработке просто добавляю строки
Договор=Word.ActiveDocument(); Договор.Tables(2).Range.Select(); Таблица=Word.Selection(); Для Й =1 По Спецификация.КоличествоСтрок() Цикл // Договор.Tables(2).Cell(Й+1,2).Range.Font.Name = "Verdana"; Спецификация.ПолучитьСтрокуПоНомеру(Й); Таблица.InsertRowsBelow(1); Договор.Tables(2).Cell(Й+1,1).Range.Text = Строка(Й);//номер строки Договор.Tables(2).Cell(Й+1,1).Range.Font.Bold = 0; Договор.Tables(2).Cell(Й+1,1).Range.Font.Size = 9; Договор.Tables(2).Cell(Й+1,2).Range.Text = СокрЛП(Спецификация.Номенклатура.Артикул); Договор.Tables(2).Cell(Й+1,2).Range.Font.Bold = 0; Договор.Tables(2).Cell(Й+1,2).Range.Font.Size = 10; Договор.Tables(2).Cell(Й+1,2).Range.ParagraphFormat.Alignment = 1; Договор.Tables(2).Cell(Й+1,3).Range.Text = СокрЛП(Спецификация.Номенклатура); Договор.Tables(2).Cell(Й+1,3).Range.Font.Bold = 0; Договор.Tables(2).Cell(Й+1,3).Range.Font.Size = 9; Договор.Tables(2).Cell(Й+1,3).Range.ParagraphFormat.Alignment = 0; Договор.Tables(2).Cell(Й+1,4).Range.Text = СокрЛП(Спецификация.Количество); Договор.Tables(2).Cell(Й+1,4).Range.Font.Bold = 0; Договор.Tables(2).Cell(Й+1,4).Range.Font.Size = 9; Договор.Tables(2).Cell(Й+1,4).Range.ParagraphFormat.Alignment = 2; Договор.Tables(2).Cell(Й+1,5).Range.Text = СокрЛП(Спецификация.Единица); Договор.Tables(2).Cell(Й+1,5).Range.Font.Bold = 0; Договор.Tables(2).Cell(Й+1,5).Range.Font.Size = 9; Договор.Tables(2).Cell(Й+1,6).Range.Text = СокрЛП(ГлФрм(Спецификация.Сумма/Спецификация.Количество)); Договор.Tables(2).Cell(Й+1,6).Range.Font.Bold = 0; Договор.Tables(2).Cell(Й+1,6).Range.Font.Size = 8; Договор.Tables(2).Cell(Й+1,6).Range.ParagraphFormat.Alignment = 2; Договор.Tables(2).Cell(Й+1,7).Range.Text = СокрЛП(ГлФрм(Спецификация.Сумма)); Договор.Tables(2).Cell(Й+1,7).Range.Font.Bold = 1; Договор.Tables(2).Cell(Й+1,7).Range.Font.Size = 8; Договор.Tables(2).Cell(Й+1,7).Range.ParagraphFormat.Alignment = 2; КонецЦикла; |
|||
15
Дегенератор идей
15.05.14
✎
11:29
|
во чего в своем избранном нашел:
http://help1c.com/faq/view/540.html там вроде еще много статей и хороших примеров |
|||
16
spectre1978
15.05.14
✎
12:36
|
(15) ключевое слово - опенофис. Там все совершенно по-другому
|
|||
17
Дегенератор идей
21.05.14
✎
10:47
|
(16) Все категории»Работа с Microsoft Office и OpenOffice
http://help1c.com/faq/cat/42.html |
|||
18
Сияющий Асинхраль
21.05.14
✎
11:03
|
А нафиг ООО или МСО? уже большому количеству клиентов сделал договора в 1С, сколько помню ни одной претензии не было... Печатают и с таблицами и без таблиц, и со склонением ФИО и разными другими примочками...
|
|||
19
Mikeware
21.05.14
✎
11:06
|
(18) Удобно, однако. Юротдел делает/корректирует шаблоны договоров, и выкладывает их. совсем не беспокоя мою службу.
|
|||
20
Мутабор
21.05.14
✎
11:09
|
Фигасе прикольно
(2) (2) (2) (2) (2) (2) (2) (2) (2) (2) (2) (2) (2) (2) (2) (2) (2) (2) |
|||
21
spectre1978
21.05.14
✎
11:10
|
Глючок-с в движке. Безобидный, но все-таки
|
|||
22
Мутабор
21.05.14
✎
11:15
|
(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)
|
|||
23
Сияющий Асинхраль
21.05.14
✎
11:28
|
(19) Продвинутые у тебя юрики однако, почти и не встречал таких, большая часть максимум что могут сделать, колонку в экселе сложить :-(
|
|||
24
Mikeware
21.05.14
✎
11:29
|
(23) Ну, письменные инструкции порой творят чудеса... :-)даже с юристами.
|
|||
25
Сияющий Асинхраль
21.05.14
✎
11:33
|
(24) Учту... И договора так попробую... :-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |