1sqlite

01.02.12

Разработка - Разработка внешних компонент

Внешняя компонента для работы с базами данных SQLite, плюс прямые запросы в ДБФ-базах 1С.

Скачать файлы

Наименование Файл Версия Размер
1sqlite 1.0.2.3
.zip 408,69Kb
1374
.zip 408,69Kb 1374 Скачать бесплатно
Пример использования (поиск клиентов/товаров в ДБФ базе 1С)
.1214222839 8,01Kb
1072
.1214222839 8,01Kb 1072 Скачать бесплатно
Мини-консоль для запуска запроса.
.1214287828 7,33Kb
928
.1214287828 7,33Kb 928 Скачать бесплатно
Пример использования. Универсальное дерево документов (для ДБФ)
.1214287870 7,44Kb
805
.1214287870 7,44Kb 805 Скачать бесплатно
Документация к 1.0.2.3
.zip 62,42Kb
1008
.zip 62,42Kb 1008 Скачать бесплатно
Пример использования. Отчет "Состояние заявки" для ТиС ДБФ. (работает только на дату ТА)
.1214393726 12,42Kb
696
.1214393726 12,42Kb 696 Скачать бесплатно

Внешняя компонента, предназначенная для работы с базами данный SQLite.
Версия 1.0.2.3

Основана на проекте http://www.sqlite.org.

Основная страница проекта: http://snegopat.ru/1sqlite/

Кроме того, при работе в ДБФ-версии 1С, компонента позволяет посредством "движка" SQLite и встроенным в него механизмом "виртуальных таблиц" обращаться на чтение к таблицам базы данных 1С через "родные" методы самой 1С. Что позволяет выполнять запросы к базе 1С даже в монопольном режиме работы.

Основные фичи компоненты:

  • SQLite версии 3.6.11
  • Движок SQLite доработан в плане регистронезависимости русских символов, нормально работают lower, upper, like, названия таблиц, полей.
  • Добавлено collate _1С - сравнение строк без учета регистра и завершающих пробелов.
  • Отображение ДБФ-таблиц 1С в базу данных SQLite и возможность использовать их в запросах.
  • Работа с ДБФ-таблицами 1С в монопольном режиме.
  • Получение в прямых запросах "длинных" строк 1С-ДБФ.
  • Типизация результатов запроса типами данных 1С.
  • Работа с текстовыми и sql-параметрами в запросах.
  • Укладка в базу данных SQLite ТаблицЗначений.
  • Укладка в базу данных SQLite СписовЗначений с объектами 1С, с возможностью в ДБФ версии разворота групп справочников или счетов по иерархии.
  • Поставщик данных табличного поля 1С++


История версий:

1.0.1.1

  • Исправлен вылет при попытке подключить таблицу строк документа, у которого нет ТЧ.
  • Добавлены текстовые параметры: :ВидСубконто и :ПланСчетов

1.0.1.2

  • Исправлена работа с преобразованием значений типа Дата в формат БД.

1.0.1.3

  • Исправлена ошибка в метапарсере при обработке вхождений текстовых параметров.

1.0.1.4

  • Добавлено авто-подключение таблиц.

1.0.1.5

  • Исправлена ошибка подстановки текстового параметра ":ВидСправочника.ХХХ"
  • Добавлен модификатор 3 для подстановки значений типа Строка. Подставляет фрагмент текста без кавычек, для динамического формирования текста запроса.

1.0.1.6

  • Исправлена подстановка значения пустой даты.
  • Добавлена типизация :Субконто
  • Добавлена типизация :Время
  • Добавлена функция str2id
  • Добавлена функция id2str

1.0.1.7

  • Доработана работа 3го модификатора текстового параметра типа "Строка". Теперь подставляемый фрагмент текста также обрабатывается метапарсером.
  • Удалены типизация ":ВидДокумента" и ":ВидДокументаПредставление".
  • Добавлены типизации ":ИмяВида" и ":ПредставлениеВида".
  • Доработан метод SQLiteQuery::ВыполнитьЗапрос. Теперь можно получать результат выполнения запроса в таблицу значений, список значений, полем из скалярного запроса, а также в любой объект, реализующий интерфейс загрузки результата запроса (ISQLiteResultLoader).

1.0.1.8

  • Исправлена ошибка обработки NULL значений.
  • Исправлена ошибка преобразования из utf-8 нулевых строк
  • Устранена гигантская утечка памяти при некоторых случаях использования LIMIT
  • Рефакторинг классов базы данных и запросов, с целью облегчения использования их в других компонентах
  • Из соображений производительности восстановлены типизации :ВидДокумента и :ВидДокументаПредставление
  • Из соображений производительности добавлены типизации :ВидСубконто и :ВидСубконтоПредставление

1.0.1.9

  • - Сделано принудительное округление чисел при типизации :Число, тк получатели результата (кроме ТаблицыЗначений) сами этого не делают.
  • Исправлена работа типизации при обработке NULL значений, тк получатели результата (кроме ТаблицыЗначений) сами этого не делают.
  • Изменена логика работы с Begin/EndReadSequnce. В немонопольном режиме падение производительности, зато не падает.
  • Добавлен метод SQLiteQuery::ОбработатьТекстЗапроса
  • Добавлено свойство SQLiteQuery::ВыполнятьВТранзакции
  • Исправлена ошибка программы при подключении таблиц шапки документа, не имеющего реквизитов шапки.
  • Исправлена ошибка при выборке из таблиц 1С, иногда могущая привести к зависанию программы.
  • Добавлено подключение таблиц ЖурналовРасчетов ДБФ версии 1С.
  • Исправлена укладка списка объектов при наличии иерархии - неверно укладывались объекты, содержащие в идентификаторе русские буквы (распределенка с русским префиксом ИБ).
  • Добавлен объект SQLiteDataProvider - поставщик данных табличного поля 1С++ для таблиц sqlite и таблиц 1С DBF-версии.

1.0.2.0 bugfix 2

  • SQLite обновлен до релиза 3.6.11
  • Добавлена способность ПоставщикаДанных динамически менять текст запроса, если некоторые поля не нужны табличному полю для отображения
  • Добавлена возможность быстрого поиска для поставщика данных
  • Исправлена ошибка выборки данных при некоторых условиях (where date <= '09или19или29.месяц.год' order by date desc)
  • Убрана странная ошибка при попытке подготовить запросы с текстом запроса длиннее 972 символов.
  • Порядок сортировки в 'collate _1C' сделан точно соответствующим порядку сортировки в дбф-файлах 1С.
  • Изменены методы:
    • SQLiteDataProvider::УстановитьТекстЗапроса
    • SQLiteDataProvider::Отладка
  • Добавлены методы:
    • SQLiteDataProvider::НеУдалятьПоля
    • SQLiteDataProvider::ПоляБыстрогоПоиска
    • SQLiteDataProvider::ПолучитьТекстЗапроса

 1.0.2.2

  • SQLite обновлен до релиза 3.6.18

