DBEng32 (5.1.3.2, CodeBase 6.5) - клиент/серверное использование DBFной версии 1С:Предприятие 7.7

Публикация № 14664

Программирование - Внешние компоненты

58
Данная разработка позволяет использовать систему 1С:Предприятие 7.7 (DBFная версия) в режиме клиент/сервер на базе сервера CodeBase 6.5 разработанного фирмой Sequiter Inc. Предлагаемое решение позволяет устранить основные недостатки DBFной реализации поддержки баз данных 1С:Предприятие 7.7.
Аналогичная разработка: http://infostart.ru/projects/1359/

Объявление от 30.03.2010.
Выяснилось, слишком поздно, что "CodeBase 6.5" не обеспечивает требования ACID в части Isolation (изоляции). Т.е., например, если в одной сессии 1С проводится документ, то в другой сессии могут быть прочитаны измененные и не изменённые строки документа и движения до полного завершении или отката транзакции в первой сессии. Этого не происходит, если обе сессии выполняют и запись и чтение данных в транзакции, т.к. средствами 1С обеспечивается последовательное выполнение транзакций. Но сессии, в которых, например, формируется отчет, будут получать противоречивые данные.
Кроме того, принятый в "CodeBase 6.5", алгоритм выполнения транзакций не обеспечивает должного уровня надежности в режиме "stand-alone" (в моей разработке названо - ПДБД).
Выводы:
1) Данный "проект" - закрыт.
2) Публикация не удаляется ради данного объявления.
3) Дистрибутивы не удаляются, чтобы дать возможность пользователям использовать последнюю версию разработки для успешного переноса своих баз данных на другие СУБД.
4) Я не стал связываться с разработчиками "CodeBase 6.5" по данной проблеме. Т.к., думаю, они не считают это проблемой, если изначально заложили в своей системе такие алгоритмы работы с транзакциями.

Определение термина Isolation из http://ru.wikipedia.org/wiki/ACID
"Во время выполнения транзакции другие процессы не должны видеть данные в промежуточном состоянии. Например, если транзакция изменяет сразу несколько полей в базе данных, то другой запрос, выполненный во время выполнения транзакции, не должен вернуть одни из этих полей с новыми значениями, а другие с исходными."
В этой цитате, для нашего случая, нужно читать слово "поле" как слово - "запись".

Объявление от 12.09.2007.
Обнаружена ошибка в CodeBase.

В режиме ПДБД при монопольном запуске сессии 1С активизируются, по умолчанию, режим оптимизации операций ввода/вывода. Если при таких условиях выполняется задача по дополнению записей в таблицы с применением транзакций и после ряда успешно выполненных транзакций выполняется откат очередной транзакции, то это приводит к порче DBF файла. Ошибка “плавающая”, т.е. зависит от размера памяти отведённой под оптимизацию операций ввода/вывода, размера и количества успешно выполненных транзакций и т.д. Я предоставил информацию об этой ошибке в Sequiter Inc. Получен ответ: “We have reproduced this problem. We will continue to investigate and let you know what the solution is.”. До окончательного решения проблемы рекомендую установить единицу в строке № 14 файла DBEng32.ini. В режиме клиент/сервер эта ошибка не наблюдается.

 

Объявление от 28.11.2007.
Ошибка в CodeBase исправлена в версии 5.1.2.8.

58

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

Наименование Файл Версия Размер
BIN_CB_5132.ZIP
.zip 2,74Mb
23.03.10
313
.zip 2,74Mb 313 Скачать бесплатно
-
.1235784920 2,74Mb
24.03.10
179
.1235784920 2,74Mb 179 Скачать бесплатно

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Дата
179. hogik 428 13.10.11 16:29 Сейчас в теме
(178)
"...что лучше использовать ADS или Codebase ?"(с)
Если говорить о "1С 7.7" и не рассматривать SQL-ну версию.
То однозначно - ADS, если у Вас использовался сетевой (не терминал-сервер) режим эксплуатации. Иначе оставаться на "родном" движке (DBF-ном) и заниматься снятием количественных ограничений СУБД на уровне предметной области. И в качестве "костылей" для СУБД применять мои решения опубликованные на данном ресурсе.
178. dreamadv 136 13.10.11 08:52 Сейчас в теме
Вроде все прочитал к сожелению так и не понятно можно ли использовать данную разработку на данный момент именно безопасно, как я понимаю можно но не в режиме ПДБД, но при этом более медленная работа. Т.е. все таки что лучше использовать ADS или Codebase ?
177. jet-2003 21.09.11 13:56 Сейчас в теме
Данная тема работает но не... с Win.. Server 2008 нормуль пошло разогнали семерку )) все дело в кэше
176. hogik 428 22.04.11 21:48 Сейчас в теме
(175)
1) "есть ли в адвантедж и датабэйз,блокировка 1cjournal как в дбф"(с)
В самих СУБД (CodeBase 6.5 и Advantage x.x) в момент выполнения транзакций возможна блокировка на уровне отдельных записей таблицы. В "DBEng32" версий 5.х.х.х/6.х.х.х блокировка выполняется на уровне отдельных записей. Но перед выполнением любой транзакции (не только при проведении документа) выполняется блокировка некоторых байт служебного файла 1SxTTS.lck и таким образом обеспечивается последовательное выполнение любых транзакций. Т.е. ожидание блокировки журнала (файл 1SJOURN.DBF), в штатном алгоритме 1С-а, монополизирует работу системы меньше, чем принятый алгоритм в "DBEng32". Но, таким образом, обеспечивается более устойчивая работы системы.
2) "я прочитал что sql позволяет читать измененные таблицы"(с)
Не "измененные", а "изменяемые" таблицы в процессе выполнения транзакции в части не "затронутых" транзакцией записей, т.е. позволяет читать "старое" состояние данных. Аналогично работает и штатный "движок" для DBF-ной версии 1С-а. И, естественно, "DBEng32" работает аналогично. Читать таблицы можно в любом варианте "движка" 1С-а вне транзакции при выполнении транзакции в другой сессии 1С-а.
0) Блокировка таблицы 1SJOURN это искусственный прием. Эта блокировка выполняет функции "семафора транзакций" для упрощения проблемного программирования. Существуют алгоритмы/разработки т.н. "Гибкие блокировки". Реализуются они на SQL-ной версии 1С-а. Но при использовании такого инструмента проблемному программисту (на уровне конфигурации) придётся прописывать "ручками" логику блокировок в алгоритмах, начиная от "нумераторов" и кончая "проверкой остатков" при проведении документа.
Возможна реализация инструмента "гибкие блокировки" для любого движка 1С 7.7 (кроме штатного "движка" на DBF-ах). Но, я в своих разработках "не открыл" эту возможность для проблемного программиста, т.к. это сильно усложняется процесс программирования проблемному программисту... ;-)
175. sss999 38 22.04.11 11:36 Сейчас в теме
У меня такой вопрос,есть ли в адвантедж и датабэйз,блокировка 1cjournal как в дбф.Хотелось бы избавиться от такой блокировки,так как при проведении документов обработкой,не один документ нельзя провести.И я прочитал что sql позволяет читать измененные таблицы,даже если транзакция не зафиксирована,это я к тому что вы писали про транзакции.
174. CheBurator 3387 21.04.11 01:25 Сейчас в теме
173. hogik 428 20.04.11 18:06 Сейчас в теме
(172)
Сергей.
В "CodeBase 6.5" в процессе выполнения транзакции производится реальное изменение DВF и CDX, а "старое" состояние записей запоминается в журнале. В случае фиксации транзакции производится просто очистка журнала, а обновления уже лежат в таблицах БД. В случае отката транзакции - читается журнал и производится "обратная" модификации таблиц БД. При таком алгоритме, в случае "обрушения" сессии 1С-а, необходимо обязательно произвести откат транзакции на основании журнала транзакций. При использовании "CodeBase 6.5" в режиме клиент-сервер это сделает сервер БД. А в режим ПДБД (stand-alone) это никто не сделает, т.к. журнал транзакций - это рабочий файл о котором запуск новой сессии ничего не знает. И "кусок" транзакции останется в базе данных. А т.к. в наших задачах транзакции большие и долго выполняются, то вероятность "обрушения" сессии в момент выполнения транзакции - очень велика.
Изначально режим ПДБД задумывался как (текст из DBEng32.doc):
"Режим ПДБД предназначен, в основном, для проведения регламентных работ с базой данных (пакетное проведение документов, восстановление последовательностей документов, запуск срочных к предъявлению отчетов, тестирование и исправление информационной базы данных и т.д.)."(с)
Т.е. использовать ПДБД можно только для работ, проводимых под контролем администратора БД с обязательным копированием и восстановлением копии в случае аварийного завершения сессии 1С-а. Иначе говоря - нельзя использовать ПДБД в многопользовательском режиме.
172. sss999 38 20.04.11 11:05 Сейчас в теме
Кроме того, принятый в "CodeBase 6.5", алгоритм выполнения транзакций не обеспечивает должного уровня надежности в режиме "stand-alone"
Можно ли раскрыть суть предложения,а то вроде многие работали и работают,и ничего страшного..
171. hogik 428 13.09.10 17:11 Сейчас в теме
(170)
Хорошее дополнение к сообщению #168 - "Записать, Удалить". ;-)
Вы не уточнили задачу. :-(
Файл принадлежит конфигурации или он внешний?
Как этот файл образовался?
Если файл принадлежит конфигурации, то можно читать "операциями" РУС-а: 41,42,43. Но писать и удалять записи можно только "родными" средствами 1С-а.
Если файл внешний, то надо делать его обработку средствами API самого "CodeBase 6.5", особенно, если требуется обновление данных.
170. albert 565 13.09.10 16:45 Сейчас в теме
(169) Мне необходимо из среды 1С читать файл dbf более 2 Гб. Какие команды РУС нужно использовать... (нужны команды ОткрытьФайл, Записать, Удалить) (в вашей документации не нашел).
169. hogik 428 13.09.10 14:43 Сейчас в теме
(168)
Уточните, пожалуйста, Вашу задачу. Т.к. если требуется читать в среде 1С, при использовании моей разработки, то можно использовать средства РУС. А если "автономно", то только средствами "CodeBase 6.5" с установкой "Large File Support" или писать программу чтения DBF-а как обычный файл с "разборкой" заголовка DBF-а.
168. albert 565 13.09.10 09:07 Сейчас в теме
(167) Нужно как раз прочитать файл более 2 Гб. Как это возможно?
167. hogik 428 10.09.10 23:14 Сейчас в теме
(166)
В "CodeBase 6.5" два формата DBF+CDX файлов:
1) Стандартный формат, совместимый с FoxPro. И его можно читать, как Вы указали в цитате из #166 сообщения.
2) Формат "Large File Support" со снятыми ограничениями на размер DBF файла. Именно этот формат используется в данной разработке. В этом формате изменена структура CDX-ов и другой алгоритм блокировки. Сам DBF файл совместим (до размера в 2 гигабайта) с форматом FoxPro. Т.е. его можно читать в однопользовательском режиме без активизации индексов. Кроме этого, при создании, DBF файлов установлена кодировка "cp1252 - Windows ANSI code page used in Visual FoxPro", а в "родных" DBF-ах установлено "cp0 - Supports FoxPro 2.x file formats which do not use a code page". Но средствам чтения 1С-а это безразлично.
166. albert 565 10.09.10 22:16 Сейчас в теме
Как можно прочитать файлы формата Codebase из 1С.
Типа:
Файл = создатьОбъект("XBASE");
Файл.ОткрытьФайл(ЗагрФайл); ......
165. hogik 428 10.05.10 17:40 Сейчас в теме
(164)
Цитаты из ссылки в (164):
«разработчик его нашел какую-то фигню в кодебазе сервере»(с)
«это решение стоит 2 года минимум в 30 магазинах, и никаких проблем»(с)

