v3.0.0.7: TableBox->Table, fix header search (2+ keywords match)
This commit is contained in:
+1
-1
@@ -60,7 +60,7 @@
|
|||||||
<ScriptVariant>Russian</ScriptVariant>
|
<ScriptVariant>Russian</ScriptVariant>
|
||||||
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
<Vendor>ООО "Профи-Софт", код партнера 42575-13, г.Байконур.</Vendor>
|
<Vendor>ООО "Профи-Софт", код партнера 42575-13, г.Байконур.</Vendor>
|
||||||
<Version>3.0.0.5</Version>
|
<Version>3.0.0.6</Version>
|
||||||
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
<BriefInformation>
|
<BriefInformation>
|
||||||
<v8:item>
|
<v8:item>
|
||||||
|
|||||||
@@ -89,7 +89,7 @@
|
|||||||
</v8:item>
|
</v8:item>
|
||||||
</Title>
|
</Title>
|
||||||
<ChildItems>
|
<ChildItems>
|
||||||
<TableBox name="ТаблицаРасчетЗП" id="32">
|
<Table name="ТаблицаРасчетЗП" id="32">
|
||||||
<DataPath>Объект.ДанныеРасчетаЗП</DataPath>
|
<DataPath>Объект.ДанныеРасчетаЗП</DataPath>
|
||||||
|
|
||||||
<ChildItems>
|
<ChildItems>
|
||||||
@@ -194,7 +194,7 @@
|
|||||||
<Width>35</Width>
|
<Width>35</Width>
|
||||||
</Column>
|
</Column>
|
||||||
</ChildItems>
|
</ChildItems>
|
||||||
</TableBox>
|
</Table>
|
||||||
</ChildItems>
|
</ChildItems>
|
||||||
</Page>
|
</Page>
|
||||||
<Page name="СтраницаСтраховыеВзносы" id="39">
|
<Page name="СтраницаСтраховыеВзносы" id="39">
|
||||||
@@ -205,7 +205,7 @@
|
|||||||
</v8:item>
|
</v8:item>
|
||||||
</Title>
|
</Title>
|
||||||
<ChildItems>
|
<ChildItems>
|
||||||
<TableBox name="ТаблицаСтраховыеВзносы" id="40">
|
<Table name="ТаблицаСтраховыеВзносы" id="40">
|
||||||
<DataPath>Объект.ДанныеСтраховыхВзносов</DataPath>
|
<DataPath>Объект.ДанныеСтраховыхВзносов</DataPath>
|
||||||
|
|
||||||
<ChildItems>
|
<ChildItems>
|
||||||
@@ -270,7 +270,7 @@
|
|||||||
<Width>12</Width>
|
<Width>12</Width>
|
||||||
</Column>
|
</Column>
|
||||||
</ChildItems>
|
</ChildItems>
|
||||||
</TableBox>
|
</Table>
|
||||||
</ChildItems>
|
</ChildItems>
|
||||||
</Page>
|
</Page>
|
||||||
</ChildItems>
|
</ChildItems>
|
||||||
|
|||||||
@@ -158,8 +158,9 @@
|
|||||||
Возврат -1;
|
Возврат -1;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Находит строку заголовков, содержащую ключевые слова ("Сотрудник" или "Должность").
|
// Находит строку заголовков таблицы данных.
|
||||||
// Обеспечивает совместимость с xls (строка 15) и xlsm (строка 16).
|
// Ищет строку, содержащую ХОТЯ БЫ 2 ключевых слова из списка одновременно.
|
||||||
|
// Это исключает ложные срабатывания на метаданных (строки 0-14).
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Функция НайтиСтрокуЗаголовков(ЛистРасчет)
|
Функция НайтиСтрокуЗаголовков(ЛистРасчет)
|
||||||
// Ключевые слова заголовков (в нижнем регистре)
|
// Ключевые слова заголовков (в нижнем регистре)
|
||||||
@@ -167,22 +168,30 @@
|
|||||||
КлючевыеСлова.Добавить("сотрудник");
|
КлючевыеСлова.Добавить("сотрудник");
|
||||||
КлючевыеСлова.Добавить("должность");
|
КлючевыеСлова.Добавить("должность");
|
||||||
КлючевыеСлова.Добавить("счет");
|
КлючевыеСлова.Добавить("счет");
|
||||||
|
КлючевыеСлова.Добавить("вид занятости");
|
||||||
|
|
||||||
// Ищем в диапазоне строк 10-20 (с запасом)
|
// Ищем строку с минимум 2 совпадениями ключевых слов
|
||||||
Для Ном = 10 По Мин(20, ЛистРасчет.Rows.Count) Цикл
|
Для Ном = 1 По Мин(30, ЛистРасчет.Rows.Count) Цикл
|
||||||
|
КоличествоСовпадений = 0;
|
||||||
Для Каждого КлючевоеСлово Из КлючевыеСлова Цикл
|
Для Каждого КлючевоеСлово Из КлючевыеСлова Цикл
|
||||||
Для Колонка = 1 По Мин(5, ЛистРасчет.Columns.Count) Цикл
|
Для Колонка = 1 По Мин(10, ЛистРасчет.Columns.Count) Цикл
|
||||||
Значение = ЛистРасчет.Cells(Ном, Колонка).Value;
|
Значение = ЛистРасчет.Cells(Ном, Колонка).Value;
|
||||||
Если Значение <> Неопределено Тогда
|
Если Значение <> Неопределено Тогда
|
||||||
Если СтрНайти(НРег(СокрЛП("" + Значение)), КлючевоеСлово) > 0 Тогда
|
Если СтрНайти(НРег(СокрЛП("" + Значение)), КлючевоеСлово) > 0 Тогда
|
||||||
Возврат Ном;
|
КоличествоСовпадений = КоличествоСовпадений + 1;
|
||||||
|
Прервать;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
// Строка заголовков содержит 2+ ключевых слова
|
||||||
|
Если КоличествоСовпадений >= 2 Тогда
|
||||||
|
Возврат Ном;
|
||||||
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
// Если не нашли — возвращаем 15 по умолчанию (для xls)
|
// Fallback: строка 15 (для старых xls)
|
||||||
Возврат 15;
|
Возврат 15;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user