1.0.2.3

  • SQLite обновлен до релиза 3.6.22
  • Исправлена ошибка автоподключения таблиц 1С, названия которых начинаются с подчеркивания
  • Доработано автоподключение таблиц 1С, теперь можно просто указывать имя таблицы, заключенное в [].
  • Изменен алгоритм выгрузки результата запроса в СписокЗначений.   

См. также

SALE! 10%

Перенос данных из 1С:Бухгалтерия 7.7 в БП 3.0. Переносятся остатки, документы и справочники

Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v7.7 Платформа 1С v8.3 1С:Бухгалтерия 7.7 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Бухгалтерия 7.7 в БП 3.0 | Продукт является развитием и исправлением ошибок стандартной обработки для выгрузки данных из 1С Бухгалтерии 7.7 в Бухгалтерию 3.0 | Предоставляем техподдержку | Обновляем на новые релизы 1С | Перенос из 7.7 является сложным, и на рынке сложно найти специалистов 1С по "семерке" - наши сотрудники помогут вам выполнить переход в рамках техподдержки предлагаемого переноса данных!

50722 45650 руб.

26.05.2020    33915    10    67    

16

HTTP сервер 1С 7.7 + HTTP асинхронный клиент: внешние компоненты для 1С 7.7

Разработка внешних компонент WEB-интеграция Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и даже, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя компоненту HTTP_Async или синхронный клиент HTTP для 1С 7.7 (публикация № 1152364) можно наладить обмен данными между удаленными информационными базами. С помощью компоненты HTTP_Async можно параллельно посылать много запросов к сайтам, веб-сервисам (в т.ч. к HttpSrv7), а затем обрабатывать данные по мере их поступления.

2000 руб.

27.05.2022    7811    20    13    

31

Загрузка документов в 1С (7.7) из табличных файлов Excel,OpenOffice,1C,DBF,TXT (обработка)

Файловый обмен (TXT, XML, DBF), FTP Загрузка и выгрузка в Excel Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Обработка решает поставленную задачу по вводу документов, а кроме того обладает важной функцией: настраивается на ассортимент конкретного поставщика, запоминая соответствие между его номенклатурой и «нашей». Т.е. фактически – является самообучающейся системой ввода накладных. У разных поставщиков могут быть накладные различного типа, с разным количеством полей, поэтому для каждого из них может быть сохранена своя собственная настройка диалоговой формы так, что любая поступающая накладная может быть обработана. По отношению к программе "1С:Предприятие 7.7" данное решение является внешними файлами. Для использования данного продукта не требуется вносить изменения в алгоритм существующих программ или используемых конфигураций.

2400 руб.

10.12.2009    76459    58    93    

68

Компонента ExchangeStruc (Структура Обмена). Прямой обмен данными между потоками, сессиями и окнами.

Разработка внешних компонент Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Россия Платные (руб)

Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных данных, в режиме Реального времени между разными контекстами (формами) или потоками одного процесса. В перспективе функционал будет расширен для обмена между процессами, даже разных версий платформ. Совместим с версиями Windows рабочих станций и серверов, с платформами 1С разных версий и релизов в режиме Native начиная с 8.2, и в режиме COM начиная с версий 7.7. По скорости чтения и записи лишь немногим уступает стандартной структуре 1С. НОВОЕ: Добавлен функционал регистрации компоненты COM в качестве OLE Auto (COMОбъект) для поддержки её работы в серверах старых версий 1С: 8.0 и 8.1, где работа с компонентами исключена. Теперь можно коммуникацию с Фоновыми заданиями на этих версиях проводить.

7200 руб.

19.04.2023    4799    1    0    

3

Робот-загрузчик и архив документов. Распознавание/загрузка сканов документов в 1С8(7.7), архив сканированных документов.

Файловый обмен (TXT, XML, DBF), FTP Учет документов Распознавание документов и образов Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Конфигурации 1cv7 Россия Платные (руб)

Программный комплекс способный распознавать сотни листов за раз любых сканированных(фото) документов (УПД, ТОРГ12, СФ, паспорт и пр.) и загружать их в любую 1С (БП3.0, УТ, КА, УНФ, УПП, 1С7.7 ТиС, ЗУП3 и пр.), а также формировать архив сканированных документов.<br> Робот применяет до 5 способов распознавания. Максимальное качество загрузки документов из бесплатных OCR. Работает без Интернета.

10800 руб.

13.10.2022    7859    1    12    

9

Выбор из большого списка (для 1С 7.7)

Разработка внешних компонент Платформа 1С v7.7 Платные (руб)

Компонента для выбора значения из больших списков значений.

1200 руб.

02.12.2021    5777    2    19    

4

Выгрузка УПД И УКД в формате ЭДО для Бухгалтерии 7.7 (ПУБ 7.7, УСН 7.7, ТиС 7.7, Комплексной 7.7)

Файловый обмен (TXT, XML, DBF), FTP ЭДО и ОФД Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Торговля и склад 7.7 1С:Бухгалтерия 1.6 1С:Упрощенное налогообложение 7.7 Россия Бухгалтерский учет Абонемент ($m)

Обмениваемся УПД (УКД) с различными контрагентами через СБИС. А чтобы загрузить УПД (УКД) из 7.7 в Сбис, используем данную обработку, которая создает файл в формате XML, который можно импортировать в систему электронного документооборота. Для конфигурации "Бухгалтерский учет" (тестировалась на релизе 7.70.663) Для конфигурации "Упрощенная система налогообложения" ( тестировалась на релизе 7.70.305) Для конфигурации "Торговля и Склад 7.7" (тестировалась на релизе 7.70.1007)

1 стартмани

31.07.2021    14755    204    AndKovalchuk    38    

15

JSON: Туда и Обратно

Внешние источники данных Платформа 1С v7.7 Конфигурации 1cv7 Украина Абонемент ($m)

Рабочий механизм чтения/записи строк в формате JSON для 1С 7.7. Тестировалось на релизах 7.70.25 и 27.

1 стартмани

16.12.2019    21944    60    Volvo32    33    