А разработчики «CodeBase 6.5» лет 10 продают свою систему по всему миру. Думаю, у меня другие представления о «проблемах». Знал бы об их «гениальном» алгоритме транзакций раньше – вообще не делал бы свою разработку на «кодебазе сервере»(с) :evil:
164. CheBurator 3387 10.05.10 14:55 Сейчас в теме
просто в копилку разработчику:
вот здесь товарищ в 22 посте упоминает сабж
http://www.forum.mista.ru/topic.php?id=481163
163. hogik 428 20.03.10 21:43 Сейчас в теме
162. abr_1c 20.03.10 21:32 Сейчас в теме
Может, я просто не допонял концепции программы. У меня ситуация такая: есть два клиента. Один из них обращается к базе локально, другой соответственно по сети. У того, кто по сети работает с базой наблюдается конкретные тормоза при перерасчёте итогов. На ето не влияет ни железо, ни антивирусы/файерволлы, ни действия другого клиента (который локально с базой работает). Может ли данная разработка помоч мне в решении проблемы или нет?
161. hogik 428 20.03.10 21:26 Сейчас в теме
(160)
Ускоряет не ДЛЯ, а по сравнению с ЧЕМ (каким режимом использования 1Са). Например, см. http://infostart.ru/public/57165/
160. abr_1c 20.03.10 21:18 Сейчас в теме
Аа.. То есть, прога ускоряет 1С только для клиент-сервера?
159. hogik 428 20.03.10 21:13 Сейчас в теме
(158)
На две машины покупать ничего не надо. А для ускорения - проверяйте хорошенько. ;-) Т.к. если не будет выделенного сервера или если у Вас сейчас работает на "файл сервере" пользователь, то он не получит ускорения.
158. abr_1c 20.03.10 20:54 Сейчас в теме
Если я правильно понял, то на две машины для ускорения работы 1С я могу ничего не покупать?
157. hogik 428 20.03.10 20:49 Сейчас в теме
(156)
Моя часть разработки бесплатна. А сам сервер - цитата из DBEng32.ddoc:
"Купить CodeBase 6.5 for Windows можно на сайте www.codebase.com. Цена системы на десять пользователей около 300 долларов, а без ограничения количества пользователей около 1000 долларов. Есть еще и другие варианты лицензий. Можно ничего не покупать – пользоваться сервером на 10 пользователей включенного в мою разработку."
В режиме ПДБД (локальный режим, например, для терминал сервера) разработка не имеет ограничения на количество пользователей.
156. abr_1c 20.03.10 20:26 Сейчас в теме
Ета разработка бесплатна?
155. hogik 428 04.11.09 17:08 Сейчас в теме
(154)(leonidt84)
1) См. в комментариях к данной разработке:
Сообщение 63 после слова "Итак:" первый пункт.
Сообщение 64 первый абзац.
2) См. в файле DBEng32.doc из архива BIN_CB_xxxx.ZIP:
В разделе "Установка" текст после первой картинки.
В разделе "Производительность" 4-ый и 5-ый пункт.
154. leonidt84 462 04.11.09 12:56 Сейчас в теме
Поставил данную Вашу разработку. В организацию на тест 4 компа + 1 сервер. Около 300 документов в день. База под 2 гигабайта идёт, хотя ни один DBF ещё даже до 500МБ не добрался. В принцыпе, они довольны, скорость и надёжность работы возросла заметно. Был лишь один сбой, после перебоя со светом сервер не мог запуститься, пишет r4server.log повреждён. Попробовал восстановить его утилитой, вроде как восстановился. Запустил базу и вот тут произошло странное, все документы с начала месяца из базы оказались удалены. Т.е. хорошо, архивная копия у меня делалась независимыми средствами, т.е. всё удалось восстановить, но вот этот сбой мне не понравился, кроме того магазин целый день простаивал. Нужен ли вообще этот транзакционный лог или можно его размер в настройках указать 0 и не мучаться? И вообще какую-либо функцию, кроме непосредственно логирования он выполняет?
153. y-u-h 30.09.09 14:52 Сейчас в теме
(152) всё понял. был невнимателен к мануалу.
152. hogik 428 23.09.09 16:24 Сейчас в теме
(151)
Извините, я устал давать ссылки на описания. Буду их "отображать" для Вас прямо в обсуждении данной разработки. Всё, что помечено символом "(с)" - взято из описаний разработок или сообщений данной темы!!! Но начну с конца Вашего (151) сообщения.
0) "натолкнулся на ограничение LanServer в XP_Home"
Это и есть самое первое, что надо делать при организации "выч. процесса в Вашей конторе"(с). Надо "натолкнуться" на информацию и начать её изучать, понимать, задавать вопросы, правильно её использовать и т.д. А еще, мне кажется, имеет смысл уважать свободное время другого человек (т.е. автора разработки) и не путать "бесплатное использование разработки" с "б... использованием разработчика".
1) Был мой вопрос к Вам: "зачем Вы тестируете Kernel3x" и Вы его не поняли.
Ответы:
а) "Одним из недостатков DBFной версии “1С:Предприятие 7.7” является ограничение на размер файлов – 1 гигабайт."(с) - У Вас ВСЯ база "общим размером ~156МБ"(с)
б) "Установка Kernel33.dll не требуется при использовании сервера CodeBase."©
2) Вы N-ый раз спрашиваете: "откуда сервер codebase узнает ГДЕ БАЗА ЛЕЖИТ?" и "Что ;t такое штатный режим? исполняемые файлы codebase".
Ответы:
а) "После подготовки базы данных необходимо в каталоге информационной базы (рядом с DBFами) создать “каталожный” файл DBEng32.ini. В нем необходимо набить одну строчку – полный маршрут к DBF файлам с реальным именем диска на сервере (в смысле компьютере). Этот же маршрут должен быть определен как Shared ресурс для всех рабочих станций. В окне запуска 1С можно использовать две формы задания пути к базе данных:
\\сервер\ресурс - для доступа к базе с рабочей станции или сервера.
диск:\каталог – для доступа из задач, запускаемых на сервере.
Использовать “Map Network Drive” нельзя."(с)
б) "Строка № 15: Флаг управления “форматом” пакетов от клиентов к серверу.
Значение 1 – не включать в пакеты полный маршрут к DBF файлам, 0 или пустое значение включать в пакеты полный маршрут к DBF файлам. Подробнее смотрите в пункте № 6 раздела “Производительность”."(с)
в) При передаче информации от клиента к серверу CodeBase включает в пакеты полный маршрут к DBF файлам. В связи с этим рекомендую размешать информационную базу данных в каталогах с коротким маршрутом. Это немного снизит объем передаваемой информации от клиента к серверу. С помощью настроек в файле DBEng32.ini можно, вообще, отменить помещение в пакеты маршрута к DBF файлам, установив единицу в строку № 15. В этом случае система будет искать файлы в “Default Directory” сервера CodeBase и вступит в силу ограничение ”один сервер – одна база”. Это понятие описано в разделе “Прямой доступ к базе данных (ПДБД)”. При использовании этой возможности не отменяется заполнение строки № 1 файла DBEng32.ini. Хотя она и не используется для режима работы с сервером, но её корректность проверяется программой. А в случае работы в режиме ПДБД значение этой строки используется для доступа к файлам.©
151. y-u-h 23.09.09 14:29 Сейчас в теме
(150)
++2) Я не понимаю - зачем Вы тестируете Kernel3x.++
см (139), Ваши же, hogik, слова:
++2) Эти манипуляции решат "проблему 1 гигабайта" ;-) Я не проверял данное решение в "windows_vista". Но, т.к. "проблема 1 гигабайта" и её решение не зависит от версии Windows-а, то, думаю, проблем не возникнет. Если же возникнут - пишите мне, исправлю. Рекомендую проверить работоспособность этой разработки в "windows_vista" на тестовой базе данных (в локальном режиме) с помощью внешней обработки из Test.zip по ссылке http://infostart.ru/projects/1725/++

