8.х — Как парсить HTML документ? | 1C-pro.ru
В ЭлементыФормы.ПолеHTMLДокумента.Документ.body.all куча хлама который фиг разберешь. И тек TABLE встречается там не один раз.— Объединение сообщений, 22 июл 2014 —Вот именно эти данные и нужны. Только фиг знает как их парсить
<TABLE id=z_eu_u2 class=prttable>
<COLGROUP>
<COL id=z_eu_v2 class=print_tables align=center width=60>
<COL id=z_eu_03 class=print_tables align=left width=180>
<COL id=z_eu_13 class=print_tables align=left width=180>
<COL id=z_eu_23 class=print_tables align=right width=90>
<COL id=z_eu_33 class=print_tables align=right width=90>
<COL id=z_eu_43 class=print_tables align=right width=90>
<COL id=z_eu_53 class=print_tables align=center width=20>
<COL id=z_eu_63 class=print_tables align=left width=145>
<COL id=z_eu_73 class=print_tables align=left width=145></COLGROUP>
<THEAD id=z_eu_83>
<TD id=z_eu_a3 class=print_tables_header rowSpan=2 align=center>Дата проводки</TD>
<TD id=z_eu_c3 class=print_tables_header colSpan=2 align=center>Счет</TD>
<TD id=z_eu_e3 class=print_tables_header rowSpan=2 align=center>Сумма по дебету</TD>
<TD id=z_eu_g3 class=print_tables_header rowSpan=2 align=center>Сумма по кредиту</TD>
<TD id=z_eu_i3 class=print_tables_header rowSpan=2 align=center>№ документа</TD>
<TD id=z_eu_k3 class=print_tables_header rowSpan=2 align=center>ВО</TD>
<TD id=z_eu_m3 class=print_tables_header rowSpan=2 align=center>Банк (БИК и наименование)</TD>
<TD id=z_eu_o3 class=print_tables_header rowSpan=2 align=center>Назначение платежа</TD></TR>
<TR id=z_eu_q3 class=header>
<TD id=z_eu_r3 class=print_tables_header align=center>Дебет</TD>
<TD id=z_eu_t3 class=print_tables_header align=center>Кредит</TD></TR></THEAD>
<TBODY id=z_eu_v3>
<TR id=z_eu_04>
<TD id=z_eu_14 class=print_tables align=center>02.06.2014</TD>
<TD id=z_eu_34 class=print_tables align=left>40702810492000000087<BR>0037058370 ООО «ВЛАДИКОМ-КРЫМ»</TD>
<TD id=z_eu_54 class=print_tables align=left>40201810735100000003<BR>0000000000<BR>Казначейская служба РК</TD>
<TD id=z_eu_74 class=print_tables align=right>1 720,00</TD>
<TD id=z_eu_94 class=print_tables align=right> </TD>
<TD id=z_eu_b4 class=print_tables align=right>4</TD>
<TD id=z_eu_d4 class=print_tables align=center>01</TD>
<TD id=z_eu_f4 class=print_tables align=left>БИК 043510001, ОТДЕЛЕНИЕ РЕСПУБЛИКА КРЫМ Г. СИМФЕРОПОЛЬ</TD>
<TD id=z_eu_h5 class=print_tables align=left>*;101;37058370;11010100;288;ООО «Владиком-Крым», перечисление НДФЛ за март, апрель 2014 года</TD></TR>
<TD id=z_eu_k4 class=print_tables align=center>02.06.2014</TD>
<TD id=z_eu_m4 class=print_tables align=left>40702810492000000087<BR>0037058370 ООО «ВЛАДИКОМ-КРЫМ»</TD>
<TD id=z_eu_o4 class=print_tables align=left>40702810392000000077<BR>0034836060<BR>ООО «СИМБИАН»</TD>
<TD id=z_eu_q4 class=print_tables align=right>2 000,00</TD>
<TD id=z_eu_s4 class=print_tables align=right> </TD>
<TD id=z_eu_u4 class=print_tables align=right>1</TD>
<TD id=z_eu_05 class=print_tables align=center>01</TD>
<TD id=z_eu_25 class=print_tables align=left>БИК 044525585, КРЫМСКИЙ ФИЛИАЛ РНКБ (ОАО) Г. СИМФЕРОПОЛЬ</TD>
1c-pro.ru
Программное формирование HTML-документа, содержащего ссылки на объекты базы данных 1С. Часть I
В данной статье рассматривается способ программного формирования HTML документа, содержащего ссылки на объекты базы данных 1С, такие как справочники, документы и т.д. Показан пример построения обработчика события OnClick ПоляHTMLДокумента, для обработки клика на html-ссылке.
Предисловие
Однажды, дописывая обработку, создающую и модифицирующую, не суть важно какие документы, я подумал, что неплохо было бы вывести для пользователя некое резюме:
“Создан документ такой-то”
“Изменен документ такой-то” и т.д.
От обычного, в таких случаях, вывода информации в окно сообщений я сразу отказался, так как не удобно это, сначала читать в окне сообщений “Создан документ … ” а потом запоминать его номер, открывать соответствующий журнал (или форму списка) и искать там этот документ. А если документов много и пользователь хочет посмотреть все документы?(или выборочно) Насколько это неудобно я убедился при отладке обработки …
То, что в форме есть элемент управления именуемый ПолеHTMLДокумента я конечно знал, но вот представилась возможность познакомиться с ним поближе. Было решено реестр обработанных документов выводить в виде html документа содержащего ссылки на эти самые документы, а по клику на ссылке открывать форму соответствующего документа. Здесь мне многие могут возразить: “А почему бы для этих целей не использовать обычный макет, выводимый в табличный документ, а для открытия документов использовать расшифровку? И чем Ваш способ лучше?” Отвечаю: Конечно можно использовать, и мой способ ничем не лучше. Он просто другой. Ведь у хорошего программиста для решения одной задачи должно быть в арсенале несколько инструментов.
Текст модуля формы:
Процедура ДобавитьТекстHTML(ТекстHTML, Элемент); // Ссылку будем формировать хитро: // Предполагаем что символ "-" не входит в имена объектов метаданных, // учавствующих в формировании html // Тогда ссылка будет иметь следующий вид: // Номенклатура-d341d377-b3b1-11dc-a100-0011d85708ff // Передавать нашу ссылку будем через атрибут id СсылкаНаЭлемент = Элемент.Метаданные().Имя+"-" +Элемент.Ссылка.УникальныйИдентификатор(); ТекстHTML.ДобавитьСтроку("<A" + СсылкаНаЭлемент + """ href= """ + Элемент + """ >"+Элемент+"</A><BR>"); КонецПроцедуры Процедура ДействияФормыСформировать(Кнопка) Запрос = Новый Запрос(" |ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура"); ТекстHTML = Новый ТекстовыйДокумент; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ДобавитьТекстHTML(ТекстHTML, Выборка.Ссылка); КонецЦикла; ЭлементыФормы.ПолеHTMLДокумента.УстановитьТекст(ТекстHTML.ПолучитьТекст()); КонецПроцедуры
Ну вот html мы сформировали, теперь чтобы ссылки “ожили” надо написать обработчик события OnClick элемента управления ПолеHTMLДокумента.
// Функция получает элемент - <A> по данному элементу // Производит поиск элемента <A> среди родительских элементов данного // // Параметры: // Элемент - COMОбъект, элемент HTML документа, // по которому нужно найти ссылку // // Возвращаемое значение: // COMОбъект - если ссылка обнаружена, иначе - Неопределено Функция НайтиСсылку(Элемент) Врем = Элемент; Пока Врем <> Неопределено Цикл Если НРег(Врем.tagName) = "a" Тогда Возврат Врем; КонецЕсли; Врем = Врем.parentElement; КонецЦикла; Возврат Неопределено; КонецФункции // НайтиСсылку(Элемент) Процедура ПолеHTMLДокументаonclick(Элемент, pEvtObj) htmlElement = НайтиСсылку(pEvtObj.srcElement); // Анализируем если произошло нажание не ссылку Если htmlElement <> Неопределено Тогда // Если у ссылки есть идентификатор Если СокрЛП(htmlElement.id) <> "" Тогда // Получаем адрес ссылки из атрибута id СсылкаНаЭлемент = htmlElement.id; Разделитель = Найти(СсылкаНаЭлемент,"-"); Если Разделитель > 0 Тогда // Получаем тип элемента ТипЭлемента = Лев(СсылкаНаЭлемент,Разделитель-1); // Получаем УникальныйИдентификатор ГУИД = Сред(СсылкаНаЭлемент,Разделитель+1); Справочники[ТипЭлемента].ПолучитьСсылку( Новый УникальныйИдентификатор(ГУИД)).ПолучитьФорму().Открыть(); КонецЕсли; // Не отработали нажатие pEvtObj.returnValue = Ложь; КонецЕсли; КонецЕсли; КонецПроцедуры
Всё можно пробовать!
Заключение
Обратите внимание что ссылку я формировал следующим образом:
— это сделано для того, чтобы в обработчике onclick можно было определить к какому объекту метаданных относится данный УникальныйИдентификатор, потому что имея ТОЛЬКО УникальныйИдентификатор невозможно определить к какому объекту метаданных он относиться. Точнее возможно, но уж слишком долго и неудобно – путем перебора всех метаданных в цикле, для каждого объекта метаданных выполнять попытку .ПолучитьСсылку(Новый УникальныйИдентификатор(НашУникальныйИдентификатор))
Хотя в нашем примере только один справочник, и указывать его вид было необязательно, и так понятно что это УникальныйИдентификатор элемента справочника Номенклатура, но вдруг Вам потребуется работать с несколькими справочниками, вот тут то мой способ задания ссылки Вам и пригодится.
Если публикация показалась Вам полезной и интересной не забывайте оставлять свои отзывы и комментарии, так же Вы можете выразить свою благодарность материально.
Категории: Полезные технологии разработки в 1С. Автор Администратор
2 комментариев »
www.obrabotki.com
Поле HTML документа в управляемом и обычном приложении в 1С 8.3, 8.2
Поле HTML документа — этот элемент позволяет выводить на форму HTML страницы, полученные по URL адресу.
ПолеHTMLДокумента в обычном приложении
Для примера, во внешней обработке, создаём реквизит формы — ПолеHTMLДокумента1. Для перехода на страницу в интернете, воспользуемся методом
Процедура КнопкаПерейтиНажатие(Кнопка)
ЭлементыФормы.ПолеHTMLДокумента1.Перейти(«http://www.okolokompa.ru»);
КонецПроцедуры |
ПолеHTMLДокумента в управляемом приложении
Для примера, во внешней обработке, создаём реквизит формы — ПолеHTMLДокумента1 (с типом — строка). На самой форме создаём элемент, указывающий на наш, только что созданный реквизит. Вид его указываем — Поле HTML документа.
В управляемом приложении метод «Перейти» недоступен.
По этой причине, для перехода на страницу, URL-адрес установим не полю формы, а реквизиту формы.
&НаКлиенте Процедура ПерейтиНаСтраницу(Команда)
ПолеHTMLДокумента1 = «http://www.okolokompa.ru»;
КонецПроцедуры |
Веб браузер в 1С
Давайте создадим простейший веб браузер на 1С, используя, только что полученные знания.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
&НаКлиенте Процедура Команда1(Команда) Объект.HTML = Адрес; КонецПроцедуры
&НаКлиенте Процедура Назад(Команда) Элементы.HTML.Назад(); КонецПроцедуры
&НаКлиенте Процедура АдресОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка) Объект.HTML = Текст; Адрес = Текст; КонецПроцедуры
&НаКлиенте Процедура HTMLДокументСформирован(Элемент) Адрес = Элемент.Документ.url; КонецПроцедуры |
Весь прикол в том, что Поле HTML документа — это всеми любимый Internet Explorer, только в режиме совместимости с IE7. Поэтому, в некоторых случаях, вас будет ждать такое уведомление)))
Вконтакте
Google+
Одноклассники
Мой мир
okolokompa.ru
1С табличный документ в html
Расширение возможностей формы 1С
Импорт из Excel реализаций и счет-фактур. Вывод печатных форм по завершению для 1С
Розница Обработка Заполнения табличной части
HTML. Создание сайта. Урок 1
как … распечатать таблицу Excel целиком на листе
Как в управляемой форме разместить диаграмму Ганта?
Размещение элементов в форме
Как разделить таблицу Excel на отдельные листы. Функция ДВССЫЛ.
Как составить прайс-лист в Excel
7_Программа управления складом на основе Excel – файла. Создать или изменить накладную выхода артикл
Также смотрите:
- Доплата за вредность 1С зуп
- 1С генератор штрих кодов
- 1С верхний регистр
- Как в 1С посмотреть финансовый результат
- 1С электронная коммерция
- 1С предприятие конфигурация розница егаис
- Справка о заработной плате в 1С зуп
- Как рассчитать праздничные дни в 1С 7
- Программа 1С торговля и склад самоучитель онлайн
- Сергей рыжиков 1С битрикс
- Как в 1С увеличить зарплату
- Remoteapp настройка 1С
- Печать на форме 1С
- Обслуживание серверов и 1С
- Новое штатное расписание в 1С
buhchita.ru
HTML-редактор в 1С Предприятии
В 1С Предприятии для работы с html документами реализован специальный редактор, который позволяет просматривать и редактировать HTML. Это простой редактор, который содержит самые основные возможности для работы с html документами. HTML редактор содержит три вкладки: редактирование, текст, просмотр. При хороших знаниях html верстки, можно создавать документы различной степени сложности на вкладке «Текст». Для создания простых документов достаточно вкладки «Редактирование». Результат можно посмотреть на вкладке «Просмотр».
Открыть редактор можно в 1С Предприятии или Конфигураторе.
Для этого нужно перейти в главном меню: Файл->Новый->HTML документ
Вкладка «Редактирование»
На этой вкладке отображается визуальное представление html документа. Редактирование осуществляется с помощью привычной панели инструментов для редактирования текста. Для текста можно установить: размер, стиль, цвет, заливку цветом, позиционирование. Для того чтобы применить настройку достаточно выделить часть текста и нажать в панели инструментов требуемое действие. Можно вставить таблицу через главное меню Таблица->Вставить таблицу… При этом на вкладке «Редактирование» не происходит работы непосредственно с html кодом.
Вкладка «Текст»
Вкладка текст содержит исходный html-код документа. Для редактирования необходимо обладать знаниями в html верстке.
Вкладка «Просмотр»
На данной вкладке можно посмотреть как будет выглядеть html документ в браузере или в другой программе для просмотра html документов.
1clenta.ru
Работа с табличным документом в 1С Бухгалтерия
В данной статье мы рассмотрим табличный документ в системе 1С Предприятие и разберем следующие моменты:
Работа с табличным документом
Табличный документ используется для создания первичных документов и отчетов, которые состоят из ячеек организованных в строки и колонки. У каждой строки и колонки есть свой уникальный номер. При этом отдельным ячейкам, диапазонам и графическим объектам можно присвоить имя выделив нужную область используя раздел “Таблица — Имена”. После введем имя в поле ввода и нажмем “Присвоить”.
Для того, чтобы удалить имя выберем его из списка и нажмем на кнопку “Удалить”. Тем областям, которым пользователь не присвоил имя, программа даст название автоматически. Эти имена можно увидеть в палитре свойств. Табличный редактор может использоваться для создания нового документа, просмотра результатов прежних отчётов и редактирования документов табличного типа.
Как в 1С создать табличный документ
Для создания нового документа необходимо нажать на раздел “Файл” — “Новый”, после чего выбрать строку “Табличный документ” и подтвердить кнопкой “ОК”. Если нужно открыть уже созданный документ, тогда в разделе “Файл” — “Открыть” выбираем в списке имя файла необходимого документа. При этом можно выбрать любой формат открываемого документа нажав на поле “Тип файла”.
При создании таблицы выделим ячейку и введем данные (текст, формула, численные данные). Если необходимо изменить размер ячеек, тогда в Меню выберем “Формат — Строка — Автоподбор высоты — Столбец — Автоподбор ширины”. Для этого наведем мышку на границу заголовка строки или столбца, удерживая левую кнопку мыши, протяжкой изменим размер. Видоизменится в 1С высота строки табличного документа и ширина столбца. Команда автоподбора открывается двойным кликом на границу заголовка.
Вы можете смело повторять все действия у себя в базе или с легкостью создать табличный документ в 1С:Готовые решения — облачной версии лицензионной программы 1С. Тестируйте сервис бесплатно в течение 14 дней в 1С Онлайн.
Как изменить в 1С высоту строки и ширину колонок
Размер строк и столбцов табличного документа можно изменить вручную или автоматически.
В программе 1С высота строки табличного документа изменится вручную, если навести мышку на нижнюю границу заголовка строки и дождаться когда курсор мыши преобразуется в раздвоенную вертикальную стрелку. После этого устанавливаем необходимую нам высоту строки перемещая границы заголовка.
Изменить ширину столбца можно, если установить указатель мыши на правую границу заголовка и дождаться когда курсор мыши преобразуется в раздвоенную горизонтальную стрелку. Переместив мышью границу заголовка, установим необходимую ширину.
Минимально необходимую ширину столбца можно установить с помощью двух щелчков мыши на границу заголовка. Редактор самостоятельно установит ту ширину, в которую полностью помещается текст.
Существует еще один способ ручного изменения. Нажмите на клавишу “Ctrl” и наведите мышку на нужную границу ячейки. После того как форма курсора изменится — установите нужный размер.
В 1С ширина колонки табличного документа изменится автоматически, если выделить необходимый столбец и выбрать раздел “Таблица” — “Ячейки” — “Ширина колонок”. В появившемся окне указать ширину и нажать “ОК”.
Создавая новый табличный документ ширина всех столбцов устанавливается по умолчанию. Но ее также можно изменить. Для этого в “Таблице” выбрать “Ячейка” — “Ширина колонок”. В появившемся окне задать размер колонки и нажать “ОК”. Если выбрать “Авто”, тогда размер устанавливается на весь документ.
Автоматически изменится высота строки, если установить флажок “Автовысота строки”. Если флажок не установить, тогда в поле “Высота строк” задаётся фиксированный размер строки.
Для того, чтобы установить различную ширину колонок для различных строк, необходимо выделить одну или несколько строк документа.
Подведем мышкой к разделителю колонок и нажмем левую кнопку мыши. Не отпуская кнопку потянем столбец в нужную сторону (к примеру, влево) и отпустим кнопку. В появившемся окне нажмем на “ОК”.
Также можно управлять цветом текста, фона и рамок.
Как правило, табличный документ формируется на основе макета, который представляет собой шаблон для формирования печатной формы. В сам макет можно включить рисунки, диаграммы, а также сводные таблицы. На примере изображен макет для печати расходной накладной:
В одних ячейках содержится только текст, в других — имена параметров, которые необходимо указать в программном модуле через “Параметры” объекты “Табличный документ”.
Группировка строк в табличном документе
В табличном документе есть возможность группировать строки и столбцы для того, чтобы классифицировать данные в отчетах. Существуют горизонтальные группировки, которые могут быть расположены справа или слева, и вертикальные размещенные сверху или снизу.
Также можно отобразить уровни группировки. При нажатии цифр в заголовке разворачиваются сразу все группировки. При применении группировки отступ уровней формируется автоматически:
Расшифровка табличного документа 1C
Воспользуемся механизмом расшифровки, чтобы получить детальный или дополнительный отчёт. Для этого нажимаем мышкой на строку или ячейку документа.
Существует два действия при расшифровке документа:
- Стандартные — нажимаем мышкой на документ или элемент справочника, после чего система откроет этот объект для просмотра.
- Нестандартные — зададим алгоритм получения детального отчета. Для этого необходимо переформировать существующий с использованием дополнительных условий отбора («показать продажи только по этому контрагенту»). Или же,
При использовании расшифровки можно получить совершенно новый отчёт (например «показать расходные накладные, которые сделали вклад в объем продаж по данному контрагенту»).
Так как вызов отчетов, содержащихся в конкретном прикладном решении, совершается автоматически — это усложняет работу пользователя. Для того, чтобы облегчить работу и нужен механизм расшифровок.
Как в 1С сохранить табличный документ
Для того, чтобы в дальнейшем можно было пользоваться табличным документом (открывать, просматривать, распечатывать) — необходимо его сохранить. Выберем раздел “Файл” и нажмем “Сохранить”. После этого на экране появится окно, в котором укажем каталог и имя файла. Если необходимо переименовать документ, либо сохранить его в другом формате — выберем раздел “Файл” и “Сохранить как”.
Как правило, документ сохраняется в том формате, которую использует система “1С:Предприятие” (*.mxl). При этом табличный документ может быть экспортирован в другие форматы хранения данных,в том числе в формат электронной таблицы ODF (*.ods), документ Word (*.docx), документ HTML (*.htm) или в текстовый файл UNICODE (*.txt). Вдобавок имеется возможность сохранить в 1С табличный документ в excel или в pdf.
Печать табличного документа в 1С
Для просмотра документ перед печатью, выберем раздел “Файл — Предварительный просмотр”. Для того, чтобы выйти из предварительного просмотра нажмем кнопку “Закрыть”.
В настройках страницы установим в 1С параметры печати табличного документа — масштаб, размер, границы и т.д. В табличном редакторе установим параметры размещения строк и столбцов. В “Положение на странице” принудительно установлено разбиение на страницы, повторение строк и столбцов и т.д.
Выведем документ на принтер нажав на раздел “Файл” — “Печать”. На странице появится окно с настройками, где нужно установить параметры печати — выбрать принтер, диапазон страниц и кол-во копий — и нажать “ОК”.
У Вас остались вопросы? Задавайте их в комментариях и мыобязательно на них ответим.
aktiv-it.ru
1С макет табличный документ
Печатная форма 1С с выводом таблиц
Вертикальные области табличного документа 1С
Расшифровка в табличном документе 1С
Доработка печатной формы типовой конфигурации 1С
Создаем простую печатную форму в 1С 8.3
Урок 7.6 Макет с итогами
Табличная часть документа 1С (часть 1)
Таблица Значений 1С 8 3
Ответ на комментарий к «Произвольный макет в СКД II»
Отчеты в 1С: Вариант №1 (с помощью макета)
Также смотрите:
- 1С конвертация данных правила выгрузки данных
- 1С ограничение количества строк
- В 1С не меняется наименование организации
- Сдача электронной отчетности через 1С
- Программист платформы 1С
- 1С как построить график по регистру сведений
- Команды в 1С печать
- Установка 1С 8 3 на сервере windows
- Как отразить ремонт ос в 1С
- Этапы внедрения документооборота 1С
- Перевыставляемые услуги в 1С
- Прием уволенного сотрудника в 1С
- Предоплата платежной картой в 1С
- Курсы 1С баумана
- 1С ошибка подключиться
buhchita.ru