25
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
80. CheBurator 3119 29.06.08 00:51 Сейчас в теме
Ну, просто все молодцы!
81. CheBurator 3119 29.06.08 03:10 Сейчас в теме
Только что родилось мега-предложение по функционалу.. и тут я задумался... - а неужели orefkov глупее меня...? ;-) смотрю - нет! есть! есть "Укладка в базу данных SQLite ТаблицЗначений".... оле-оле-оле-оле! теперь можно из файла загнать в ТЗ и применить сабж! (и так хитро с ленинским прищуром: а есть ли возможность загнать в базу данных SQLite текстовый файл с разделителями напрямую, без промежуточного чтения в ТЗ...?
88. lustin 30.06.08 13:22 Сейчас в теме
(81)
импорт файлов возможен с помощью консольной программы sqlite (http://www.sqlite.org/cvstrac/wiki?p=ImportingFiles)
но этот способ не очень красив так как для этого придется предварительно создать таблицу с нужной структурой

я могу предложить способ который использую я при работе с файлами типа csv

Код
_итз.ИзФайла(ИмяФайлаДанынх,4);
_итз.Выгрузить(тзДляУкладки);
Показать полностью


ИндексированнаяТаблица очень быстро работает на загрузку данных из csv
84. Свой 164 29.06.08 16:56 Сейчас в теме
никак не получается использовать типизацию Субконто :(
91. orefkov 1152 30.06.08 16:24 Сейчас в теме
96. Свой 164 01.07.08 01:32 Сейчас в теме
(91) весь лоб себе уже расшиб, не получается субконто, вот один из кодов запроса
select
SC0 [Мат_вид:Справочник.Материалы],
SC0 [мат:Субконто], obdt1,
SC1
from Остатки
where accid = ' N' and DATE = 20060101

как получить колонку с материалами ?
97. orefkov 1152 01.07.08 08:20 Сейчас в теме
(96)
Для типизации Субконто в колонках запроса должно присутствовать поле ИмяПоляССубконто_вид, содержащее вид субконто. те
select
SC0 [мат:Субконто],
VSC0 [мат_вид]
obdt1,
SC1
from Остатки
where accid = ' N' and DATE = 20060101

100. Свой 164 01.07.08 10:13 Сейчас в теме
(97), (99) Спасибо большое, работают оба примера, причем
вариант (99) где substr(SC0, 1, 9) работает быстрее, судя по обращениям к винту в этом варианте запрос к меньшему количеству таблиц происходит
101. orefkov 1152 01.07.08 10:30 Сейчас в теме
(100)
Не, там типизация гораздо быстрее происходит.
Однако повторюсь, такую типизацию можно применять, только если
1. Вы точно уверены, что в SC0 будут всегда значения одного, нужного вам вида субконто. (например, у вас есть фильтр по конкретному счету)
2. Тип значения этого вида субконто - справочник, документ конкретного вида.
(Если тип значения этого вида субконто - просто справочник, документ (без указания вида), тогда можно использовать типизацию
SC0 [Субк1 :Справочник]
SC0 [Субк1 :Документ]
те поле не обрезать до 9 символов, типизировать тоже справочником, документом без указания вида)
99. orefkov 1152 01.07.08 08:27 Сейчас в теме
(96)
Так же, если точно известно, что в полученной выборке будут только субконто одного вида (как в твоем примере), то можно написать и так:
select
substr(SC0, 1, 9) [Мат_вид:Справочник.Материалы],
obdt1,
SC1
from Остатки
where accid = ' N' and DATE = 20060101
В данном случае - под поле субконто 1С отводит строку 13 символов.
Но если тип значения субконто - справочник конкретного вида, она в эти 13 символов пишет внутренний идентификатор элемента без указания вида справочника, те использует только 9 символов.
Типизация :Справочник.Материалы ожидает именно строки длинной 9 символов, и если колонка 13 символов, не делает типизацию.
85. angro 29.06.08 21:48 Сейчас в теме
"Факт подключения виртуальной таблицы фиксируется в базе SQLite. Поэтому повторное создание таблицы с таким же ЖелаемоеИмяТаблицы не получится. " - то есть если запустить 2-е копии 1с-ки, то работать не будет? или для каждой 1с-ки свой экземпляр базы будет?
86. JohnyDeath 301 29.06.08 22:36 Сейчас в теме
(85) В каждой сессии 1С ты создаёшь свой экземпляр класса "SQLiteBase", поэтому у всех базы SQLite "как бы" разные.
87. orefkov 1152 30.06.08 09:26 Сейчас в теме
(85)
+ 86 - более того, факт подключения таблиц фиксируется отдельно для каждой открытой базы SQLite.
То есть даже если в одной сессии 1С открыть две разные базы SQLite, набор подключенных таблиц у каждой свой.
(82)
Ничего вроде не мешает скачать исходники, собрать отладочную версию и проверить.
90. hogik 443 30.06.08 15:17 Сейчас в теме
(87)
“Ничего вроде не мешает скачать исходники, собрать отладочную версию и проверить”
Правильно ли я понял Ваш ответ, что Вас не интересует “продвижение” 1SQLite в направлении клиент/серверной технологии с использованием моей разработки?
92. orefkov 1152 30.06.08 16:31 Сейчас в теме
(90)
Дико извиняюсь. Пока на это нет времени.
По 1sqlite у меня есть планы по ближайшему развитию, возможно, после их реализации будет движение и в сторону твоей разработки.
Однако лицензия GPL, под которой выпущена 1sqlite ничуть не мешает начать делать эту работу тебе.
Если есть какие-то непонятные моменты в моем коде, я всегда готов помочь разобраться.
Abadonna; +1 Ответить
93. hogik 443 30.06.08 18:00 Сейчас в теме
(92)
“Пока на это нет времени”
Наверно мне придется ждать.
Т.к. “лицензия GPL, …ничуть не мешает начать делать эту работу...”, но не очень то и помогает. Т.е., притом, что Вы планируете движение в сторону клиент/серверной технологии, заниматься мне самодельщиной, думаю, не стоит. А заняться ошибкой было бы вполне реально. Но…
fatal error RC1015: cannot open include file 'l.rus\afxres.rc'
Чего я делаю не так?
94. hogik 443 30.06.08 22:30 Сейчас в теме
+(93)
Александр.
Мне удалось собрать отладочную версию. Ошибка найдена: recordBuffer().
При таком подходе к использованию интерфейса DBEng32 Ваша разработка не будет работать с моими разработками. Т.е. работать надо только через штатные методы и свойства этого интерфейса. Чего бум делать? Или не делать…
112. orefkov 1152 01.07.08 16:23 Сейчас в теме
(94)
Ну, для начала надо иметь список методов, которые подменяет твоя разработка, то бишь какими именно штатными методами и свойствами dbeng32 можно оперировать.
Тогда будет возможна разработка универсальной 1sqlite.
89. lustin 30.06.08 13:34 Сейчас в теме
102. Свой 164 01.07.08 11:04 Сейчас в теме
хотел фильтровать по счету - добавил в запрос подставлять запрос.Подставлять("accid", " N");
запрос выдает лишние счета - 01, налоговые счета, причем в некоторых строках со счетом "01"типизировался материал
аналогичные результаты при случае запрос.Подставлять("accid", СчетПоКоду(10.1,"Основной"));
105. orefkov 1152 01.07.08 11:44 Сейчас в теме
(102)
Так работает?
Код
ТекстЗапроса = "select 
|substr(SC0, 1, 9) [Мат_вид:Справочник.Материалы],
|obdt1,
|SC1
|from __1S_BKTTL Остатки
|where accid = :выбСчет and DATE = :выбДата";
запрос.Подставлять("выбСчет", СчетПоКоду("10.1", "Основной");
запрос.Подставлять("выбДата", '01.01.2006');
тз = запрос.ВыполнитьЗапрос(ТекстЗапроса);
Показать полностью

103. JohnyDeath 301 01.07.08 11:15 Сейчас в теме
104. JohnyDeath 301 01.07.08 11:16 Сейчас в теме
+ steban выложил класс "БухЗапрос" для 1sqlite http://www.1cpp.ru/forum/YaBB.pl?num=1214687800/0 , может что-нибудь подчерпнёшь для себя.
118. CheBurator 3119 01.07.08 20:28 Сейчас в теме
ух.. просто праздник какой-то.. читаю прям как дюдюктив...
119. hogik 443 01.07.08 20:34 Сейчас в теме
118)
“читаю прям как дюдюктив”
Скоро, скоро всё станет понятно и не интересно. ;-)
120. orefkov 1152 02.07.08 18:26 Сейчас в теме
Вышла 1.0.1.8

- Исправлена ошибка обработки NULL значений.
- Исправлена ошибка преобразования из utf-8 нулевых строк
- Устранена гигантская утечка памяти при некоторых случаях использования LIMIT
- Рефакторинг классов базы данных и запросов, с целью облегчения использования
их в других компонентах
- Из соображений производительности восстановлены типизации :ВидДокумента и
:ВидДокументаПредставление
- Из соображений производительности добавлены типизации :ВидСубконто и
:ВидСубконтоПредставление

Брать http://code.google.com/p/sqlite1c/downloads/list

Если используете подзапросы с limit, качать ОБЯЗАТЕЛЬНО!!!
124. hogik 443 04.07.08 01:36 Сейчас в теме
Александр.
Привожу числа аналогичные Вашим замерам. И не с целю обсуждения “SQL или не SQL”. А как пример безграмотно выполненного тестирования. Обращаю ваше внимание на первые две строчки в каждой группе замеров. Если у Вас появится желание действительно сравнивать производительности наших решений, то давайте обсудим технические условия его проведения. Если Вас заинтересует пояснение данных чисел – задавайте мне вопросы.

1SQLite
Время выполнения запроса: 49 Строк получено: 53
Время выполнения запроса: 3 Строк получено: 53
Время выполнения запроса: 4 Строк получено: 53
Время выполнения запроса: 3 Строк получено: 53
Время выполнения запроса: 3 Строк получено: 53

Advantage 8.1
Время выполнения цикла: 93 Строк получено: 53
Время выполнения цикла: 31 Строк получено: 53
Время выполнения цикла: 31 Строк получено: 53
Время выполнения цикла: 31 Строк получено: 53
Время выполнения цикла: 31 Строк получено: 53

CodeBase 6.5
Время выполнения цикла: 28 Строк получено: 53
Время выполнения цикла: 25 Строк получено: 53
Время выполнения цикла: 25 Строк получено: 53
Время выполнения цикла: 26 Строк получено: 53
Время выполнения цикла: 26 Строк получено: 53
125. hogik 443 04.07.08 14:56 Сейчас в теме
+(124)
Александр.
А вот так выглядят замеры, если клиента запускать в виртуальной машине, а базу и сервер БД разместить на реальной машине. Но это тоже безграмотное выполнение теста.

1SQLite
Время выполнения запроса: 151 Строк получено: 53
Время выполнения запроса: 113 Строк получено: 53
Время выполнения запроса: 98 Строк получено: 53
Время выполнения запроса: 100 Строк получено: 53
Время выполнения запроса: 99 Строк получено: 53

Advantage 8.1
Время выполнения цикла: 114 Строк получено: 53
Время выполнения цикла: 67 Строк получено: 53
Время выполнения цикла: 70 Строк получено: 53
Время выполнения цикла: 73 Строк получено: 53
Время выполнения цикла: 67 Строк получено: 53
126. CheBurator 3119 05.07.08 14:11 Сейчас в теме
ниччего не понимаю....
ии попутоно
> "“почему ж на самом деле тормозит 1С:Предприятие” при использовании в качестве написания движка для 1С языка запросов." - ???
127. Abadonna 3958 05.07.08 14:30 Сейчас в теме
(126) мы, видать, дурачки с тобой ;) я вот тоже думаю при написании какого движка и каких запросов используется 1С?
128. hogik 443 05.07.08 15:23 Сейчас в теме
(126)(Сhe Burashka)
“ниччего не понимаю....”
И это радует, т.к. всё понимают только дураки ;-)
Краткое содержание данной темы: “Выяснено, что в Windows, таки, используется кэширование для операций ввода/вывода. И для локальных дисков эффективнее чем, при обращении к дискам через сеть”.
“почему ж на самом деле тормозит”
Одной фразой – реализуют навигационный способ обработки информации запросами.
В “1С:Предприятие 7.7” схема базы данных, алгоритмы обработки данных и язык разработки приложений ориентирован на навигационный способ обработки информации. Причины появления SQLной версии 1Са – клиент/сервер. А клиент/серверных СУБД с языком манипулирования данными отличным от SQL очень мало. Для того чтобы 1С 7.7 эффективно работала на движке с языком манипулирования данными подобным SQLю надо иметь другую схему базы данных, другие алгоритмы обработки данных и другой язык разработки приложений. Т.е. иметь другую 1С.
Вот пара ссылок, в которых есть немного общей информации по этому вопросу. Т.е. прошу не рассматривать эту информацию конкретно как “про Advantage и DBFы”. В контексте этого материала имеет смысл понимать под DBF сам метод доступа к данным – навигационный. Тем более что это уже и не DBFы.
http://www.hotsoft.ru/ADS/ads_faq.html
http://www.hotsoft.ru/ADS/index.htm
129. vip 05.07.08 19:26 Сейчас в теме
Ув. hogik!