++А для использования моей разработки в "штатном режиме" настраивать сервер в части пути к базе 1Са - не требуется.++
Что ;t такое штатный режим? исполняемые файлы codebase (из папки BIN\CB) скопированы в пакку с dbf-базой? Ибо в противном случае откуда сервер codebase узнает ГДЕ БАЗА ЛЕЖИТ?
* имея ввиду "настроить, как Вы сказали" я предполагаю ровно это "Я дал Вам ссылки на документацию - где надо читать. Там ВСЁ написано."
* вычислительный процесс в сетевой dbf-базе 1С7_бух организован стандартно,ничего не изменить тут. база на сетевой шаре и всё.
--

З.Ы. пока решал, ставить ваше детище или нет, натолкнулся на ограничение LanServer в XP_Home - всего 5 подключений одновременно, больше нельзя. Придётся, видимо "подготовить" винду, пользуя Half-open_limit_fix_4.1.exe и LanServer_NoConnectionLimit.rar для снятия ограничений на максимальное количество полуоткрытых TCP-соединений и на макс. количество входящих сессий :)
150. hogik 428 21.09.09 18:15 Сейчас в теме
(147)
1) "обьясните мне"
Прежде всего, дело не в "WinXP_HOME", а в самой "организации" выч. процесса в Вашей конторе :-(
2) Я не понимаю - зачем Вы тестируете Kernel3x.
3) "настроить, как Вы сказали, то после перезапуска, сервер не видит свои служебные файлы"
Я не сказал - как настроить. Я дал Вам ссылки на документацию - где надо читать. Там ВСЁ написано. А для использования моей разработки в "штатном режиме" настраивать сервер в части пути к базе 1Са - не требуется.
149. CheBurator 3387 21.09.09 17:36 Сейчас в теме
> Сегодня, в частности, тётка не могла экспортировать платёжки в текстовый файл (стандартная выгрузка для клиент-банка) пока не выгнала всех из 1С
- имхо, эта ситуация свидетельствует о чем-то очень-очень неправильном.. такая простая задача как экспорт в текстовый файл пары платежек...
.. что значит "не могла экспортировать"...??? какие ошибки вываливались? что именно не могла...?
148. CheBurator 3387 21.09.09 17:34 Сейчас в теме
(147) п.1 хоум эдишен - на то и хоум эдишен. что они там мелкомягкие внутри выкрутили - фиг его знает. работать-то может и будет, но надо уметь ее "приготовить" и такое "приготовление" скорее всего будет являться "нарушением" лицензионного соглашения. Есть интерес как готовить для работы в сетях - гуглите. А уж использовать хоум в качестве файлового сервака - я бы не стал. ну его.. от греха подальше...
147. y-u-h 21.09.09 17:23 Сейчас в теме
(146)
1. обьясните мне, плиз, почему под WinXP_HOME будет хуже работать? файлов же меньше открывается (только *.lck) и данных меньше по сети бегает..... что-то не понимаю я. Это для меня наиболее важный вопрос.

2. 142е сообщение в ответ на 139 п2. я потестил под вистой kernel3x - работает :)

