|
MoksK
|
||||||
Импорт С Документа Doc C Автматичиским Заполнением Полей Карточки.02.10.2013, 15:56. Показов 11056. Ответов 13
Метки нет (Все метки)
В lotus Notes есть кнопка которая импортирует файлы doc и автоматически заполняет поля карточки информацией с этого файла. Сейчас в организации сделали новый сайт с новой формой(в которой отличаются название полей),с которого и приходил эти файлы doc. После этого авто заполнение полей работать перестало. Где то в коде я так понял нужно поменять название полей.
В прикрепленных файлах есть старый и новый образец doc файла Может кто нибудь сможет помочь. Вот код который отвечает за авто заполнение я так понял: <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"код"</div></div><div class="sp-body"><div class="sp-content">
|
||||||
| 02.10.2013, 15:56 | |
|
Ответы с готовыми решениями:
13
Проблема с заполнением документа из формы Проблемы с заполнением полей формы Товар с заполнением полей в WooCommerce |
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 02.10.2013, 16:06 | |
|
Короч... если поменялась лотусовая форма, то в этом коде ищем строки на подобии такой:
doc.Adress = tmp Это означает в документе doc изменить поле Adress на значение tmp Еще есть Doc.replaceItemvalue(<имя поля>,<Значение>) Далее глазами проверяем какие поля в новой форме соответствуют полям в старой. И меняем в коде.
0
|
|
|
MoksK
|
||
| 02.10.2013, 16:31 | ||
Поменялась не лотусовая форма. А форма электронных обращений на сайте, которая сохроняет файлы doc а лотус потом импортирует сам файл, и из этого файла берет определенные поля для авто-заполнения карточки) Так вот поменялись название полей формы на сайте. |
||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||||||
| 02.10.2013, 17:18 | ||||||
|
ничего не понятно!
где код кот. берет поля из ворда? только тескт вставляется Добавлено: вот вся "работа":
0
|
||||||
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 02.10.2013, 17:29 | |
|
теперь совсем не понятно...
Код, который предоставлен обрабатывает документ Word и создает документы в Lotus на основе Word. Работа со страницей сайта здесь не отражена. lmike прав, вся работа в трех строчках. А вот дальше идет обработка текста. Так что не так то?) Документ в Lotus не создается? Создается, но пустой? (возможно неверная обработка текста из ворда)
0
|
|
|
MoksK
|
||
| 06.10.2013, 10:24 | ||
да документ создается, но пустой. В вордовских документам например раньше было написано "Почтовый адрес Юр. лиц" и в документе лотуса этот адрес отображался, а сейчас вордовские документы приходят и там теперь написано "Почтовый адрес юридического лица" и документ создается пустой. В коде вроде названия эти поменял на новые, но документ все равно не заполняется. Добавлено: If Pos <> 0 Then tmp = Fulltrim(Strleft(ContentofFile1, "Почтовый адрес:")) tmp = Fulltrim(Strright(tmp, "ФИО:")) вот напрмер поля с этими названиями есть в документах лотус, и они раньше заполнялись. Тесть текст из ворда в лотусовский документ вставляся не понустью, а только определенные поля. |
||
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 06.10.2013, 11:04 | |
|
У вас неверный парсер текста из Word, там поменялись текстовки.
Надо новые текстовки вставить в парсер вместо старых, а возможно и весь парсер переписать, так как обработка может сильно поменяться.
0
|
|
|
MoksK
|
||
| 06.10.2013, 11:17 | ||
Парсер я так понял находистя в этом коде что я скидывал в пример? |
||
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
||
| 06.10.2013, 11:39 | ||
0
|
||
|
MoksK
|
||
| 06.10.2013, 12:10 | ||
|
Добавлено:
Немогли бы вы показать кусок кода с этим парсером? |
||
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
||||||
| 06.10.2013, 12:25 | ||||||
|
Практически все строки где есть tmp:
doc - лотусовый документ, doc.TypeDoc = "Входящий" - присвоить полю значение Call doc.ReplaceItemValue ("StatusE", "Новый") - тоже присвоить полю значение tmp = Fulltrim(Strleft(ContentofFile1, "ФИО руководителя/ уполн. лица:")) - взять все слева от слов "ФИО руководителя/ уполн. лица:", в строке ContentofFile1 и записать в tmp (обработка руководителя) tmp = Fulltrim(Strright(tmp, "Наименование юр. лица:")) - записать в tmp все что справа от слов "Наименование юр. лица:" в строке tmp и снова записать в tmp tmp = Fulltrim(Strleft(ContentofFile1, "Адресат:")) - как и с руководителем получаем адресата. И так далее и тому подобное. .SpoilerTarget">Спойлер: Раскрывающийся Текст
0
|
||||||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 06.10.2013, 14:57 | |
|
мда... я конечно все понимаю, но парсер из стринговых операций, в ЛС - это что-то
об эффективности никто не думал второе - шаблоны для парсера жестко вшиты в код - надо настроечный док для поиска строк можно использовать встроенный в java http://stackoverflow.com/questions/1117144...cher-find-works http://tutorials.jenkov.com/ja... tcher.html http://www.javapractices.com/t... n.do?Id=87
0
|
|
|
MoksK
|
|
| 14.10.2013, 12:09 | |
|
Всем спасибо исправил таким образом:
ContentofFile1 = Trim(Strleft(ContentofFile, "Текст обращения:")) If ContentofFile1 <> "" Then tmp = Fulltrim(Strright(ContentofFile, "Текст обращения:")) If Len(tmp) > 13000 Then tmp = Left(tmp, 12997) + "..." doc.Body = tmp Pos = Instr(1, ContentofFile1, "Наименование юридического лица:") If Pos = 0 Then Pos = Instr(1, ContentofFile1, "ФИО:") If Pos <> 0 Then tmp = Fulltrim(Strleft(ContentofFile1, "Адресат обращения:")) tmp = Fulltrim(Strright(tmp, "ФИО:")) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) doc.NewFrom1_ = tmp doc.NameChief = tmp tmp = Fulltrim(Strleft(ContentofFile1, "Почтовый адрес:")) tmp = Fulltrim(Strright(tmp, "Адресат обращения:")) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) doc.NewTo = tmp tmp = Fulltrim(Strleft(ContentofFile1, "Краткое содержание:")) tmp = Fulltrim(Strright(tmp, "Почтовый адрес:")) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) doc.Adress = tmp tmp = Trim(Strright(ContentofFile1, "Краткое содержание:")) Macros = {@ReplaceSubstring("} + tmp + {" ; """; @Char(34) )} result = Evaluate(Macros, doc) tmp = Trim(result(0)) doc.Body1 = tmp End If Else tmp = Fulltrim(Strleft(ContentofFile1, "Адресат обращения:")) tmp = Fulltrim(Strright(tmp, "Наименование юридического лица:")) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) doc.NewFrom1_ = tmp tmp = Fulltrim(Strleft(ContentofFile1, "ФИО руководителя / уполномоченного лица:")) tmp = Fulltrim(Strright(tmp, "Адресат обращения:")) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) doc.NewTo = tmp tmp = Fulltrim(Strleft(ContentofFile1, "Почтовый адрес юридического лица:")) tmp = Fulltrim(Strright(tmp, "ФИО руководителя / уполномоченного лица:")) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) doc.NameChief = tmp tmp = Fulltrim(Strleft(ContentofFile1, "Краткое содержание:")) tmp = Fulltrim(Strright(tmp, "Почтовый адрес юридического лица:")) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) If Mid(tmp, Len(tmp), 1) = Chr(10) Or Mid(tmp, Len(tmp), 1) = Chr(13) Then tmp = Left(tmp, Len(tmp)-1) tmp = Fulltrim(tmp) doc.Adress = tmp tmp = Trim(Strright(ContentofFile1, "Краткое содержание:")) Macros = {@ReplaceSubstring("} + tmp + {" ; """; @Char(34) )} result = Evaluate(Macros, doc) tmp = Trim(result(0)) doc.Body1 = tmp End If Else tmp = Fulltrim(Strright(ContentofFile, "--==")) If Len(tmp) > 13000 Then tmp = Left(tmp, 12997) + "..." doc.Body = tmp End If Call doc.Save(True, False) ProcessFile = OutFile Exit Function FileNotFound : Macros = "" Resume Next End Function |
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 14.10.2013, 12:26 | |
|
MaksK
Не за что, случай частный. Код под споллер уберите пож-та.
0
|
|
| 14.10.2013, 12:26 | |
|
Помогаю со студенческими работами здесь
14
Страница с заполнением полей ввода, и их отправкой (lotusscript) Вставка значений текущей карточки документа в Ms Word Импорт из БД в шаблон .doc Импорт текстовых файлов .doc, .docx Генерация doc документа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|