Не хотел вмешиваться.

И я уже “ниччего не понимаю....”
Интуитивно понимая невероятную полезность Вашей разработки, я тщетно ищу жемчужное зерно.
Можно изложить то же самое, но избавившись от логореи?
Из результатов тестов я почерпнул пока только намеки на то, что в SQL первый запрос почти всегда выполняется дольше, чем последующие.
И?
Объясните наконец, в чем сермяжная правда вашего решения?
Понимая, что трогаю Вас за святое, спрошу - как случилось так, что разработки Александра используют многие тысячи людей? А Ваши?
Не обижайтесь, я себя дурачком не считаю и хочу четко и ясно увидеть изюминку.
Бесплатность, скорость, стабильность, отзывы пользователей.
В начале презентации проекта стороннюю заинтересованность видел. Сейчас нет.
???
Примером для разработчиков и пользователей считаю сайт 1С++.
Конструктивная, доброжелательная и очень эффективная по результатам атмосфера.

P.S. Еще раз прошу не обижаться.
Просто тону в потоке мутных сентенций.
slavapil; JohnyDeath; +2 Ответить
130. hogik 443 05.07.08 21:58 Сейчас в теме
(129)(vip)
“Интуитивно понимая невероятную полезность Вашей разработки, я тщетно ищу жемчужное зерно.”
Уточните, пожалуйста, что Вы в данной теме называете моей разработкой?
“Из результатов тестов я почерпнул пока только намеки на то, что в SQL первый запрос почти всегда выполняется дольше, чем последующие.”
Совершенно верно. И не только в SQL (понимая в разработке 1SQLite).
“И?”
Перечитайте в сообщение (123) первый абзац. Далее посмотрите на замеры в (121), при этом не важно в рамках какой разработки они проводились. А в (124) я пояснил своё высказывание из сообщения (123), проведя безграмотный тест. Далее я написал в (128) суть того, что мы наблюдаем. Т.е. причиной быстрого выполнения НЕ первого цикла любого тестирования по сравнению с первым является системный кэш операционной системы. Только в (121) этот первый цикл (наполнение кэша) произошло при выполнении “запроса” родными средствами 1Са. А в (124) заполнение кэша происходит при выполнении “запроса” сравниваемых способов выборки данных. Т.е. если переставить тесты местами и выполнить их после перезагрузки системы то соотношение 325:2 или 367:30 изменится. И не между сравниваемыми решениями, а в рамках замеров для каждого решения. Уменьшить влияние кэша на “точность” замеров можно запустив тесты в виртуальной сети. Что показано в (125) сообщении. Но все эти замеры в части сравнения разных решений безграмотны, что сказано в сообщении (121) начиная с текста “Заставить заработать AddIn.AddInExt и 1sqlite в одной базе…”. Добавлю только от себя к фразе от Александра “и на разных движках”.
“Объясните наконец, в чем сермяжная правда вашего решения?”
Повторю свой вопрос. Что Вы называете моим решением?
“Понимая, что трогаю Вас за святое…”
Если понимаете, то не трогайте. ;-)))
“…спрошу - как случилось так, что разработки Александра используют многие тысячи людей? А Ваши?”
Я не понимаю этот вопрос. Т.е. не в смысле того, что Вы написали. А в смысле того - почему Вы это написали. У Вас сложилось впечатление, что мы какие то разработки сравниваем? Или, что я критикую разработку Александра? На самом деле я высказал своё мнение в (23) по поводу сообщения (19) от Сергея. Т.к. несколькими днями раньше разговаривали на эту тему. Я даже ссылку поставил. Далее я запустил трассировку операций ввода/вывод средствами своей разработки и в (27) подтвердил свое предположение. Ну а далее по теме, Александр ставил мне задачки – я писал решения. Александр задавал мне вопросы, я отвечал.
“Не обижайтесь, я себя дурачком не считаю и хочу четко и ясно увидеть изюминку.”
”Бесплатность, скорость, стабильность, отзывы пользователей.”
”В начале презентации проекта стороннюю заинтересованность видел. Сейчас нет.”
Если Вы о навигационном способе доступа к данным. То все нарисовано в (46). Если о чем-то другом, то уточните, пожалуйста.
“Примером для разработчиков и пользователей считаю сайт 1С++.”
”Конструктивная, доброжелательная и очень эффективная по результатам атмосфера.”
Согласен. Хорошая атмосфера.
“Просто тону в потоке мутных сентенций.”
И я тону. И как это поправить?
131. Abadonna 3958 06.07.08 05:21 Сейчас в теме
(129)>“Понимая, что трогаю Вас за святое…”
hogik, за святое только женщинам позволяй трогать! :)))
132. hogik 443 06.07.08 14:26 Сейчас в теме
(131)(Abadonna)
“за святое только женщинам позволяй трогать”
С возрастом “святое” перемещается в другие части тела. ;-) А это место открыто для доступа всем желающим. :-(
133. Abadonna 3958 06.07.08 15:48 Сейчас в теме
(132) >С возрастом “святое” перемещается в другие части тела.
Чорт возьми! У меня в 50 так и не переместилось.
279. sss999 48 17.05.16 13:40 Сейчас в теме
(129) vip, про какое решение речь?
134. CheBurator 3119 07.07.08 08:02 Сейчас в теме
такс... надо перечитывать весь сабж...
135. hogik 443 07.07.08 14:39 Сейчас в теме
(134)( Сhe Burashka)
“... надо перечитывать весь сабж...”
Сергей.
Попробую поберечь Ваше время.
1) Используется DBFная версия 1Са. Всех, всё это устраивает, кроме скорости работы. Тогда используйте 1SQLite.
2) Работа в DBFной версии не устраивает. Задумываетесь о переходе на SQLную версию. Тогда переходите на нее и пишите прямые запросы с помощью 1С++.
3) Работа в DBFной версии не устраивает. Задумываетесь о переходе на SQLную версию. Но писать прямые запросы не хотите. Тогда попробуйте связку “DBEng32+Advantage”.
4) Попробовали “DBEng32+Advantage” – устраивает. Но хотите писать прямые запросы. Тогда пишите прямые запросы на 1SQLite. Если будет обеспечена совместимость данных продуктов.
5) Если совместимость не будет обеспечена. А прямые запросы из 1SQLite Вы хотели писать для повышения производительности уже связки “DBEng32+Advantage” то используйте ДУС и РУС из моей разработки.
noprogrammer; +1 Ответить
136. Abadonna 3958 07.07.08 14:56 Сейчас в теме
(135) тогда переходите на нее и пишите прямые запросы с помощью 1С++.
Прямые запросы я запросто пишу и без всяких 1С++.
Например вот тут: http://infostart.ru/profile/1329/projects/746/
137. hogik 443 07.07.08 15:03 Сейчас в теме
(136)(Abadonna)
“пишу и без всяких 1С++.”
Да. Но см. сообщение (4) по данной ссылке. Хотя, это дело вкуса ;-))
138. JohnyDeath 301 07.07.08 15:08 Сейчас в теме
(136) Аркадий, ну сколько можно давить на 1с++, а?! ))
Вот напиши такой запрос (в терминах 1с++, но думаю, что всё понятно):