3. если запустить сервер CB, потом вызвать CBAdmin.exe и настроить, как Вы сказали, то после перезапуска, сервер не видит свои служебные файлы (ACCOUNT4.dbf и иже с ними) и вылетает/закрывается. Я предлагаю прописать подробнее этот пункт в DBEng32.doc :)
146. hogik 428 21.09.09 17:10 Сейчас в теме
(140)
1) "В чём именно заключается конвертация базы хитрой утилитой ConvDBF.exe ?"
Эта утилита меняет заголовок DBF файлов и тупо переписывает, без изменения, все записи исходной таблицы в результирующую таблицу. Еще меняет расширение имен файлов с DBF на dbf. Я поленился сделать "прямую" модификацию заголовка DBF файлов для ускорения "конвертирования", т.к. данная утилита выполняется редко.
2) "обратима ли эта процедура?"
См. в DBEng32.doc раздел "Установка", пункт № 3. Но если размер таблицы в "родном формате" превысит 1 гигабайт, то придется пользоваться разработкой "Kernel3x". А если превысит 2 гигабайта, то 1С работать не будет.
3) "где именно указывать путь к базе 1С?"
"Вызвать CBAdmin.exe"->"Нажать клавишу F1"->"Menu Reference"->"Server"->"Settings"->"Files/Directories"->"Default Directory". Еще смотреть в DBEng32.doc раздел "Настройка", пункт "Строка № 15". Далее читать раздел, ссылка на который, дана в данном пункте.
(141)
1) "имеет ли смысл ставить Вашу разработку под управлением WinXP_HOME ?"
Если в Вашей конторе используют в качестве серверной ОС такую версию Windows-а, то мою разработку не надо использовать. Будет, только, хуже...
2) "...если, прямого обращения к dbf-файлам нет...большее количество юзеров смогут работать без тормозов?"
По теории - да. А по практики одни причины "тормозов" устранятся, а другие причины "тормозов" - появятся. Подробнее см. предыдущий абзац. ;-)
(142)
"устал ждать. часа 2,5 крутилась. вырубил."
Я не совсем понял к чему это (142-ое) сообщение. Но мне кажется, что Вам надо посмотреть описание причины "проблемы 1 гигабайта" в http://infostart.ru/projects/1725/ и задать мне вопросы по существу.
145. y-u-h 21.09.09 16:51 Сейчас в теме
(144) в дополнение:
1С:Бухгалтерия 7.7.
Типовая конфигурация "Упрощенная система налогообложения", редакция 1.3.
Релиз 7.70.155 от 15.01.2008 г.
=====================================
файлов БАЗЫ 265, общим размером ~156МБ
144. y-u-h 21.09.09 16:43 Сейчас в теме
(143) конфа стандартная, УСН. дале легальная. НО dbf-база лежит на машине, которой управляет WinXP_HOME - отсюда, как я понимаю, все проблемы и растут. Сегодня, в частности, тётка не могла экспортировать платёжки в текстовый файл (стандартная выгрузка для клиент-банка) пока не выгнала всех из 1С. сама она сидит как раз на "сервере"........
:) Ваши пред[поло]ложения, CheBurator
143. CheBurator 3387 21.09.09 16:14 Сейчас в теме
(142) немножко в сторону: вы пишите: "..решения проблемы тормозов и вылета транзакций по таймауту работы с 1С77-dbf в сети, состоящей из пяти WinXP_HOme :)" - если не секрет - какая-то специализированная конфигурация? самописка? - потому что на 5 рабочих местах надо ОЧЕНЬ постараться сделать чтобы ПОСТОЯННО БЫЛИ ТОРМОЗА И ТРАНЗАКЦИИ. очень сильно имхается что можно было все решить все "штатными" методами....
- поясните плиз ситуацию поподробнее.
142. y-u-h 21.09.09 15:41 Сейчас в теме
(139) (hogik) тестовая база. сделал, как описано в её мануале. в разделённом режиме обработка работала в 2х экземплярах. устал ждать. часа 2,5 крутилась. вырубил.
{"B","0","0","12","0","0"," 1100448 "} - вот последняя строчка, которую выдала одна обработка.
{"B","0","0","12","0","0"," 1100435 "} - а это соответственно, на втором экземпляре проги.
З.Ы. релиз 27й вертелся на Vista Business со всеми последними обновлениями (соответственно и OrdNoChk.prm то же присутствует)
141. y-u-h 21.09.09 14:36 Сейчас в теме
(139) (hogik)
вообще, имеет ли смысл ставить Вашу разработку на "сервер" под управлением WinXP_HOME ? в диспетчере сервера видно, что клиентом открыты только lck-файлы, то есть, я правильно понимаю если, прямого обращения к dbf-файлам нет, соответственно уменьшится нагрузка на сервачок в плане перекачивания по сети кучи dbf-файлов, то есть большее количество юзеров смогут работать без тормозов?
140. y-u-h 21.09.09 12:08 Сейчас в теме
(139) (hogik)
окей, спасибо за разьяснение.
Тогда ещё вопрос. В чём именно заключается конвертация базы хитрой утилитой ConvDBF.exe ? обратима ли эта процедура?
З.Ы. при настройке сервера утилитой CBAdmin.exe где именно указывать путь к базе 1С? ЯВНО инструкция по этому вопросу в инструкции отсутствует, по-моему.
З.З.Ы. запустил базу на клиентской winVista_business. работает. сама база на Win2kserver
139. hogik 428 18.09.09 15:18 Сейчас в теме
(138) (y-u-h)
Ответы по пунктам вопросов:
1) См. в файле DBEng32.doc, раздел "Установка", последний абзац.
2) Эти манипуляции решат "проблему 1 гигабайта" ;-) Я не проверял данное решение в "windows_vista". Но, т.к. "проблема 1 гигабайта" и её решение не зависит от версии Windows-а, то, думаю, проблем не возникнет. Если же возникнут - пишите мне, исправлю. Рекомендую проверить работоспособность этой разработки в "windows_vista" на тестовой базе данных (в локальном режиме) с помощью внешней обработки из Test.zip по ссылке http://infostart.ru/projects/1725/
3) Решений два:
а) Воспользоваться текстом их DBEng32.doc, раздел "Настройка", пункт "Строка №8".
б) Использовать два каталога исполнительных файлов 1С и организовать для пользователей удобный выбор вызова 1cv7.exe из каталога соответствующего формату базы данных. Это решение - предпочтительно!
138. y-u-h 18.09.09 14:29 Сейчас в теме
многоуважаемый автор, спасибо за разработку сию :) Наткнулся на неё, ковыряя инет в поисках решения проблемы тормозов и вылета транзакций по таймауту работы с 1С77-dbf в сети, состоящей из пяти WinXP_HOme :)
НО есть кучка вопросов, ответы на которые не нашёл в руководстве и здесь, в обсуждении, а именно:
1. касаемо базы: как серверу codebase указать, какую базу он подхватить должен. Я интуитивно сделал в лоб: скопировал всё из папки BIN\CB в каталог базы 1С, помогло :))))))
2. касаемо исполняемых файлов (платформы): как повлияют манипуляции, основанные на kernel33.dll и kernel37.dll на работу оной в windows_vista.
3. как обеспечить работу на сервере нескольких баз. То есть, крутиться на codebase должна только одна база, с которой по сети работают юзеры, другие же базы исключительно локально.Проблема, понятно в том, что после изменений в папке Bin штатной 1С, попытка запустить немодифицированные базы неудаётся по очевидной причине (ошибке): не найден файл DBEng32.ini. Неужели придётся конвертировать и остальные базы то же?
137. Brinya 13.05.09 21:08 Сейчас в теме
(136)(hogik)
По поводу "валяющихся DBF" - вполне возможно - проверю. Что-то заваляться за 10 лет могло, тем более что эти конфигурации - второстепенные, и "хозяев" у них было несколько.
По выгрузке/загрузке возникла мысль вернуть стандартную ABBY-бухгалтерию с SQL на рельсы DBF - авось быстрее заработает (перевели в SQL когда-то давно, чтобы преодолеть ограничение 1Гиг). А из SQL "вернуть" можно только выгрузкой. Вот, не люблю я SQL с тех пор, как "познакомился" с лицензионной политикой мелкософта ;)
Завтра переведем одну из "второстепенных" баз (объем 3 Гига, 15 пользователей) на Вашу разработку и покрутим недельку. Будет все ОК - займемся основной базой.
136. hogik 428 13.05.09 20:32 Сейчас в теме
(134)(Brinya)
"Будут ли работать компоненты "бух.учет" и "расчет" в формате СВ?" - Да.
"...на базах, содержащих план счетов ругается на невозможность открыть файл *.cdx" - А этот файл CDX существует? Какое имя таблицы? Я тестировал конвертирование на комплексной конфигурации - работает. Но если в каталоге базы данных "валяются" DBF без индексных файлов не принадлежащие схеме БД, а в них стоит признак наличия индексных файлов, то будет выдаваться сообщение об ошибке.
"пытаемся обойти это путем стандартной выгрузки/загрузки данных" - Это плохой путь. Работать будет дольше, чем конвертирование. И могут возникнуть проблемы с размером рабочего файла (надо будет использовать разработку от Романа).
"Возможна ли обратная конвертация из СВ в "родной" формат путем штатной выгрузки/загрузки данных?" - Да. Но см. предыдущий абзац.
(135)(Brinya)
Я не об этом говорил. В сообщении (132) данной темы написано "...сильно медленнее, чем в режиме ПДБД". А остальное зависит от железа, задач и т.д.
135. Brinya 13.05.09 19:20 Сейчас в теме
(132)(hogik)
"В такой схеме сервер терминалов или сервер CB - лишнее звено.", - т.е. терминальная сессия на одном компе, обращающаяся к серверу СВ на другом компе будет работать медленнее, чем локальная 1С на компе пользователя, обращающаяся к серверу СВ? Странно.
Если скорости будут одинаковые, то у терминала все равно есть выигрыш - требования к локальным станциям минимальные (они вообще могут быть на Линухе), да и 1С на них всех устанавливать не нужно :)
134. Brinya 13.05.09 19:13 Сейчас в теме
Новые вопросы.
1. Будут ли работать компоненты "бух.учет" и "расчет" в формате СВ? Ибо утилита ConvDBF.exe на базах, содержащих план счетов ругается на невозможность открыть файл *.cdx, а на базе, не содержащей план счетов - конвертирует без вопросов. Сейчас пытаемся обойти это путем стандартной выгрузки/загрузки данных.
2. Возможна ли обратная конвертация из СВ в "родной" формат путем штатной выгрузки/загрузки данных?
133. Brinya 13.05.09 15:24 Сейчас в теме
(132)(hogik)
"Обратное конвертирование не спасет базу данных от возможных ошибок в моей разработке." - Имеется ввиду, например, невозможность работы 30-ти пользователей, сильные тормоза и т.п. Понятно, что ошибка, появившаяся в базе при работе под СВ не будет исправлена при обратном конвертировании.
"Тогда переходите на SQLную версию 1С", - любой переход - катаклизм, а если он сопровождается заваливанием базы - катаклизм вдвойне :) А SQL мы пробовали - база начинает жутко тормозить (раз в 20 замедляется простой интерактивный отбор в общем журнале документов), а для нас это - смерти подобно :)
Сейчас сделали конвертацию в СВ, сделали 150 новых документов, сконвертировали назад - оригинальная 1С все подняла, все видит, все работает, документы на месте. В-общем, будем пробовать дальше :)

132. hogik 428 13.05.09 13:07 Сейчас в теме
(131)(Brinya)
"Сейчас проверяем конвертацию туда-обратно, дабы откатиться в случае чего назад." - Обратное конвертирование не спасет базу данных от возможных ошибок в моей разработке.
"Вообще - страшновато, т.к. потеря даже одного дня - катаклизм немалого масштаба" - Тогда переходите на SQLную версию 1С.
"Будет ли система работать бастрее/надежнее, если задействовать сервер СВ на отдельном компе, соединенном с сервером терминалов по второму сетевому интерфейсу?" - Немного надежнее, но сильно медленнее, чем в режиме ПДБД. В такой схеме сервер терминалов или сервер CB - лишнее звено.
131. Brinya 13.05.09 11:57 Сейчас в теме
Заранее извиняюсь, если чего-то недочитал в ФАК-е и на форумах, но я старался :)
У нас база DBF (самописная) крутится на сервере терминалов W3K. Размер базы свыше 9 Гиг, максимальный размер файла 1.3 Гиг (табличная часть одного из документов) - проблема 1Гига и 100%-загрузке проца решена благодаря замене Kernel32 на Kernel37 (автору - огромный респект :) )
В базе нонче работает 30-40 пользователей одновременно (сервер 2х4-ядерный XEON, RAID10, оперативки 4 Гига, своп отключен). Все бы ничего, но подбираемся к 2 Гигам.
Сейчас тестируем Вашу разработку на тему преодоления барьера 2Гига в терминальном режиме. Сервер СВ даже не ставили, т.к. собираемся работать в режиме ПДБД - только скопировали содержимое каталога BIN_CB\BIN. Базу сконвертировали через предлагаемую утилиту ConvDBF.exe
Попробовали "добить" самый большой DBF до размера свыше 2Гиг. На 9-ти Гигах опыт остановили, т.к. надоело :) - проблем не обнаружили. Попробовали запустить одновременно 30 пользователей, на на 16-ти "споткнулись" об ограничения старого тестово компа. Ближайшее время будем тестить на родном. Сейчас проверяем конвертацию туда-обратно, дабы откатиться в случае чего назад. Вообще - страшновато, т.к. потеря даже одного дня - катаклизм немалого масштаба :))
Хотел бы посоветоваться на тему дальнейшего масштабироваия системы с точки зрения количества пользователей. Будет ли система работать бастрее/надежнее, если задействовать сервер СВ на отдельном компе, соединенном с сервером терминалов по второму сетевому интерфейсу?
Отчеты о результатах буду, по-возможности, выкладывать здесь :)
130. maljaev 782 03.02.09 01:19 Сейчас в теме
А как клиент-серверное решение, CodeBase|Advantage по мне всяко лучше MsSQL, если не вдаваться в прямые запросы. Хотя бы потому, что неподвижный движок прокрутки меня страшно бесит.
129. maljaev 782 03.02.09 01:14 Сейчас в теме
Если интересно, мы тут поговорили еще немного насчет этого патча: http://www.1cpp.ru/forum/YaBB.pl?num=1233607138 Есть необъяснимые странности, но криминала не замечено. Вообще, это решение от romix'a впору зачислять в "очевидное-невероятное". Ну уж ладно, работал я с ним год с лихвой (да и клиенты тоже), и еще поработаю. Хуже от него пока не было.
128. hogik 428 03.02.09 00:36 Сейчас в теме
(127)(maljaev)
Ну, значит, вот так и есть. Спасибо Вам за проведенные тесты...
127. maljaev 782 03.02.09 00:30 Сейчас в теме
Практически ничего не изменилось ни в монопольном, ни в разделенном режимах. Увы.
126. hogik 428 03.02.09 00:04 Сейчас в теме
(125)(maljaev)
Поставьте единицу в строке #14 файла INI. ;-))) Интересно, как изменится время в монопольном режиме? Для Вашего теста (проведение "разом" нескольких документов) можно поставить в строке #13 значение больше единицы - это должно положительно повлиять на любой режим запуска сессии 1С. Но сначала посмотрите размер файла транзакций, чтобы N транзакций поместились на RAM диск.
125. maljaev 782 02.02.09 22:18 Сейчас в теме
Кстати, странная вещь наблюдается. Сначала подумал что поглючилось, но перепроверил по 3 раза и так и эдак - и правда. В общем почему-то теперь (после задействования RAM-диска) документы в разделенке проводятся быстрее чем в монопольном (где-то 90'000 и 110'000 миллисекунд соответственно). Все настройки INI штатные, кроме №13 = 1. Так и должно быть?
124. hogik 428 02.02.09 22:17 Сейчас в теме
(123)(maljaev)
"Можно что-то еще подкрутить...?"
Думаю, что для "глобального увеличения быстродействия", в моей разработке, уже ничего не сделать :-( Остаётся, только сравнить скорости выполнения с вариантом без "патча" и делать выбор - чего и при каких условиях использовать...
123. maljaev 782 02.02.09 22:02 Сейчас в теме
(122) Вынесение файла транзакций на RAM-диск увеличило скорость проведения в 3 раза по сравнению с примером (119), но это все равно оставляет разницу с патчем dbeng32.dll в 7 раз. Можно что-то еще подкрутить для столь же глобального увеличения быстродействия?
122. hogik 428 02.02.09 21:12 Сейчас в теме
(121)(maljaev)
"ПДБД, то есть без использования CodeBase"
Наверно, без использование сервера CodeBase? В режиме ПДБД тоже используется "CodeBase 6.5", т.е. ограничение в 1(2) гигабайта на таблицу тоже снимается.
"но по максимуму в ущерб надежности"
Если ничего не меняли в настройках, то оптимизация включается только для монопольного запуска сессии 1С. А в разделенном режиме - повышается надежность в ущерб скорости. И лучше эти настройки не менять.
"В разделенном конечно"
В разделенном режиме, если не использовать RAM диск, система работает медленно. Т.к. для файла транзакций очень часто выполняется FlushFileBuffers, что совершенно не требуется в данном случае.
"какой размер RAM-диска нужно иметь"
Нам хватало 32 мегабайт. Для начала, поставьте в строке #13 файла DBEng32.ini единичку - это количество транзакций после которого требуется писать файл транзакций заново.
121. maljaev 782 02.02.09 18:18 Сейчас в теме
(120) В смысле в каком режиме? В разделенном конечно, если это имеется ввиду. ПДБД, то есть без использования CodeBase, режимы оптимизации уж не помню какие но по максимуму в ущерб надежности. Файл транзакций на RAM-диске не размещал, но вопрос во сколько раз может вырости призводительность в этом случае? В несколько раз? И какой размер RAM-диска нужно иметь под этот файл транзакций? Описанных 32Мб хватит?
120. hogik 428 02.02.09 17:36 Сейчас в теме
(119)(maljaev)
"Патч dbeng32.dll включает родной виндусовый режим кэширования записи на диск, никаких своих кэшей он не использует."
Всё верно. Только есть маленький нюанс. Данный "патч" не включает "виндусовый режим кэширования записи на диск", а отключает в движке 1Са (CodeBase) выдачу функции FlushFileBuffers. И если у Вас есть полная уверенность, что "никаких своих кэшей он не использует", почему бы и не использовать данный "патч". Наверно Вы под термином "он" подразумеваете конкретную версия Windows, а я Вам "впаривал"© информацию о "многопользовательских системах". И мой опыт программирования в этих самых системах подсказывает, что не "ВСЕГДА сначала проверяет". А после разглядывания исходным текстам CodeBase мне показалось, что разработчикам этого движка тоже опыт подсказывает, что - не всегда. Точнее, не во всех "он". Поэтому я и написал - "не рекомендую", а не - "не работает".
А по сравнению времен выполнения Вашего теста - это естественно. Но есть вопросы. В каком режиме запускалась сессия 1С в ПДБД? Файл транзакций на RAM диске? Какие установлены режимы оптимизации?
119. maljaev 782 02.02.09 16:04 Сейчас в теме
Провел очередной эксперимент. Конфигурация "1С:Аналит", проведение 100 документов "ПриемСтоматолога" на локальной машине.

1. Ядро 1С стандартное, DBEng32 5.1.3.1 ПДБД. 275'220 миллисекунд.
2. Ядро 1С с патченым dbeng32.dll, DBEng32 5.1.3.1 не используется. 13'756 миллисекунд.

Теперь насчет того, что типа использование этого патча даже на локальной машине в терминалке может привести к тому, что другой клиент может прочесть устаревшие данные (то есть пока кэш еще не успел сброситься на диск). То есть то, что автор мне впаривал в посте (89) топика http://infostart.ru/projects/1359/.

Провел еще один эксперимент. В конец процедуры записи документа "ПриемСтоматолога" вставляю Сообщить(_GetPerformanceCounter()), создаю обработку которая в бесконечном цикле опрашивает состояние реквизита конкретного экземпляра документа с упоминанием о том же _GetPerformanceCounter(). В одном сеансе запускаю обработку крутиться, в другом меняю реквизит документа. Сравниваю временные точки. Эксперимент показал, что второй клиент получает новые данные сразу же после их изменения, из кэша, не дожидаясь пока обновленная инфа сбросится на диск. Эксперимент повторил несколько раз.

Объясняется просто. Windows при запросе данных файла ВСЕГДА сначала проверяет, нет ли этих данных в кэше, и уж затем (если их нету) лезет на диск. Патч dbeng32.dll включает родной виндусовый режим кэширования записи на диск, никаких своих кэшей он не использует. Поэтому предоставление противоречивой информации, описанное в посте (89) невозможно в принципе, если все клиенты вертятся на одной машине, а ускорение идет на порядок.
118. hogik 428 03.01.09 20:17 Сейчас в теме
(+117)(Albert)
На моих тестах, после решения проблемы с файлом транзакций, скорости во всех вариантах отличаются на +-10%. Естественно, т.к. мы говорим о локальном режиме, то после перезагрузки системы первый замер отличается от последующих - в разы. Но если сравнивать первые замеры между собой, то они отличаются также, как и последующие между собой - на +-10 процентов.
117. hogik 428 03.01.09 19:42 Сейчас в теме
(116)(Albert)
Я написал Вам два сообщения в "личку".
"пока появится первое сообщение" - а файл транзакций, в это время, обновляется?
116. albert 565 03.01.09 18:56 Сейчас в теме
(115) Способ замера: в процедуру ОбработкаПроведения() документа в начало и конец помещал строку Сообщить(ТекущееВремя()). Находил дельту времени.

Стандартные DBF - время проведения ~1 с.
Codebase (монопольно) - время проведения ~1 с.
Codebase (не монопольно) - ~ 60 c. ожидания пока появится первое сообщение + время проведения ~60 с.

Общий объем DBF файлов базы ~1,5 ГБ.
115. hogik 428 30.12.08 18:26 Сейчас в теме
(113,114)(Albert)
"файлы lck... удалились... остались" - так и задумывалось.
"монопольном и немонопольном режиме отличается в разы" - естественно.
""растет" очень медленно..., загрузка...на нуле, размер...не увеличивается." - Оно, наверно, еще и DBFы читает ;-)))