SELECT
$Сотрудники.ПолнНаименование
,$Сотрудники.Оклад
,$Сотрудники.id [Сотрудник $Справочник.Сотрудники]
FROM $Справочник.Сотрудники Сотрудники
WHERE Сотрудники.ДатаРождения BETWEEN :НачДата и :КонДата

потом сравни с этим. Что лучше читается? Думаю, что ответ очевиден.
А если ты со своим запросом пойдёшь на другую базу? Заново писАть?
141. Abadonna 3958 07.07.08 18:59 Сейчас в теме
(138)>Аркадий, ну сколько можно давить на 1с++
Я разве давлю? Просто ненавижу "эклектику". Всегда бесило, например, Spr=CreateObject("Справочник.Сотрудники")
Поэтому не шибко нравится и FROM $Справочник.Сотрудники
Но это дело вкуса.
Потом я совершенно точно знаю, что делает прямой скуль, и не знаю как там разбирается с запросом 1С++...
143. vip 07.07.08 19:23 Сейчас в теме
(141) 1C++ разбирается с запросом монопенисульно с чистым скулем. Тока удобней.
Бля (извините).
144. Abadonna 3958 07.07.08 19:26 Сейчас в теме
(143) А на (142) что ответишь?
142. Abadonna 3958 07.07.08 19:03 Сейчас в теме
(138)>А если ты со своим запросом пойдёшь на другую базу?
А если я зайду в базу, где нет 1CPP.DLL? И нет интернета, чтобы скачать?
А если владелец той, другой базы ваще принципиальный противник всяких там dll?
145. vip 07.07.08 19:29 Сейчас в теме
(142) > А если я зайду в базу, где нет 1CPP.DLL? И нет интернета, чтобы скачать?
А ты там больше не ходи... Очаровашка...
139. vip 07.07.08 18:12 Сейчас в теме
(135) Ув. hogik!
Вот теперь полносью удовлетворен ответом. Достаточно коротко и ясно. Спасибо.
Жаль, но для меня работа с dbf не совсем актуальна, иначе постарался бы тему развить.
В сетях с количеством юзеров больше трех стараюсь склонить заказчика на sql. Оно того стоит.
Удачи!
140. hogik 443 07.07.08 18:41 Сейчас в теме
(139)(vip)
“В сетях с количеством юзеров больше трех стараюсь склонить заказчика на sql.”
Загляните в пункт № 7 сообщения (26) данной темы. Т.е. про DBFы это не ко мне.
И Вам спасибо, и удачи.
149. CheBurator 3119 07.07.08 22:35 Сейчас в теме
146. vip 07.07.08 19:31 Сейчас в теме
147. Abadonna 3958 07.07.08 19:32 Сейчас в теме
Между дрочим, еще до появления CPP я написал обработочку, которая ночью спокойненько парсила DDS, и создавала вьюхи на все справочники и документы (с учетом того, что за день могли поменяться метаданные)
Так что меня FROM $Справочник.Сотрудники не шибко удивишь ;)
148. hogik 443 07.07.08 21:06 Сейчас в теме
Всё! Я ухожу на пенсию. :-( Долго пытался вспомнить, что означает слово “монопенисульно ” применительно к СУБД. ;-)
150. vip 08.07.08 08:29 Сейчас в теме
151. Abadonna 3958 08.07.08 09:13 Сейчас в теме
(148) >( Долго пытался вспомнить, что означает слово “монопенисульно ”
Оно как раз монопенисульно подходит практически ко всем понятиям, в т.ч. и к СУБД :)))))))))))))))))
152. hogik 443 10.07.08 01:04 Сейчас в теме
153. hogik 443 14.07.08 20:48 Сейчас в теме
Возникает ошибка при работе в многопользовательском режиме.
В момент выполнения запроса блокируются, некоторые, таблицы БД. Если в другой сессии 1Са будет выполняться попытка обновления таблицы, участвующих в запросе, то эта сессия завершится аварийно с кодом ошибки “CodeBase –56” после ожидания, примерно, 60 секунд.
Свой; +1 Ответить
154. Свой 164 14.07.08 23:52 Сейчас в теме
(153) т.е. ошибка в "родной" 1С другого сеанса будет если данная сессия "недождется" освобождения таблицы на запись в течение 60секунд ? эти 60 секунд как-то коррелируют с устанавливаемым параметром "время ожидания захвата таблиц" ?
155. hogik 443 15.07.08 00:09 Сейчас в теме
(154)(Свой)
“т.е. ошибка в "родной" 1С другого сеанса будет если данная сессия "недождется" освобождения таблицы на запись в течение 60секунд ?”
Да.
“эти 60 секунд как-то коррелируют с устанавливаемым параметром "время ожидания захвата таблиц" ?”
Нет.
P.S. Причина известна. От неё можно избавиться. Слово за автором разработки.
157. JohnyDeath 301 15.07.08 09:17 Сейчас в теме
(153) Чтоб не забылось, оформи, пожалуйста, здесь: http://code.google.com/p/sqlite1c/issues/list
158. hogik 443 15.07.08 18:12 Сейчас в теме
+(153)
При возникновении ошибки описанной в (153) сообщении, похоже, всё гораздо хуже, чем простое сваливание сессии 1С-а!
Примерно так:
При выдаче команд на обновление данных в CodeBase через DBEng32, 1С-ина не всегда проверяет код возврата. И сообщение об ожидании может не выдаваться. Просто часть команд по обновлению данных, молча, не выполняется. А когда доходит дело до выполнения команд, где 1С-ина проверяет код возврата – появится картина, описанная в (153) сообщении.
159. hogik 443 15.07.08 23:07 Сейчас в теме
+(158)
Добавлю.
Т.е. база данных будет портиться, даже если не появится сообщение об аварийном завершении сессии.
184. rovix 12.09.08 18:53 Сейчас в теме
долго курил данную тему.
очень расстроился после сообщения hogik`a об ошибке (153)
однако теплится надежда на то, что я не совсем верно понял ситуацию :)
Уважаемый hogik разъясните пожалуйста, базы портятся при совместном использовании codebase и запросов 1sqlite или при использовании 1sqlite со стандартным движком 1с?
185. hogik 443 12.09.08 19:17 Сейчас в теме
(184)(rovix)
1) Стандартный движок 1С – CodeBase. Не путайте с разработкой “DBEng32 для CodeBase 6.5”.
2) База данных портится при использовании стандартного движка 1С.
3) В версии 1SQLite (1019) проблема решена – см. форум по 1С++.
4) В версии 1SQLite (1018) проблема решена – см. разработку http://infostart.ru/profile/2905/projects/2308/
156. orefkov 1152 15.07.08 08:48 Сейчас в теме
Автор не может свое слово, так как в отпуске до 01.08
160. Свой 164 16.07.08 11:48 Сейчас в теме
(160) жесть...выходить нельзя пользоваться sqlite1c в многопользовательке ? или может в момент запроса sqlite1c пробовать транзакцией блокировать необходимые таблицы ?
161. hogik 443 16.07.08 14:23 Сейчас в теме
(160)
“выходить нельзя пользоваться sqlite1c в многопользовательке ?”
В текущей версии – не рекомендую.
“или может в момент запроса sqlite1c пробовать транзакцией блокировать необходимые таблицы ?”
Т.е. не только проведение документов делать последовательно между пользователями, но и формирование отчетов. ;-))) Тем более, что это не поможет.
“жесть”
Думаю, в следующей версии Александр исправит эту проблему. Причина, то известна. И не требует больших переделок в разработке.
162. JohnyDeath 301 16.07.08 15:39 Сейчас в теме
hogik, а как по-простому повторить данное поведение?
1. В одной сессии выполняем запрос: "select * from Журнал"
2. В другой в это время выполняем код:
Код
 Док=СоздатьОбъект("Документ.Любой");
Док.Записать() 
Показать полностью

Готово. (главное, чтоб "Записать()" выполнялась в момент выполнения запроса)
Я правильно понял?
163. hogik 443 16.07.08 16:28 Сейчас в теме
(162)
Более очевидный способ – делать это на справочниках. Т.е. я брал запрос из http://infostart.ru/blogs/482/. А в другой сессии выполнял чтение, обновление, добавление, удаление записей. Я написал причину в: http://code.google.com/p/sqlite1c/issues/list , ID=10, последний абзац. И этот сбой соответствует принципам технологических блокировок при работе с DBFами. До недавних пор, просто, не было полной уверенности в том, что 1C-ина делает в этих методах. Теперь уверенность есть :-(((
164. CheBurator 3119 17.07.08 19:20 Сейчас в теме
..блин.. прямо триллер с лихо закрученным сюжетом... а сыщик - в отпуске.. я только собрался поточить..опять придется отложить...
165. hogik 443 17.07.08 21:05 Сейчас в теме
Заблокировал использование методов, вызывающих ошибку в многопользовательском режиме.
Провел замеры скорости выполнения запросов в условиях, описанных в http://infostart.ru/blogs/482/.
Получил, время выполнения запроса 2500 секунд.
Это время мало отличается от времени выполнения данной задачи обычным циклом на штатном языке программирования. Т.е. основная причина быстрого выполнения запроса в 1SQLite, это использование методов движка не предназначенных для многопользовательской среды.
166. Chieftain 94 18.07.08 10:46 Сейчас в теме
Ну вот попробовал я получить ошибку. В разных сеансах был выполнен следующий код:
Процедура Сформировать()
Спр = СоздатьОбъект("Справочник.ТестВылетов");
Пока 1=1 Цикл
Спр.Новый();
Спр.УстановитьНовыйКод("фыв");
Спр.Наименование = Спр.Код;
Спр.Записать();
//Сообщить(Спр.Код);
КонецЦикла;
КонецПроцедуры
Процедура Сформировать()
База=СоздатьОбъект("SQLiteBase");
База.Открыть(":memory:");
Запрос = База.НовыйЗапрос();
Пока 1=1 Цикл
запрос.ВыполнитьЗапрос("SELECT * From Справочник_ТестВылетов",ТаблЗапроса);
//Сообщить(ТаблЗапроса.КоличествоСтрок());
КонецЦикла;
КонецПроцедуры

Что-то ошибок не выскакивает, база не рушится...
Навероное у меня руки не из того места растут
167. Chieftain 94 18.07.08 10:57 Сейчас в теме
+(166) Попробовал то же самое сделать немного иначе. В одной сессии идет запись, в нескольких других - выполняется запрос. Вылетов снова нет.
Научите меня валить 1С-ку, плиз
171. hogik 443 18.07.08 15:47 Сейчас в теме
(166)(Chieftain)
“Навероное у меня руки не из того места растут”
Думаю, не руки, а глаза.
В (153) написано “…после ожидания, примерно, 60 секунд”. Т.е. это означает, что запрос должен выполняться большее время. А еще можно посмотреть на замеры в http://infostart.ru/blogs/482/ для 1SQLite увидеть там время около 180 секунд. Имеет смысл посмотреть, там же, размеры файла DBF и количество записей. Не думаю, что Ваш запрос отбирает 510426 записей в таблицу значений. ;-)
168. JohnyDeath 301 18.07.08 11:20 Сейчас в теме
Тоже проверил у себя по методике Chieftain'a, "усложнив" запрос:
Select sum(Количество) FROM Справочник_Новый1 Новый1 Where Новый1.Количество>=0
две сессии колбасились около 5 минут. Ниодного вылета! Что я делаю не так?
169. hogik 443 18.07.08 13:43 Сейчас в теме
(166-168)
Для того, что бы увидеть сбой надо проводить тестирования в сети.
Или хотя бы в “MS Virtual PC”.
Т.е. надо дать задачам выполняться параллельно. ;-))))))
170. hogik 443 18.07.08 14:12 Сейчас в теме
Для сомневающихся в наличии сбоя смотрите в конце статьи снимок экрана.
http://infostart.ru/blogs/482/
172. hogik 443 30.07.08 23:54 Сейчас в теме
Похоже, что возникновение ошибки “CodeBase –56” удаётся устранить без потери в скорости выполнения запроса. Я это сделал в DBEng32 (для родных DBFов), но это легко можно перенести в 1SQLitte. Ждем Александра… :-)))
173. CheBurator 3119 31.07.08 01:46 Сейчас в теме
ага.. вот она типа истина...
174. Свой 164 31.07.08 12:05 Сейчас в теме
тестировал 1sqlite в условиях сетевой работы на машинах Win XP.
При обращении к таблицам с данными по сети судя по скорости компонента полностью перекачивает таблицу и скорость обработки запроса сравнима с прямым запросом через Microsoft Visual FoxPro Driver или Microsoft.Jet.OLEDB.4.0 (я не использовал 1С++ а только вышеуказанные драйвера-провайдеры)
при локальном запуске 1sqlite примерно на ПОРЯДОК быстрее прямых запросов также запущенных локально
В качестве практической пользы пока реализовал "клиент-сервер" когда обработка на клиенте (сетевое подключение) отправляет сеансу на машине(хранилищу базы) запрос 1sqlite и обратно ей передается ТЗ с данными, работает шустро
JohnyDeath; hogik; +2 Ответить
175. JohnyDeath 301 31.07.08 12:11 Сейчас в теме
(174) В качестве практической пользы пока реализовал "клиент-сервер" когда обработка на клиенте (сетевое подключение) отправляет сеансу на машине(хранилищу базы) запрос 1sqlite и обратно ей передается ТЗ с данными, работает шустро
А можешь поподробнее? В блоге расписать. Очень интересно что, как и почему.
176. Свой 164 31.07.08 12:18 Сейчас в теме
(175) Спасибо, у меня нет опыта в написании в блогах, поэтому не могу обещать, но подумаю над статьей
177. JohnyDeath 301 31.07.08 12:28 Сейчас в теме
(176) ты просто вкратце напиши как у тебя это всё работает, а кому будет интересно - спросят подробнее.
178. hogik 443 31.07.08 15:08 Сейчас в теме
(174)(Свой)
“…реализовал "клиент-сервер"…”
Ставлю плюс на само сообщение, даже если не появится статья в блоге.
179. JohnyDeath 301 31.07.08 15:39 Сейчас в теме
Тоже поставлю, но всё-таки очень хочется увидеть реализацию. ;)
180. hogik 443 01.08.08 17:11 Сейчас в теме
В http://infostart.ru/profile/2905/projects/2308/ добавлено описание причины возникновения ошибки “CodeBase –56” и некоторые пути решения данной проблемы.
181. hogik 443 21.08.08 03:10 Сейчас в теме
В http://infostart.ru/profile/2905/projects/2308/ положил на пробу новую версию с “гибким” управлением методами Begin/EndReadSequence(). Подробнее см. описание к версии 7.0.0.3.
182. hogik 443 08.09.08 17:07 Сейчас в теме
Добавлены замеры для 1SQLite (1019) после исправления проблемы в многопользовательском режиме: http://infostart.ru/profile/2905/blogs/482/
183. hogik 443 11.09.08 19:17 Сейчас в теме
Добавлен замер времени выполнения цикла на штатном языке программирования с использованием транзакции: http://infostart.ru/profile/2905/blogs/482/
186. rovix 15.09.08 08:58 Сейчас в теме
2 hogik
спасибо, теперь понял
187. rovix 15.09.08 09:33 Сейчас в теме
Меня и смутило совпадение названий и там codebase и там codebase.
Но насколько я понял из http://infostart.ru/profile/2905/projects/2308/ использовать на промсчете данную разработку пока рисковано? А с другой стороны начальство остерегается пересаживать базу на CodeBase/Advantage поскольку тоже в обсуждениях высказывалось что-то негативное (или даже в самом описании ) и за это платить еще деньги.
Вообще-то у нас dbf база эксплуатируется в терминальном режиме? Подскажите как все-таки безопаснее ускорить работу?
Пока применили Вашу hogik разработку http://infostart.ru/profile/2905/projects/1725/ (kernel33) для снятия ограничения 1ГБ - давняя головная боль :( спасибо
189. hogik 443 15.09.08 13:51 Сейчас в теме
(187)(rovix)
1) “…использовать на промсчете данную разработку пока рисковано?” – Разработка “DBEng32 SEQ” не предназначена для “промсчета”.
2) “начальство остерегается пересаживать базу на CodeBase/Advantage” – И это естественно. У нас решение на “CodeBase 6.5” успешно работало ровно год. Сейчас, почти год, успешно работает решение на “Advantage 8.1”.
3) “тоже в обсуждениях высказывалось что-то негативное” – Что?
4) “Подскажите как все-таки безопаснее ускорить работу?” – Самое безопасное ускорение – DBFная версия 1Са в терминальном режиме. Это при малом количестве пользователей и не превышении 1(2) гигабайт на размер таблицы. Далее - SQLная версия 1Са с использованием прямых запросов и увеличением мощности сервера.
188. orefkov 1152 15.09.08 12:39 Сейчас в теме
Проблема с некорректной работой компоненты в многопользовательском режиме решена, скачать можно с http://www.1cpp.ru/forumfiles/Attachments/1sqlite_1019_fix.zip (Плюс еще несколько багов устранены)
Сюда пока не выкладываю, так как еще не все фишки доделал, какие хотел в включить в новый релиз.
190. rovix 16.09.08 14:51 Сейчас в теме
DBFная версия 1Са в терминальном режиме;
Одновременно работает по 50-60 человек;
два четырехядерных процессора;
в пиковой нагрузке конечно же заметно притормаживание системы, а в остальное время, в принципе, приемлемо.
Хотелось бы снять нагрузку за счет, может быть, прямых запросов. Тем более, начальство вычитало статью в журнале "Системный администратор" №7 за 2008, там как раз за это было написано. В статье упоминаются 1sqlite, 1C++, SpellSQL, Rainbow, ToySQL.

2(orefkov)(188)
То есть, теперь можно использовать 1sqlite без использования (181)?
191. orefkov 1152 16.09.08 16:36 Сейчас в теме
2 rovix
Да, можно.
Более подробно о том, что в (188):
Версия без ReadSequnce.
Добавлено:
- Объект SQLiteQuery. Метод ParseSqlText / ОбработатьТекстЗапроса("текст")
Возвращает переданный текст, обработанный метапарсером.
Установленые для запроса методом "Подставлять" текстовые параметры НЕ СБРАСЫВАЮТСЯ.

- Объект SQLiteQuery. Свойство NeedTransaction / ВыполнятьВТранзакции
Позволяет прочитать/установить свойство.
0 - не начинать транзакцию.
Не 0 - автоматически начать транзакцию при первом обращении к таблицам 1С при выполнении запроса, если она не начата.
В монопольном режиме независимо от значения свойства транзакция начинается ВСЕГДА.
В немонопольном режиме выполнение запроса в транзакции позволяет ускорить выполнение запроса, однако блокирует используемые таблицы для записи.

- Исправлен косяк при укладке объектов, содержащих в идшнике русские буквы.
- Убраны Begin/End ReadSequnce при чтении длинных строк и таблиц справочников при укладке объектов.
192. O-Planet 6431 16.09.08 17:07 Сейчас в теме
Оч извиняюсь.. Но не утерпел. roVix - это тоже китайская подделка? :)
193. rovix 19.09.08 09:32 Сейчас в теме
а почему тоже? кто-то тоже китайская подделка или ты про себя имел ввиду?
194. rovix 19.09.08 09:36 Сейчас в теме
2 (orefkov)
а можно надеяться что Ваша разработка будет работать с журналами расчетов?
195. O-Planet 6431 19.09.08 09:36 Сейчас в теме
Просто еще есть romix... )
Оставьте свое сообщение