А по сравнению с родными DBFами как изменилась скорость?
114. albert 565 30.12.08 16:08 Сейчас в теме
Скорость перепроведения документов в монопольном и немонопольном режиме отличается в разы в пользу монопольного. При немонопольном режиме временный файл .tmp "растет" очень медленно, при этом загрузка процессора на нуле, размер используемой пямяти также не увеличивается.
113. albert 565 30.12.08 15:32 Сейчас в теме
Зашел в базу в терминальном режиме монопольно, вышел - файлы lck в каталоге базы удалились. А зашел не монопольно - файлы так и остались.
112. Скользящий 27.11.08 09:50 Сейчас в теме
Респект автору за разработку. У меня была проблема "подключения второго пользователя" на одном из филиалов - сервер на базе XP профешонэл, плюс 3 компа на XP хоум. Когда подключался второй пользователь, у всех жутко тормозило. Докумнеты записывались по полминуты. База dbf, где то в гиг размером. Сетку проверили - работает отлично. Свичи трикомовские. Покупать серверную винду на на сервер при сетке из 4 компов показалось глупостью. попробовал эту разработку. Щас у людей практически летает. Пожалуй поставлю на второй филиал ее же. ) там проблема точь в точь такая же, плюс еще касса вторая зависает через какое то время после подключения. Такой же сервак и машины.
111. tarasenkov 04.02.08 20:58 Сейчас в теме
110. hogik 428 04.02.08 15:46 Сейчас в теме
(109)(Tarasenkov)
“нет ли у Вас планов реализации поддержки одного из бесплатных серверов БД?”
Мне не известно ни одной бесплатной СУБД с навигационным методом доступа к данным поддерживающих клиент/серверный режим. А моделировать SEEK и SKIP с помощью SELECT это очевидный бред.
“Возможно вы могли бы объединить усилия с Александром Орефковым?”
Мне от него предложения не поступало. А то, что он делает по отношению к SQLite это совсем другая задача.
“…поддержки … бесплатных серверов БД…”
http://www.etersoft.ru/index.php?option=com_content&task=view&id=145&Itemid=1
109. tarasenkov 04.02.08 14:36 Сейчас в теме
Вопрос к автору: нет ли у Вас планов реализации поддержки одного из бесплатных серверов БД? (например sqlite или firebird).
Возможно вы могли бы объединить усилия с Александром Орефковым?
http://www.1cpp.ru/forum/YaBB.pl?num=1192855975
108. hogik 428 16.10.07 15:58 Сейчас в теме
(angro) (107)
“а вы случайно Advantage 8.1 с MS SQL сервером не сравнивали? как они по скорости?”
Нет. Возможно, на сайте разработчиков Advantage 8.1 есть такое сравнение.
Применительно к 1С (DBF и SQL версиям) "лобовое" сравнение серверов не прояснит вопрос скорости. Т.к. в моей разработке используется навигационный инструмент доступа к данным, а в MS SQL его нет. Сравнение же SQLных алгоритмов в этих СУБД будет интересен, если мне удастся реализовать прямые SQL запросы в РУСе. Но, пока, я об этом не думаю – надеюсь, что “родных” средств 1С будет достаточно (в части скорости).
Моя примерная оценка скорости решений на “родных” DBF, клиент/сервер на DBF (CodeBase), клиент/сервер на DBF (Advantage), клиент/сервер на MS SQL делалась следующим образом:
1) На “родных” DBF система работает быстрее, чем на MS SQL.
2) На CodeBase DBF система работает не медленнее, чем на “родных” DBF.
3) Сравнение навигационного доступа к данным CodeBase и Advantage на моей тестовой задаче (без 1С) показывает пятикратное преимущество Advantage на операциях чтения данных и, примерно, равную скорость на операциях записи.
Отсюда я сделал вывод, что решение на Advantage будет работать быстрее, чем SQLная версия 1С. А как это будет работать в реальных условиях, надеюсь, скоро увидим.
При этом решение на Advantage имеет много других преимуществ по сравнению с решением на CodeBase. Меня, пока, смущает только цена данного продукта. И в этом вопросе надо сравниваться с решением на MS SQL, включая, дополнительные затраты на дописывание в конфигурации прямых запросов для повышения скорости SQLной версии 1С.
107. angro 16.10.07 08:24 Сейчас в теме
а вы случайно Advantage 8.1 с MS SQL сервером не сравнивали? как они по скорости?
106. angro 15.10.07 13:05 Сейчас в теме
молодец автор, жаль только цена БД выше будет.
105. 33lab 469 12.10.07 23:08 Сейчас в теме
(hogik) (104)
пасиб.
присоединяясь к остальным - желаю успеха.
104. hogik 428 12.10.07 21:15 Сейчас в теме
(33lab) (103)

“Если есть такая возможность - хотелось бы услышать ожидаемые плюсы”
Основной “плюс” написан в разделе “Дополнительно” к данной разработке в виде “Объявление от 11.10.2007”.

“"Не будет" - Маленькой стоимости решения в целом.”
Если сравнивать цены CodeBase 6.5 и Advantage 8.1, то они различаются, примерно, как и скорость их работы.

“"Возможно не будет" - Обратного конвертирования БД в формат 1Са”
Оно появилось только в последних версиях DBEng32 (CodeBase 6.5) по просьбе одного из пользователей разработки. Изначально я задумывал, что и прямое и обратное конвертирование будет выполняться штатными средствами 1Са (загрузка/выгрузка). А прямое конвертирование сделано только из-за ограничения на размеры рабочего файла в этих штатных средствах 1Са. Работы по снятию этого ограничения проводились уважаемым romix и, похоже, успешно завершились. Ну и “возможно” обратное конвертирование - будет ;-).
103. 33lab 469 12.10.07 20:30 Сейчас в теме
(hogik) (100)
Чего не будет написано много :)
Гораздо интереснее услышать "что будет" ;)

Особенно в свете следуюших высказываний:
"Не будет" - Маленькой стоимости решения в целом.
"Возможно не будет" - Обратного конвертирования БД в формат 1Са.

Если есть такая возможность - хотелось бы услышать ожидаемые плюсы.
102. hogik 428 12.10.07 19:25 Сейчас в теме
(sergling) (101)
У меня сложилось впечатление, что если и нарушаются авторские права моей разработкой, то в других моментах. Равно как и в OpenConf. И переименование файла это уже мелочи. Но я воспользуюсь решением от OpenConf, т.к., возможно, что автор этой разработки прорабатывал вопрос нарушения авторских прав больше, чем это удалось сделать мне.
101. sergling 29 12.10.07 18:31 Сейчас в теме
я не дока в правовых вопросах, но мне кажется что одно дело переименовать dll авторов, другое - положить ее чуть в сторону IMHO
100. hogik 428 12.10.07 17:34 Сейчас в теме
(sergling) (99)

“может теперь получится без файлов *.lck”
Да. Этих файлов не будет. Останется из них только 1SxTTS.lck. Но открывать каталог информационной базы данных для общего доступа – придётся.
Уже определено чего не будет:
1) Режима ПДБД.
2) Временного хранилища (операции 32-39).
3) Примитивных запросов (операции 44-50).
4) Низкой скорости чтения БД при большом количестве пользователей.
5) Маленькой стоимости решения в целом.
6) Простоты эксплуатации в части самого сервера БД.
Возможно, не будет:
1) Обратного конвертирования БД в формат 1Са.
2) Контроля типа файлов по расширению (маленькие, большие буквы).
3) Обязательное наличие файла DBEng32.ini в каталоге информационной базы данных.
Возможно, добавится:
1) Прямые SQL запросы.
2) Возможность использования Linux в качестве серверной ОС.

“в связи со скользкой темой правомерности такой разработки предлагаю…”
Сделать так – не составляет труда. У Вас есть информация об таких тонкостях нарушения авторских прав? В чем разница между моим решением и решением в OpenConf? Я не смог найти такого материала. Пришлите мне, пожалуйста, если у Вас есть эти материалы.
99. sergling 29 12.10.07 16:34 Сейчас в теме
1. может теперь получится без файлов *.lck
2. в связи со скользкой темой правомерности такой разработки предлагаю все измененные dll складывать в подкаталок каталог BIN 1с. Оригинальное имя dbeng32 сохранить, а оригинальную dll - в подкаталог. Как реализовано в OpenConf. Все ж оригинальные файлы поставки даже не переименовываются.
98. item 11.10.07 18:29 Сейчас в теме
(97)
>> ....если это ошибка не в CodeBase, а в моей части программы то она перетащится и в версию на Advantage

Будут догадки - обязательно напишу.



Сори.
97. hogik 428 11.10.07 18:07 Сейчас в теме
(Item) (96)
“Периодически 1с на сервере вываливается и ругается на dbeng32.”
Такой режим эксплуатации клиент/серверных СУБД не рекомендуется всеми разработчиками. Надеюсь, сессия 1Са на сервере запускается не в режиме ПДБД?
“Подробностей предоставить не могу, не вижу.”
Жаль. Т.к., если это ошибка не в CodeBase, а в моей части программы то она перетащится и в версию на Advantage.
96. item 11.10.07 14:07 Сейчас в теме
Да, ждем. По правде, отказался я от CodeBase по причине непонятных падений на win2003s, 1cv7 25-го релиза. Периодически 1с на сервере вываливается и ругается на dbeng32. Подробностей предоставить не могу, не вижу.
95. Bubinga 11.10.07 12:04 Сейчас в теме
94. hogik 428 11.10.07 00:47 Сейчас в теме
Начата разработка DBEng32 на базе СУБД “Advantage 8.1” (www.AdvantageDatabase.com).
93. hogik 428 14.09.07 14:59 Сейчас в теме
(desty)
“в случае обнаружения некорректной работы, каким образом вам сообщать об этом”
1) Написать в этом “форуме”.
2) Написать письмо средствами данного сайта.
3) Написать письмо на мой реальный почтовый ящик.
4) Созвониться со мной по телефону, сообщив мне свой телефон в письме.
“и какую информацию предоставлять?”
Сначала сообщите мне о самом факте ошибки. Опишите “тестовую платформу” – версии, режим запуска и т.д. Опишите условия возникновения ошибки. Далее в процессе переписки всё остальное, как правило, выясняется достаточно быстро.
92. lustin 14.09.07 13:32 Сейчас в теме
вопрос: в случае обнаружения некорректной работы, каким образом вам сообщать об этом и какую информацию предоставлять?
91. CheBurator 14.09.07 01:48 Сейчас в теме
Читаю по-прежнему с большим интересом.
90. hogik 428 12.09.07 17:14 Сейчас в теме
(mihast)
“функционал turbobl включен в состав 1cpp…нравиться, что вместо 10 минут сложный отчет формируется секунд за 40.”
Я могу заняться вопросом совместимости моей разработки с turbobl, если автор расскажет об используемом алгоритме – задайте ему это вопрос.

“Очень часто происходят сбои на "сервере".”
Сбои возникают в сервере CodeBase или виновато железо, Windows и т.д.?

“В результате всегда ругается на LOG файл”
При заваливании “сервере” этот файл часто портится. Его надо удалять. Или, если выполняется перезагрузка Windows, то достаточно его разместить на RAM диске – тогда он будет удаляться автоматически.

“каждый день "главный" компьютер подвисает”
“В сети еще два пользователя”
А зачем тогда использовать технологию клиент/сервер.

“Если двое открывают подбор, то выбор каждой позиции номенклатуры занимает почти по 10 секунд.”
У нас номенклатура в 50000 наименований. Суммарный объем DBF файлов –5 гигабайт. Система используется и для розничной торговли. Чеки поступают в систему в дневное время – одна штука в 5-10 секунд. Кассовых аппаратов 6-10 штук. Чаще выбор товара осуществляется по штрих-коду. Но “бегание” по списку товаров используется продавцами тоже часто. Они не отметили падение производительности системы при переходе на сервер CodeBase по сравнению с “родными” DBF-ами. В какой-то версии моей разработки была ошибка, которая сильно замедляла многопользовательское движение по спискам в справочниках из-за “лишних” блокировок. Но она проявлялась, только если в строке № 9 файла DBEng32.ini установлена величина отличная от нуля.

“…компьютер подвисает и приходится пересоздавать индексы”
У нас с ноября 2006 года индексы не пересоздавались ни разу. Ну, если сервер падает “…по несколько раз в день”, то лучше вообще не использовать такой “сервер” для клиент/серверного режима работы.

“Все проблемы у клиента начались когда он с НЕ лицензионного сервера 2003 перешел на лицензионную XP Home Edition.”
А на 2003-ем какие были проблемы при использовании сервера CodeBase?

“После его проведения напрочь слетают остатки.”
1) Уточните, пожалуйста. Документ проводится в монопольном режиме и в режиме ПДБД? Если это так, то причина может быть в том, что я написал в “Объявление от 12.09.2007” раздела “Дополнительно” данной страницы сайта.
2) Сделайте, пожалуйста, эти манипуляции в “родных” DBF-ах. Там нет этой ошибки?

“Их впечатление - "Ужастно".”
Верните их на “родные” DBF-ы. На мой взгляд, для описываемой Вами, системы совершенно не нужен режим клиент/сервер. Кроме лишних проблем он ничего не даст.
89. mihast 65 12.09.07 15:16 Сейчас в теме
Уточнение. Перед "Пакетным вводом" делается перенос ТА назад, формируются документы, а затем ТА возвращается обратно.
Может быть и из-за этого что-нибудь происходит ? Обычно это все делается в монопольном режиме.
88. mihast 65 12.09.07 15:09 Сейчас в теме
(hogik)
Надеюсь, что мои предположения не верны…

Может быть в чем-то ты и ошибаешься, но по сути все именно так и обстоит.
Кстати, сейчас функционал turbobl включен в состав 1cpp. А я так часто ее использую во внешних отчетах :-( Уж больно мне нравиться, что вместо 10 минут сложный отчет формируется секунд за 40.

По платформе. Все проблемы у клиента начались когда он с НЕ лицензионного сервера 2003 перешел на лицензионную XP Home Edition. В сети еще два пользователя. У всех XP Home Edition. На "главном" компе, где лежит база сменили мать, поставили новый проц и добавили памяти. В результате этого перехода с Сервера-2003 на XP-Home скорость работы упала раза в три. Для удаленных станций. Это если каждая из них работает поодному. Если двое открывают подбор, то выбор каждой позиции номенклатуры занимает почти по 10 секунд.
В этом режиме (через CodeBase) работают уже месяц. Их впечатление - "Ужастно". Очень часто происходят сбои на "сервере". Иногда по несколько раз в день. В результате всегда ругается на LOG файл. Пока его не удалишь, сервер CodeBase не запускается. Практически каждый день "главный" компьютер подвисает и приходится пересоздавать индексы.
Но я сказал клиенту, что ничего тут не поделаешь, т.к. кроме Торговли на всех трех компах они одновременно работают в базах двух предпринимателей и двух бухгалтериях. А такое количество одновременно открытых файлов ни одна XP не потянет :-( Если честно, то я сам не проверял. Но так чуствую, что скоро придется. Потому что проявился еще один косяк.
Есть в ТиС такая обработка: "Пакетный ввод документов". Клиент использует ее для закупа у собственной фирмы по результатам работы за неделю. Т.е. сейчас стоит контроль остатков "По Компании" и по разным фирмам при продаже с разных складов получаются "Красные" остатки по Фирмам. Так вот, этот пакетный ввод создает документы с несколькими 2-4 сотнями строк товара. После его проведения напрочь слетают остатки. Лечиться через конфигуратор - "Тестирование и исправление" - Пересчет итогов.
Что за косяк ?
Бинарник 1с-ки 25-SQL в режиме DBF.
87. hogik 428 14.08.07 03:06 Сейчас в теме
Продолжение ответа-вопроса для Mikhail.
Конфликт возможен именно с TurboBL, если предположить, что в этой обработке делается:
1) Упорядочиваются имена объектов, методов и свойств для применения, например, дихотомического алгоритма поиска.
2) В результате перестановки эти имена приобретают другие порядковые номера.
3) Описание схемы базы данных (из файла 1CV7.DD) подвергается аналогичной обработке. Например, имя таблицы это “объект”, а имена полей и индексов это “свойства”.
4) Решён вопрос поиска имени по его порядковому номеру или в кишках 1Са всегда ищется объект, метод и свойства по их именам.
А т.к. в моей разработке содержимое файла 1CV7.DD хранится самостоятельно, то может образоваться расхождение в порядковых номерах понятий схемы базы данных упорядоченных средствами TurboBL и порядком хранения в моей разработке. В DBEng32 поступают команды воздействия на данные, как по именам, так и по номерам понятий. Чаще - по именам. Если обращение делается по номерам, то будут использоваться не соответствующие понятия. Т.е. будут путаться имена таблиц, полей и индексов.
Если мои предположения верны, то расхождения остатков это мелочи по сравнению с тем, как может испортиться база данных в результате расхождения номеров понятий схемы базы данных.
Надеюсь, что мои предположения не верны…
86. hogik 428 13.08.07 19:59 Сейчас в теме
Проверил на версиях:
DBEng32 – 5.1.2.6.
ТиС - 7.70.906.
TurboBL - 1.1.0.6 и 1.1.0.4.
TurboMD - 1.0.1.1.
1С:Предприятие 7.7 - 7.70.018.
Windows XP Professional x64 Edition (SP2).
Режим – клиент/сервер на одной машине.
Наблюдал за изменение остатков при проведении существующих и новых документов “Поступление ТМЦ” и “Реализация”. Остатки соответствуют содержанию документов.
Опишите, пожалуйста, Вашу тестовую платформу и манипуляции с документами.
85. mihast 65 13.08.07 13:37 Сейчас в теме
Поставил у клиента. Оказались проблемы при совместной работе с компонентами turbobl и turbomd. Я всегда ставлю их парой. Из за какой возникла проблема - незнаю. Удалил обе - все опять заработало.
Как проявилась проблема:
ТиС - последняя. Перестали проводиться документы реализации. Т.е. сами документы проводяться и отмечаются как проведенные, а движений регистров нет !!!
Из-за этого, естественно, поплыли остатки.
Вошел в отладчик. До половины кода модуля даже трассировка не доходила. вылетало черте-где.

Осторожнее со внешними компонентами !!! Могут и еще быть не совместимости.
84. CheBurator 26.07.07 02:21 Сейчас в теме
83. item 23.07.07 10:54 Сейчас в теме
(hoqik)
"...Если данная картина указывает на наличие ошибки в CodeBase или создаёт большие неудобства в его использовании, то давайте это сформулируем..."
Давайте не будем.
Будем проще.
Будем ждать от Вас новых новостей.
82. hogik 428 20.07.07 17:32 Сейчас в теме
(Item)
“а вот у клиента именно два”
“конфигуратор при реорганизации использует аж 4 порта”

Вот примерная картина использования портов:

Process-Name Local-Port-Address Remote-Port-Address
1CV7.EXE 1221 192.168.1.10 23165 192.168.1.10
1CV7.EXE 1222 192.168.1.10 23165 192.168.1.10
CBAdmin.exe 1223 127.0.0.1 23165 127.0.0.1
CBAdmin.exe 1224 127.0.0.1 23165 127.0.0.1
s4server.exe 23165 192.168.1.10 1221 192.168.1.10
s4server.exe 23165 192.168.1.10 1222 192.168.1.10
s4server.exe 23165 127.0.0.1 1223 127.0.0.1
s4server.exe 23165 127.0.0.1 1224 127.0.0.1

Специально запустил еще и CBAdmin, что бы показать, что каждое соединение с сервером использует порт 23165 дважды. Т.е. это не особенности 1C+DBEng32, а особенности CodeBase. В случае запуска конфигуратора картина будет “2х2”, что и написано в предыдущем моём ответе. Если данная картина указывает на наличие ошибки в CodeBase или создаёт большие неудобства в его использовании, то давайте это сформулируем, и я отправлю это в Sequiter Inc. Желательно на английском, французском или японском языке, что бы ни мне, ни им не мучится с переводом.
81. item 20.07.07 13:11 Сейчас в теме
(hoqik)
Еще
У меня конфигуратор при реорганизации использует аж 4 порта
80. item 20.07.07 13:09 Сейчас в теме
(hoqik)
Смотрел 1Сv7 процесс-вьевером (плагин TotalCmd PE)
1С Предприятие (Клиент) в любом режиме работы
задействует два local tcp порта,
например 192.168.0.2:1121 и 192.168.0.2:1121;
на стороне сервера как и описано в доке, remote 23165, без вопросов,
а вот у клиента именно два.

Оставьте свое сообщение