Kernel3x - решение проблемы 1 гигабайта для DBFной версии 1С:Предприятие 7.7

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

Разработка - Практика программирования

Одним из недостатков DBFной версии “1С:Предприятие 7.7” является ограничение на размер файлов – 1 гигабайт. При этом если система эксплуатируется в однопрограммном режиме, то размер файла может быть 2 гигабайта, однако если появится второй пользователь, а файл будет больше 1 гигабайта, то система 1С начинает сбоить по ЧТЕНИЮ, у одного пользователя, если другой выполняет запись/обновление данных. Например, если выполнять цикл по выборке данных, то он может “тихо” прекратиться в любой момент, не предоставив программе всего множества объектов.

O сути проблемы - FoxPro совместимом формате доступа к DBFам.
Для управления блокировками записи используется функции Win API LockFile() и UnlockFile(). Эти функции обеспечиваю блокировку участка файла “полностью” и по записи и по чтению. Если использовать эти функции непосредственно к участкам файла эквивалентным самим записям DBFа, то теряется возможность чтения записи. Поэтому в FoxPro принят “хитрый алгоритм” – блокируются участки файла начиная со 2GB, упрощенно говоря, отдельные куски файла логически сопоставленные с номерами реальных записей DBFа. Таким образом, реальный участок файла можно читать, т.е. моделируется блокировка по записи, но не по чтению. Если же реальные записи начинают располагаться после 1GB, то “технологические блокировки” наезжают на процесс чтения. Возникает сбой по чтению. В 1С не обрабатывается должным образом аварийный код возврата. Например, в функциях найти по ключу в 1С - получают аварийны код возврата, а в программу пользователя (конфигурацию) возвращают признак – объект не найден.
В Kernel33 делается очень простая вещь. Все обращения к функциям Win API отправляются в kernel32. А для функций LockFile() и UnlockFile() к параметру, указывающему стартовый адрес блокировки, добавляется число 2GB и так отправляется в kernel32. Таким образом, технологические блокировки уходят в 4GB. А так как существует уже другое ограничение на размер DBFов в 2GB, то в 4GB никакая реальная запись не попадёт.

Другие решения для снятия ограничения на размер информационной базы данных в “1С:Предприятие 7.7”:
1) http://www.etersoft.ru/index.php?option=com_content&task=view&id=157&Itemid=1
2) //infostart.ru/projects/1359/
3) //infostart.ru/projects/811/
В разработках номер 2,3 размер таблицы ограничивается количеством записей – 2147483647 штук, а не размером файла.

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

Наименование Файл Версия Размер
-

.1204118412 41,60Kb
2070
.1204118412 41,60Kb 2070 Скачать бесплатно
-

.1223930460 12,30Kb
643
.1223930460 12,30Kb 643 Скачать бесплатно
Kernel33.zip

.zip 16,61Kb
266
.zip 16,61Kb 266 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1306 27.02.08 17:43 Сейчас в теме
Интересно, нужно посмотреть.
2. withoutface 27.02.08 23:52 Сейчас в теме
А что это за ограничение "на размер файлов – 1 гигабайт"? 2 - знаю, 1 - нет.
И можно узнать ноу-хау разработки?
3. hogik 437 28.02.08 00:28 Сейчас в теме
“И можно узнать ноу-хау разработки?”

Вот мой ответ (номер 21) на аналогичный вопрос от “СергейК” в “форуме” под разработкой http://infostart.ru/projects/811/. Там же (в обсуждениях) есть и более подробная информация на эту тему.

Сначала о самой сути проблемы - FoxPro совместимом формате доступа к DBFам.
Для управления блокировками записи используется функции Win API LockFile() и UnlockFile(). Эти функции обеспечиваю блокировку участка файла “полностью” и по записи и по чтению. Если использовать эти функции непосредственно к участкам файла эквивалентным самим записям DBFа, то теряется возможность чтения записи. Поэтому в FoxPro принят “хитрый алгоритм” – блокируются участки файла начиная со 2GB, упрощенно говоря, отдельные куски файла логически сопоставленные с номерами реальных записей DBFа. Таким образом, реальный участок файла можно читать, т.е. моделируется блокировка по записи, но не по чтению. Если же реальные записи начинают располагаться после 1GB, то “технологические блокировки” наезжают на процесс чтения. Возникает сбой по чтению. В 1С не обрабатывается должным образом аварийный код возврата. Например, в функциях найти по ключу в 1С - получают аварийны код возврата, а в программу пользователя (конфигурацию) возвращают признак – объект не найден.
В Kernel33 делается очень простая вещь. Все обращения к функциям Win API отправляются в kernel32. А для функций LockFile() и UnlockFile() к параметру, указывающему стартовый адрес блокировки, добавляется число 2GB и так отправляется в kernel32. Таким образом, технологические блокировки уходят в 4GB. А так как существует уже другое ограничение на размер DBFов в 2GB, то в 4GB никакая реальная запись не попадёт.
4. vasilykushnir 28.02.08 16:03 Сейчас в теме
(3) Толково обяснил. Коммет спокойно можно перенести в описание обработки. (Эх жаль, нет книги знаний....)
5. фокусник 24 05.03.08 14:11 Сейчас в теме
Времена ограничения файла в 1ГГб канули в лета ещё в 1997 году. Максимальный размер файла такого размера, был ещё когда работали на VS 6.0.
http://msdn2.microsoft.com/en-us/library/3kfd3hw9(vs.71).aspx. Сейчас как видно по ссылке ограничения в 2 гига, и ограниченны они максимальным размером который поддерживает операционка -4096 МГб. Хотя в целом идеология описана првильно. Вот если ты сделаешь максимальный размер файла в 4 ГГб или более, это будет хорошо, а так пока минусую. У нас файл остатков в начале 2007 года был под один гиг, а к концу достиг 1,9 ГГб. При размере 1,7 ГГб начались проблемы, но подкинули дисков, убрали остальные базы, и ничего, доработали до конца года без глюков.
6. ded00786 347 05.03.08 15:19 Сейчас в теме
7. hogik 437 05.03.08 17:21 Сейчас в теме
Если каждый, не умеющий читать, “Фокусник” будет ставить минусы разработчикам, то все “в минусах ходить будем”. Всё, что Вы написали, не имеет никакого отношения, к описанной мной проблеме 1GB в 1С 7.7.
Теперь по пунктам:
1) “Максимальный размер файла такого размера, был ещё когда работали на VS 6.0.” – А 1С 7.7 и её СУБД написаны именно на VS 6.0. Но проблем не из-за этого.
2) “Сейчас как видно по ссылке ограничения в 2 гига, и ограниченны они максимальным размером который поддерживает операционка -4096 МГб.” – Думаю Вам пора переходить на другую ОС. Сейчас ограничения на размер файла другие. А ограничения на 4GB (или меньше) зависят от конкретной программы. Загляните в описание Win32 API.
3) “Хотя в целом идеология описана првильно.” – Жаль, что Вы её не поняли.
4) “Вот если ты сделаешь максимальный размер файла в 4 ГГб или более, это будет хорошо,” – Это уже сделано. Посмотрите другие мои разработки на этом сайте.
5) “размере 1,7 ГГб начались проблемы, но подкинули дисков, убрали остальные базы, и ничего, доработали до конца года без глюков.” – Важны не события, а наше отношение к ним. А НЕзнание – сила.
6) “а так пока минусую” – Жаль, что разработчики сайта запретили ставить минусы на комментарии к собственной разработке. Прошу считать мой Вам ответ как огромный минус.
acanta; victuan; Timesoft; savvateev_den; Bazil; Абыр; soft_warrior; g26516; brr; Sanario; vugluscr1991; knight; via; Cthulhu; const000; pegas6; fart07; afk; корум; Ёпрст; АндрейКр; ev-kov; Al-X; mihast; rovix; Kapitan911; lefthander; zarius; artbear; vasilykushnir; +30 Ответить
8. vasilykushnir 06.03.08 15:01 Сейчас в теме
9. hogik 437 06.03.08 16:46 Сейчас в теме
(8) Спасибо.
Но так хочется похвалы от “Фокусник”-а. ;-)
10. rovix 08.10.08 11:04 Сейчас в теме
при использовании Вашей разработки перестали работать ВК от romix (plugin_sleep_dbf.dll для обработки 100% загрузки процессора при ожидании блокировки таблиц, vk_log_write_doc.dll - для регистрации запуска внешних отчетов запускаемые с помощью hook_1c, не работает также ВК vk_sleep_1C.dll запускаемая из ГМ. Пробовали Вашу ВК kernel37.dll - тоже без эффекта :(
Может неправильно пытались ее использовать? Мы переименовали ее в kernel33.dll, а все остальное уже было сделано для решения проблемы 1Г. Может надо было положить ее рядом с kernel33.dll?
11. rovix 08.10.08 13:34 Сейчас в теме
извинюсь, с kernel37.dll все получилось
12. hogik 437 08.10.08 16:29 Сейчас в теме
(10-11)(rovix)
"с kernel37.dll все получилось"
Думаю, Вы ошибаетесь. Она просто лежит рядом с 1С и ничего не делает. Посмотрите сообщение #28 в http://infostart.ru/projects/1515/.
13. rovix 09.10.08 10:29 Сейчас в теме
(12)(hogik)
hogik 26.12.2007
Цитирую:
>> Кстати, как работает с Kernel33.dll от http://infostart.ru/projects/811/ ? Глючит?
Да. Поэтому и появился Kernel37. Но алгоритм у romix лучше.
>> Может в вашей компоненте заложить снятие ограничения в 1ГБ для ДБФ баз?
Данный алгоритм должен включатся до открытия файлов DBF. А алгоритм разработки может включаться и позже. Проще в разработке romix учесть при перехвате еще и имя Kernel33.
Из этого поста делаю заключение, что в kernel37 все же существует алгоритм решения 100% загрузки проца, так что она лежит не просто рядом, а выполняет две функции снятие проблемы 1Г и 100% загрузки.
Сегодня еще раз проверил по методике описанной в описании разработки http://infostart.ru/projects/1515 - работает.
Спорить не буду хуже-лучше, но РАБОТАЕТ!!! И за это ей (и автору спасибо)
а вот как быть с vk_log_write_doc.dll?
14. hogik 437 09.10.08 16:10 Сейчас в теме
(13)(rovix)
Я не вижу связи (конфликта) между vk_log_write_doc и Kernel3x.
Поясните, пожалуйста, в чем суть вопроса (проблемы).
15. rovix 09.10.08 17:42 Сейчас в теме
Я не зная, конфликт там или недопонятки у них (дээлэлок :)), но факт на лицо :(
До применения kernel33(37) исправно регистрировались открытия всех внешних отчетов, а после не регистрируется ни одного открытия.
То есть, либо vk_log_write_doc не грузится совсем, либо не получается у нее перехватить нужное событие.
16. hogik 437 10.10.08 02:27 Сейчас в теме
(15)(rovix)
Я проверил совместимость Kernel3x с vk_log_write_doc (версия от 25.10.2006). Да, в журнал ничего не пишется. Но и без Kernel3x ничего в журнал не пишется. Возможно я чего либо не так делаю. Я пробовал на тесте, включенном в эту разработку. И там про регистрацию "открытия ... внешних отчетов" ничего не говориться.
17. rovix 10.10.08 09:45 Сейчас в теме
у нас версия от 17.10.2006 идущая в составе разработки hook_1c. Библиотека подгружалась с помощью hook_1c.dll при старте 1С. Для того чтобы работала hook_1c.dll делался патч seven.dll
Цитата из прилагающейся документации:
Установка:
1) Скопировать в папку 1cv7\Bin файлы
- Hook_1C.dll
- patch_Hook_1C.exe
- папку Plugins.
Сделать резервную копию папки BIN.
2) Запустить программу-патчер patch_Hook_1C.exe
3) В файле Hook_1C.ini указать, какие плагины требуется загружать.
Ненужные в данный момент плагины можно закомментировать символом ';'
конец цитаты.
vk_log_write_doc пишет не в журнал, а в папку LOG_ERT в каталоге базы данных.
18. hogik 437 10.10.08 17:46 Сейчас в теме
(17)(rovix)
Я пробовал http://www.kb.mista.ru/article.php?id=380&edition=4 В этой разработке нет "hook_1c". И, как я понимаю - не требуется. Дайте ссылку на то, что Вы используете. Или пошлите мне эту разработку на адрес из описания Kernel3x.
19. rovix 13.10.08 09:02 Сейчас в теме
(18)(hogik)
Приношу свои извинения, речь шла про компоненту log_ert.dll из http://www.kb.mista.ru/article.php?id=277
20. hogik 437 13.10.08 19:25 Сейчас в теме
(19)(rovix)
Проверил совместимость plugin_log_ert.dll (версия от 17.10.2006) с Kernel3x. Не работает и без установки Kernel3x. Однако по исходным текстам plugin_log_ert я не обнаружил возможных конфликтов с Kernel3x. Почему оно не работает - я не разбирался. Обратитесь к Роману (roMix).
21. hogik 437 13.10.08 22:48 Сейчас в теме
+(20)
(19)(rovix)
Дополнение к собственной фразе: "...я не обнаружил возможных конфликтов с Kernel3x".
Это при условии, что не проводится замена имени Kernel32 на Kernel33 в библиотеке Seven.dll. Для решения "проблемы 1 гигабайта", на самом деле, достаточно модифицировать только библиотеку DBEng32.dll. См. сообщения 33-34 в http://infostart.ru/projects/811/?cp=all
22. rovix 14.10.08 14:55 Сейчас в теме
да, действительно, если убрать kernel33 из seven.dll, то все начинает работать. Спасибо.
23. Montecrizto 116 30.08.09 04:59 Сейчас в теме
Спасибо автору за разработку выручил (еще один + )
24. soft_warrior 13 22.10.09 08:52 Сейчас в теме
у нас похожая проблема - при попытке провести документы (притом не все, на некоторых проходит нормально) выпадет сообщение с заголовком "DATABASE ERROR" из dbeng32.dll функции по адресу call 1F113900
место входа в отработку ошибки- :1F110ECE
содержит в первом сообщении -310 corrupt index file,
во втором вообщении еще имеется строка IDELETED
зависимости пока не нашел, но база не дошла до 1 гб ниодним файлом:
макс CDX 975605750 байт 1SACCSEL.CDX
макс DBF 757236620 байт 1SACCSEL.DBF
в ней же макс число записей - 16827474.
после упаковки смотрел 1SACCSEL.DBF
было 16827474 записей
стало 16925928 записей (тут уже работа идет - так что возможно просто прибавились)
индексы были 975 мегов, стал 440 мегов
он получается что файл не чистится?
пока удалось вылечить лишь сжатием базы до полугодия.

25. soft_warrior 13 22.10.09 10:30 Сейчас в теме
продолжение сообщения 24...
1SACCSEL.DBF остался одним и темже размером - просто не сжимали помеченные на удаление записи в файлах.
26. Altair777 643 22.10.09 10:56 Сейчас в теме
(0) по первой ссылке ( http://www.etersoft.ru/index.php?option=com_content&task=view&id=157&Itemid=1 ) не пускает без регистрации
У Вас нет прав для просмотра этого ресурса.
Вы должны зайти как пользователь.


Это такая раскрутка сайта? :)
27. SVR27 25.01.10 08:57 Сейчас в теме
Когда в базе стали проявляться разночтения при формировании отчетов, база была пропатчена (Kernel37 на терминальном сервере win 2003), работоспособность восстановилась, база работает до сих пор (размеры 6 самых больших файлов за 1гб в сумме весят 8гб). В другой базе, где 1с работает под win 2003 x64, 2 таблицы переросли 1гб и начались проблемы. Может ли разрядность операционки влиять на работоспособность этой бибилиотеки? Может кто-то сталкивался с такой проблемой, расскажите как её решали?
28. hogik 437 25.01.10 20:52 Сейчас в теме
(27) (SVR27)
"...под win 2003 x64...начались проблемы"
1) Проблемы начались после установки Kernel3x ?
2) Как проявляются проблемы ?
P.S. См. сообщение (24) данной темы. У Вас такая ошибка? Мне, по таким случаям, много приходит писем. И у всех стоит Win2003 x64. Эта ошибка не имеет отношения к проблеме "1 гигабайт". И применение Kernel3x её не лечит.
29. SVR27 26.01.10 10:02 Сейчас в теме
В общем ситуация следующая: файл одного из регистров перерос 1гб. При открытии периода выходит ошибка codebase error -310. Собственно так и было примерно год назад на другой базе, которая работает под обычной 32-битной виндой. Её пропатчили kernel37 и проблема исчезла. Сейчас в той базе 6 таблиц размером больше 1гб и всё отлично работает. На 64-битной системе сделан абсолютно такой же патчинг, но получается даже с ним стали вылетать ошибки индексов.
p.s. Индексы восстанавливаю ежедневно (путем удаления *.cdx и запуска в монопольном режиме)
31. hogik 437 26.01.10 20:38 Сейчас в теме
(29)(SVR27)
"...даже с ним стали вылетать ошибки индексов"
Могу, только, повторить еще раз. Ошибка -310 никак не связана с проблемой "1 гигабайта" и с помощью Kernel3х не лечится. По приходящим мне письмам складывается впечатление, что возможные причины ошибки -310 в следующем:
0) Действительно испорченные индексы.
1) Количество индексируемых записей в таблице больше 3-5 миллионов.
2) Большой размер ключа.
3) Выполняется большое обновление таблицы с ключевыми значениями с обратным порядком индекса.
4) Маленькая страница индексного файла. Её размер - 512 байт. И изменить это невозможно.
При этом сказывается различное сочетание событий пунктов 1-4.
Для себя я сделал вывод, что это ошибка в движке (CodeBase) на котором работает 1С 7.7 DBF-ной версии. В большинстве, приходящих мне, писем говорится об использовании "Windows 2003 x64" в терминал серверном режиме. Т.е. негативное влияние ОСа, на появление данной ошибки, я не исключаю.
В "CodeBase 6.5" такой ошибки не возникало. Кроме этого в нём можно увеличить размер страницы индексного файла.
32. hogik 437 27.01.10 15:38 Сейчас в теме
(29)(SVR27)
Сергей.
Проверьте, пожалуйста, как себя поведет 1С, если у всех пользователей сделать доступ к каталогу базы данных, как к сетевому ресурсу (для "Windows 2003 x64" в терминал серверном режиме). Т.е. в запуске сессий 1С поставить "\\Сервер\Ресурс". Скорость работы 1Са снизится. А, интересно, ошибка -310 будет возникать?
33. SVR27 02.02.10 22:34 Сейчас в теме
(32) попробовал, ошибка возникает.
Кстати, интересный факт, очередной период (1 февраля) открылся без ошибок. Если смещать ТА назад например на 25 января, то ошибка возникает.
34. hogik 437 02.02.10 22:57 Сейчас в теме
(33)(SVR27)
Я бы, на Вашем месте, еще проверил работоспособность системы с этой базой:
1) В терминал серверном режиме на НЕ x64.
2) В файл серверном режиме.
И если ошибка будет возникать, то - переходить на другую СУБД...
35. SVR27 03.02.10 07:33 Сейчас в теме
(34)
1) Это я уже проверил, ситуация аналогичная.
2) Т.е. помимо описанного в (32) трюка ещё и с другой машины? (upd. Проверил, не помогает).
Теоретически можно перейти на SQL версию, но мне она нравится меньше. Одна база у меня работает на ней, по умолчанию все работало очень медленно. После замены ключевых тормозов на прямые запросы стало терпимо, но другие базы на SQL переводить все равно не хочется. Да и ситуация с 310 ошибкой на самом деле не совсем ужасная. И опыт борьбы с ней уже кое-какой имеется. помогает уменьшение файла, т.к. ошибка начинает появляться на файле большого размера, из-за чего и делался неверный как оказалось вывод о связи с проблемой гигабайта. Если штатными средствами ужать файл не получается, режу остатки за начальный период работы (например пару месяцев), обращение к которым маловероятно: в Foxе DELETE ALL FOR Rg283.period<{^2009-02-01} или DELETE FROM ra283 WHERE iddoc in (select iddoc FROM 1sjourn WHERE date<{^2009-02-01}) или DELETE FROM dt833 WHERE iddoc in (select iddoc FROM 1sjourn WHERE date<{^2009-02-01}), это мои 3 проблемных файла. А вообще скоро уже базу буду сворачивать резать, как это происходит ежегодно.
Такие вот дела, спасибо за ваши советы и помощь.
Кстати, уважаемый (hogik), насколько я понимаю в (32), когда упоминали другую СУБД имели в том числе и Ваши наработки по использованию CodeBase и Advantage?
36. hogik 437 03.02.10 23:50 Сейчас в теме
(35)(SVR27)
"... упоминали другую СУБД .... в том числе ... CodeBase и Advantage?"
Да. Но сравниться по скорости с родными DBF-ами в терминальном режиме, может только разработка на "CodeBase 6.5" в режиме ПДБД. Работает ОНО быстрее и нет проблем с размером таблиц...
39. SVR27 03.05.10 12:10 Сейчас в теме
Если уж тема немного ожила, добавлю еще немного из практического опыта. Практика действительно опровергает причастность "ошибки -310" к ограничению 1гб. Вывод я для себя сделал, когда в очередной раз возникла ошибка и я отрезал описанным в (35) способом все файлы, переросшие 1 гб. Результат был нулевой, т.е. все файлы базы были размером меньше гигабайта, а ошибка все равно возникала :) Путем дальнейших поисков была выявлена "таблица-героиня", которой оказалась 1SCRDOC.DBF (её размер был "всего" 852 мб), в которой на тот момент было около 17 млн. строк. Я ее тоже немного "подрезал", удалив все ссылки на подчиненные документы с датой раньше, чем рабочий период базы. Ошибка исчезла. Но возникла вновь спустя каких-то 2 недели. Здесь я уже не стал тревожить большие таблицы, а сразу порезал перекрестные ссылки. Правда по ошибке вместо одного месяца удалил один день, и через день ошибка снова выскочила как чёртик из табакерки, т.е. получилось - отрезал день, получил возможность работать день. А патч на 1гб. - он работает. База, про которую я писал в (27), прекрасно работает с таблицами свыше 1 гб. (размер максимального файла 1,853 гб) на той же конфигурации. Так вот там 1SCRDOC.DBF весит 247 мб и около 7 млн. записей и повторюсь, все работает.
Так что (резюмируя), для себя я сделал выводы, что в действительности причиной ошибки 310 скорее всего является слишком большое число записей в какой-либо таблице (предположение высказывал hogik в (31) ), критическая граница в моем случае около 16-17 млн. записей. Хотя может истинная причина лежит поглубже, подожду коментариев более подкованных товарищей.
Возможно offtop, но может кому пригодится.
Zefiroute; soft_warrior; g26516; АндрейКр; fedor40; hogik; +6 Ответить
30. soft_warrior 13 26.01.10 10:50 Сейчас в теме
используя давно забытые со школы умения, поглядел библиотеку.
точек входа в эту ошибку вообщето далеко не одна, а как минимум 4,
и относятся к файлам индексов.
Так что патчем одной ошибки это врядли ограничится.
37. kas4info 30.04.10 15:30 Сейчас в теме
чем редактировать файлы библиотек?
38. hogik 437 30.04.10 16:28 Сейчас в теме
(37)(kas4info)
1) "...файлы..." - см. сообщение (21) данной темы.
2) "чем редактировать..." - http://ru.wikipedia.org/wiki/HEX-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80
40. AlexFF 22.11.10 16:56 Сейчас в теме
После замены kernel32.dll на 33, выходит следующая ошибка:
Приложение или библиотека c:\1См77\BIN\DbEng32.dll не является образом программы Windows NT. Проверьте назначение установочного диска.

Подскажите, что я сделал не так.
41. hogik 437 23.11.10 04:19 Сейчас в теме
(40)
"Подскажите, что я сделал не так."(с)
Алексей.
Не так внесли исправления в библиотеку. Чаще всего, в момент редактирования стоял режим "сдвига"(вставки), а не "забой" в HEX-редакторе.
42. AlexFF 23.11.10 13:18 Сейчас в теме
Я менял с помощью WordPad. Не мог найти в интернете бесплатный Hex-редактор
43. hogik 437 25.11.10 02:55 Сейчас в теме
(42)
См. сообщение #38 данной темы.
rinari_AVA; +1 Ответить
44. rinari_AVA 30.11.10 18:43 Сейчас в теме
Проблема Следущая:
база в DBF формате, весит уже 8Гб. 2 таблицы больше 1 ГБ одна из них dbf -ка проводок,2-я CDX отбор счетов. Пользователей 20.
Воспользовалась kernel33.dll. Начали работать и вроде все ок Но примерно ч/з час снова начало выбивать ошибки либо не пускает в программу (пишет, что не может прочитать константу) либо тормозит проведение ожидание захвата таблицы. Установила vk_TerminalSleep,эффект тот же.Чем дальше тем у большего числа пользователей. После переиндексации какое-то время работает , потом снова. Может подскажите, что еще можно сделать?
45. hogik 437 30.11.10 19:25 Сейчас в теме
(44)
1) "снова начало выбивать ошибки "(с)
http://infostart.ru/public/77617/
2) "После переиндексации какое-то время работает"(с)
http://infostart.ru/public/15211/
http://www.wirth.ru/publ/test_1_v7dbnet/1-1-0-1 (
3) "Может подскажите, что еще можно сделать?(с)
а) 1С 8.х
б) 1С 7.7 + MS SQL + http://1cpp.ru
4) "Установила vk_TerminalSleep"(с)
Меня это удивляет. Вы читали описание Kernel3x ?
46. rinari_AVA 01.12.10 14:43 Сейчас в теме
(45)3б) это и собираемся делать, но надо найти временное решение пока переведем, т.к в конфе используются свои классы и после простой конфертации наши классы не работают. А на базе работать весьма проблематично, а это розн. магазин продуктовый постоянный большой документооборот.
4 Читала, там предлагалост еще kernel37.dll. и ссылка на vk_TerminalSleep. Не утверждаю что использовала это правильно, т.к с такими манипуляциями столкнулась впервые.
47. hogik 437 01.12.10 17:42 Сейчас в теме
(46)
"...с такими манипуляциями столкнулась впервые."(с)
Огромная к Вам просьба!!!
Наймите (пригласите) на работу программиста и покажите ему нашу переписку.
48. rinari_AVA 01.12.10 18:28 Сейчас в теме
(47)Очень информативно, а главное "помогло". Я так поняла все возможные варианты вы дали в предыдущем сообщении и других нет.
А последнее сообщение="Посмотрите какой я умный". Поздравляю,но я спрашивала не об этом. "Не стыдно чего-то не знать, стыдно не хотеть знать"
49. hogik 437 01.12.10 19:47 Сейчас в теме
(48)
Очень странная и обидная, для меня, оценка моего сообщения. :-(
В конце описаний моих разработок написан мой e-mail.
У Вас есть возможность "списаться" со мной и получить мой номер телефона.
Позвонить мне и получить от меня любую консультацию по любой, известной мне, проблеме (задаче). Многие люди так и делают. Я денег за это не прощу и не получаю. Единственно, что от Вас требуется - понимать то, что я Вам буду говорить. А говорить мы будем очень о многом и очень долго. И начнем мы разговор с выяснения какие "начало выбивать ошибки"(с). Т.е. её содержание, а не сам факт появления ошибки...
P.S. А показать нашу переписку надо программисту, т.к. в моих сообщениях, думаю, есть решение (временное) проблем в Вашей системе. И у Вас, возможно, появится время для спокойного перехода на другие системы. Мой совет "показать программисту" - это не попытка "ткнуть Вас", а облегчение программисту поиска готовых (в рамках его специальности) решений.
P.P.S. У меня есть огромное подозрение, что база данных в Вашей системе сильно попорчена в результате сбоев. И избавление от факта "выбивания ошибок" - это не всё, что придется делать программисту.
50. yra111 17.01.11 19:29 Сейчас в теме
Сервак 2003виндовс х64, юзеры в терминалке работают,12Гб оперативки,,1С 7.70.026 ,DBF УПП,4Гб общий размер(в архиве 400кб),самая закабаневшая ДБФка 2Гб.Ведется с 2005 года, но обрзеалово ничего толкового не даст,росла она нелинейно по времени. если срезать по 2009г включительно - размер ополовиниваеться.
Как это вообще по мировым стандартам, много ли?

Ну и наблюдаеться следующая проблемма: формируем анализ счета или еще какойнить стаддартный отчет,видим что у Иванова по 71 счету СКД 200$, жмем много раз ОБНОВИТЬ и там уже 300$,или нуль вообще ,у кого как. Не по всем субконтам но по многим.
кернелл33 тут поможет?Или как еще можно выкрутиться?
51. hogik 437 17.01.11 20:04 Сейчас в теме
(50)
1) "закабаневшая ДБФка 2Гб"(с)
Ограничение на DBF - 2 гигабайта.
2)"Как это вообще по мировым стандартам, много ли?"(с)
Для DBF - очень много.
3) "...кернелл33 тут поможет?"(с)
Для решения этой проблему и сделан.
4) "Или как еще можно выкрутиться?"(с)
Переходить на другую СУБД.
52. yra111 17.01.11 20:33 Сейчас в теме
Ограничение на DBF - 2 гигабайта.<>Для решения этой проблему и сделан.
тоесть к33 снимет это ограничение, и базе можно будет отожраться до 4х ГБ ?
54. hogik 437 17.01.11 22:47 Сейчас в теме
(52)(53)
Проблема типа "жмем много раз ОБНОВИТЬ и там уже 300$,"(с) возникает при размере файла больше 1 гигабайта. Именно эту проблему решает Kernel3x. А ограничение в 2 гигабайта снимается применением других СУБД. Это ограничение заложено в FoxPro совместимом формате DBF.
53. yra111 17.01.11 21:13 Сейчас в теме
"Таким образом, технологические блокировки уходят в 4GB. А так как существует уже другое ограничение на размер DBFов в 2GB, то в 4GB никакая реальная запись не попадёт."
тоесть к33 снимет 2Гб ограничение, и базе можно будет отожраться до 4х ГБ ?
55. sss999 48 20.04.11 10:59 Сейчас в теме
А что за истрия про жмем много раз обновить?
56. yra111 20.04.11 13:00 Сейчас в теме
так написано выше... при размере самой толстой ДБФки приближающемся к 2Гб итоги начинают "плавать" - тоесть один раз формируем бух. ит. по чемнибудь получаем одну сумму, формируем через 5 секунд еще раз с теми же параметрами - получаем другую... есстесственно за эти 5 секунд никто по этому счету ничего не вносил.
57. hogik 437 24.08.11 02:48 Сейчас в теме
Пришло мне сообщение на электронный ящик:
"Новый голос за "Kernel3x - решение проблемы 1 гигабайта для DBFной версии 1С:Предприятие 7.7" от пользователя andrewbc.
Оценка: -1"

Заглянул в тему. Минус стоит. Причина (комментарий) - отсутствует.
Автор "минуса" - может напишете причину?
Ошибка в программе? Или еще - что?
58. andrewbc 291 24.08.11 17:45 Сейчас в теме
(57) "Одним из недостатков DBFной версии “1С:Предприятие 7.7” является ограничение на размер файлов – 1 гигабайт." - это абсолютно не верно, даже с добавкой "При этом если система эксплуатируется в однопрограммном режиме, то размер файла может быть 2 гигабайта, однако если появится второй пользователь, а файл будет больше 1 гигабайта, то система 1С начинает сбоить по ЧТЕНИЮ". Поэтому и минус (это мое личное мнение, основанное на 7-летнем опыте работы с 7.7). Владимир, я уважаю Вашу работу в плане глубокого тестирования платформы 1с, но могу со 100% уверенностью сказать, что по крайней мере 5 из известных мне баз работает с dbf-файлами размером более 2.5 - 2.7 Гб, а одна даже с 3.7, (регистры партии, покупатели, проводки, ссылки счетов), причем 2 из них работают в распределенном режиме, с одновременным количеством пользователей от 10 до 30. Проблема, наверное, не в размере файла, а размере конкретного файла (например, журнала документов или констант и периодических реквизитов, может, еще чего, нужно тестировать конкретную базу и конфигурацию) или алгоритмов обработки.
59. hogik 437 24.08.11 18:15 Сейчас в теме
(58)
Андрей.
Спасибо, что пояснили своё "личное мнение, основанное на 7-летнем опыте работы с 7.7"(с) при вынесении вердикта - "минус". ;-)
В свой "список", известных Вам больших баз, можете добавить информацию о "моей" базе - 10 ГБ одних DBF-ов. Работает на родном движке 1С-а более 10 лет. Кстати, без единой свертки за это время. ;-) Но проблему "1ГБ" мы получили на второй год. Т.к. размер ОДНОГО файла превысил этот размер. У нас, примерно, на 0.9 ГБ в год прирастало.
В описании моей "разработки" написано:
"Одним из недостатков DBFной версии “1С:Предприятие 7.7” является ограничение на размер файлов – 1 гигабайт."(с) Там нет слов - ВСЕХ файлов. :evil:
И, если прочесть хотя бы второе предложение из моего описания "...а файл будет больше 1 гигабайта, то..." - это становится совсем очевидно. :-)
Не надо присоединяться к сообществу "фокусник"-ов (сообщение #5 данной темы).
Думаю, Вы не "фокусник", а программист... ;-)
60. andrewbc 291 25.08.11 13:55 Сейчас в теме
(59) К сожалению, уважаемый автор неправильно истолковал смысл моего комментария. "по крайней мере 5 из известных мне баз работает с dbf-файлами размером более 2.5 - 2.7 Гб, а одна даже с 3.7" - это значит, что не ВСЕ файлы, а размер по крайней мере ОДНОГО из файлов в данных базах имеет указанный объем. А общий размер каждой из этих ИБ - от 10 до 25 Гб. А к "фокусам", как вы правильно заметили, я не имею никакого отношения. Хочу только добавить, что, наверняка, ваша разработка не вредит работе 1с, но позиционировать ее как панацею от несуществующей на мой взгляд проблемы, думаю, не стоит. Повторюсь, наверное, стоит все-таки обратить внимание на совершенствование алгоритмов, имеющихся в конфигурации. Думаю, что с вашими способностями программиста это вполне реально и может принести гораздо большую пользу. :) Хотя, если в вашей базе разработка решает какие-то проблемы, определенно, она имеет право на существование. В качестве примирения снимаю -, поставив +. Ок?
61. hogik 437 25.08.11 17:43 Сейчас в теме
(60)
Андрей.
Верните, пожалуйста, "минус" обратно.
Я пытался дать Вам шанс выйти из глупой ситуации с честью.
Вы этого не захотели или не смогли сделать. :-(
Мне будет приятней, если Ваше мнение о моей "разработке" будет "располагаться" рядом с "фокусник"-ом.

Visual FoxPro System Capacities:
http://msdn.microsoft.com/en-us/library/3kfd3hw9(VS.80).aspx
http://www.codebase.com/support/kb/?article=C01089

Корни "проблемы" (текст из MSDN):
System Capacities for FoxPro 2.5 for MS-DOS
Last reviewed: April 18, 1995
Article ID: Q106269
The information in this article applies to:
Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b
SUMMARY
Below is a list of the system capacities for FoxPro for MS-DOS.
MORE INFORMATION
Some capacities may be limited by available memory. A indicates that the actual file size (in bytes) cannot exceed 2 gigabytes (GB) for single user or exclusively opened multiuser .DBF files. Shared multiuser .DBF files with no indexes or .IDX indexes cannot exceed 1 GB. Shared multiuser .DBF files with structural .CDX indexes cannot exceed 2 GB.

P.S. Дам пояснение по Вашей фразы: "автор неправильно истолковал смысл моего комментария"(с)
Естественно, я его иначе и не мог истолковать, исходя из ограничения размера одного DBF файла (СОВМЕСТИМОГО с FoxPro форматом) в 2 гигабайта. Или Вы о других базах и СУБД говорите?
Прикрепленные файлы:
Ёпрст; +1 Ответить
62. CheBurator 3453 26.08.11 02:54 Сейчас в теме
Все... побежал за попкорном и колой...
63. www1 15.09.11 08:25 Сейчас в теме
Столкнулся с проблемой 1Gb (W2k3 x64). Kernel очень выручил - дал время для подрезки базы. Спасибо автору!
64. Pilokarpios 33 19.10.11 12:25 Сейчас в теме
65. Pilokarpios 33 19.10.11 12:27 Сейчас в теме
66. Makdir 18.12.11 17:33 Сейчас в теме
Ставлю Плюс.
Считаю подобные разработки бесценными, эти все проблемы в свое время должна была решить сама 1С, но они пошли другим путем - удачным маркетингом. Надежд на появление альтернатив мало, поэтому радует, что хоть кто-то латает существенные дыры программы.
67. mimos 22.12.11 14:03 Сейчас в теме
Что то не разу не сталкивался на ограничение 1ГБ. Впёрся на 2 гигабайта - думал поможет )) но не помогло. Автору плюс за решение проблемеи.
68. hogik 437 22.12.11 16:14 Сейчас в теме
(67)
"Что то не разу не сталкивался на ограничение 1ГБ"(с)
.....(mimos)
Скачайте Test.zip и столкнитесь. ;-)
Существует три причины "не сталкиваться" с этим ограничением.
1) В системе всегда работает один пользователь.
2) Уникальная схема базы данных и/или алгоритмы работы с информацией.
3) Пользователь не замечает ошибки. ;-)
69. porese 26.12.11 10:54 Сейчас в теме
Неоднократно сталкивался с проблемой 1гб, выглядить так: в монопольном режиме все ок, в разделенном при работе нескольких пользователей запросы по регистру (в данном случае партии более 1 гига) каждый раз разные результаты. Лечил обрезкой базы, но все равно пару месяцев приходилось работать в таком режиме (обрезка 1 раз в год в феврале по текущий год).
Использую hook_1c с разными плагинами в том числе sleep (решение проблемы 100% загрузки проца), его немного поправил по подобию kernel33, т.е. перехватил не только lookfiles но и unlookfiles и младший dword адрес при вызове оригинала увеличиваю на 2 гига. Проблема 1 гига решилась. Если кому интересно, выложу.
71. hogik 437 26.12.11 16:58 Сейчас в теме
(69)
.....(porese)
Конечно выкладывайте, отдельной публикацией.
У Романа решение проблем через hook_1c сделаны лучше.
Но!!!
Надо не забывать, что использование запросов через FoxPro могут вызвать проблемы при изменении способа блокировки. И, думаю, имеет смысл разделять (иметь возможность управлять активизацией) решение проблем "100% CPU" и "1GB". Т.к. первая проблема донимает всех, а вторая возникает только в "экзотических" случаях... ;-)
P.S. Управление должно быть до запуска (активизации) сессии 1С-а, а не на уровне ВК.
70. Builder 8 26.12.11 14:46 Сейчас в теме
Будем проводить испытания. Спасибо!
72. mustakh 06.02.12 12:05 Сейчас в теме
Скажите пожалуйста кто нибудь еще продолжает писать на FoxPro? В свое время кажется 80% СССР писали в этой СУБД, кто знал это знали и структуру DBF
74. hogik 437 06.02.12 17:25 Сейчас в теме
(72)(73)
Алик (mustakh).
Это вопросы, утверждения, предложения, пожелания, размышления, просьба, ... ?
Что требуется от автора публикации?
73. mustakh 06.02.12 12:09 Сейчас в теме
У нас часто DBF размер превышает 1Гб, SQL ставит дорогвато, наш спец разработал обработеку для ужаления старых записей, и после сжатия DBF становится нормальным, но это надо делать вручну, запускать обработку , выяснять какой dbf превысли размер 1 Гб
76. zelenprog 06.09.12 10:20 Сейчас в теме
Я не совсем понял :(
Владимир, скажи пожалуйста точно: каков допустимый максимальный размер CDX и DBF файлов, при использовании этой разработки?

У меня DBF-база, самые большие файлы - это регистры:
регистр1: DBF - 1.949.676.528 байт, CDX - 1.043.525.120
регистр2: DBF - 1.062.751.702 байт, CDX - 697.588.736
остальные файлы - менее 1Гб.

Сейчас возникла необходимость добавить в этих регистрах галочки "отбор движений", соответственно перестроится структура индексов, и размеры индексов увеличатся и скорее всего перевалят за 2Гб.
Получается после этого моя база перестанет работать?

Будет ли работать база после увеличения индексов если использовать эту разработку?
77. hogik 437 06.09.12 15:12 Сейчас в теме
(76)
"Получается после этого моя база перестанет работать?"(с)
Да.
"Будет ли работать база после ... если использовать эту разработку?"(с)
Нет.
"скажи пожалуйста точно: каков допустимый максимальный размер CDX и DBF файлов"(с)
Для CDX - 2ГБ. Но, еще до достижения такого размера система перестанет работать по другим причинам.
Для DBF - 2ГБ при ОдноПользовательском использовании, 1 ГБ - при разделенном режиме.
При использовании "Kernel3x" - 2ГБ в обоих режимах.
78. zelenprog 06.09.12 15:55 Сейчас в теме
(77)
а как же у меня сейчас работает?
ведь два ДБФ-файла регистров превышают 1Гб, режим работы - разделенный
79. hogik 437 06.09.12 17:38 Сейчас в теме
(78)
"а как же у меня сейчас работает?"(с)
Понятие "работает" относительное. ;-)
В "публикации" описано как это проявляется.
И если в Вашей системе пользователи этого не замечают, то Ваша система - работает.
zelenprog; +1 Ответить
126. hydra88 04.10.20 22:09 Сейчас в теме
(77)
Использую базу для ведения реестра (данные заносятся пользователями в справочник). Появилась необходимость добавить реквизит и столкнулся с тем, что в папке NEW_STRU при сохранении конфигурации индекс для DBF со справочником разрастается до размера более 2Гб и база вылетает с ошибкой -70. Сам DBF-файл весит около 150Мб, а его индекс в каталоге с базой всего 30. Что-то не так с базой или это нормально, что он так раздувается при принятии изменений во время сохранения конфигурации?
Пока не придумал ничего другого, как с помощью печати справочников сохранить данные в Excel, потом удалить все записи из базы и после ТИИ добавить нужный мне реквизит. Ну и соответственно потом загрузить данные обратно в справочник. В справочнике сейчас чуть больше 80 тысяч записей.
user1464234; +1 Ответить
127. CheBurator 3453 04.10.20 23:19 Сейчас в теме
(126) проблема известная. связана с кучей индексных полей в справочнике. Поищи как решается. Там типа перекинуть md и dd в отдельную папочку, добавь реквизит, сохранись. получишь новые актуальные мд и дд. новые мд и дд перекинь обратно в базу. ПЕРЕИНДЕКСИРУЙ измененный справочник (удали в базе его индекс). Не забудь перед работами сделать бэкап рабочей базы.

и вообще - поубирай в этом справочнике лишние сортировки и отборы на реквизитах в конфигураторе.
128. hydra88 05.10.20 13:27 Сейчас в теме
(127)
Спасибо огромное!
Все решилось удалением лишних отборов и сортировок. Изменения сохранились менее, чем за минуту)
129. CheBurator 3453 05.10.20 13:52 Сейчас в теме
(128) галка на отборе в реквизите справочника предназначена для возможности интерактивного отбора по этому реквизиту, юзером. на моей практике - этим никто нафиг не пользуется...
130. hydra88 05.10.20 18:52 Сейчас в теме
(129)
Согласен. Добавлял отбор на всякий случай, но это мне боком вышло. В итоге у них есть большой отчет для поиска и отбора по всем реквизитам - этого вполне достаточно.
80. АндрейКр 128 17.11.12 03:35 Сейчас в теме
Уже давно использую kernel3x. Не представляю что бы я делал без этой разработки. Спасибо!
Есть такой вопрос. Совместима ли kernel3x с использованием прямых запросов для DBF базы, реализованных в 1cpp?
81. hogik 437 17.11.12 04:36 Сейчас в теме
(80)
Андрей (АндрейКр).
Естественно - нет.
Это следует из самой сути данной "разработки" - она меняет "FoxPro совместимый формат доступа к DBFам".
Пробуйте использовать: http://infostart.ru/public/15977/
82. basil_m 17.12.12 13:22 Сейчас в теме
hogik, подскажите, при установке написано, что в библиотеке Seven.dll контекст "Kernel32.dll" заменить 2 раза,а в DBEng32.dll – один раз. У меня платформа 7.70.027. В Seven.dll нашел только 1 раз, а в DBEng32.dll не нашел вообще. Такое возможно?
83. basil_m 17.12.12 14:32 Сейчас в теме
Нашел. Оказалось все просто. Просто было написано заглавными буквами, а я искал только по строчным.
user592099_sockomservis; +1 Ответить
84. hogik 437 17.12.12 17:50 Сейчас в теме
(83)
Ещё см. (21) сообщение данной темы.
85. basil_m 18.12.12 11:24 Сейчас в теме
hogik, т.е. для решения проблемы 1Гб можно seven.dll не модифицировать, а только DBeng32.dll ? Я правильно понял?
86. hogik 437 18.12.12 16:59 Сейчас в теме
87. CheBurator 3453 21.03.13 12:17 Сейчас в теме
кернел33 - стоит, однако припроведении доков вываливается ошибка -310, подробности отписал в личку. Что делать?
88. hogik 437 21.03.13 16:12 Сейчас в теме
(87)
Сергей.
А по телефону мне позвонить не получается? :-)
Ставить http://infostart.ru/public/77617/ и получить запас времени.
Далее сворачивать или переходить на SQL.
Ставить http://infostart.ru/public/15211/ общаясь со мной по телефону или Skype.
89. yra111 13.05.13 16:07 Сейчас в теме
1. Есть ли олее простой способ проверить активировалась ли KERNEL32.dll ,чем садить десяток бухгалтеров чтобы они писали в базу и читали одновременно и смотрели не скачут ли итоги?
2.У меняверсия 1с 7.70.026, работает на серверной 2003 винде через сервер терминалов,в инструкции сказано что тестировали на 018 версии 1с и 2000 винде,на 0.26 будет работать?
3.может быть есть у вас уже отредактированные ДЛЛ от 026 версии?
90. hogik 437 15.05.13 00:52 Сейчас в теме
(89)
1) Использовать содержание Test.zip файла.
2) Тестировалось на 18,25,27 в Win2000,WinMe,WinXP,WinXPx64(ядро от Win2003x64).
В этих версиях файл DBEng32.dll не изменялся. Надеюсь, что и в 26 не изменялся.
3) Нет.
91. yra111 21.05.13 17:24 Сейчас в теме
если используеться распределённая ИБ, можно ли на основной базе юзать кернелл33, а на удалённой стандартные длл? Может ли чтото сломаться в базах в процессе обмена выгрузками?
92. hogik 437 21.05.13 21:13 Сейчас в теме
93. rеd80 21.05.13 21:58 Сейчас в теме
решение проблемы 1 гигабайта для DBFной версии 1С:Предприятие 7.7
Решение проблемы - 1С v8.
94. hogik 437 21.05.13 22:59 Сейчас в теме
(93)
Вот, первые строчки из файла описания разработки:

"Kernel3x - решение проблемы 1 гигабайта для DBFной версии 1С:Предприятие 7.7
Разработано в 2001 году."©
95. yra111 23.05.13 14:25 Сейчас в теме
Поставил на терминалку 2003виндовс сервера - чтото периодически при запуске 1с рунтайм еррор вылезает, не всегда , но частенько.Что можно пошаманить попробовать?
Оставьте свое сообщение

См. также

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7 Промо

Универсальные функции Практика программирования v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    30198    4    Serginio    1    

Несколько табличных частей в 1С:7.7 - это просто

Практика программирования v7.7 1cv7.md Абонемент ($m)

При программировании на платформе V7 достаточно часто возникает задача создать несколько табличных частей документа (или справочника). Традиционно эта задача имеет несколько решений..

1 стартмани

01.05.2018    14450    23    Gkmy    10    

Пилотный проект ФСС. Заявление, реестр, опись, выгрузка в формате xml версия 1.7.2.

Практика программирования Работа с интерфейсом Зарплата Зарплата v77::Расчет 1С7:ЗиК Россия ФОМС, ПФ, ФСС Абонемент ($m)

Типовые объекты конфигурации не изменены, поэтому подходит для любого релиза ЗиК.

1 стартмани

29.07.2016    12976    21    Cvetic    1    

Как получить номер и дату договора из наименования справочника договоров? Промо

Обработка справочников Практика программирования v7.7 1cv7.md Абонемент ($m)

В типовых конфигурациях платформы "1С:Предприятие 7.7" часто номер и дата договора указаны в самом наименовании договора. Что создает сложности в тех случаях, когда эти реквизиты надо знать, например, при конвертации данных в конфигурации платформы "1С:Предприятие 8", где номер и дата договора - отдельные реквизиты.

1 стартмани

24.09.2015    22811    2    SiAl    7    

1С: 7.7. Функции-обертки, функторы, отложенный вызов, карринг параметров на примере функции чтения табличных данных

Практика программирования v7.7 1cv7.md Абонемент ($m)

Человек, работающий в 1С, в силу своей практики и опыта может нуждаться в средствах программирования, в 1С не представленных. В публикации описаны средства отложенного вызова функций, каринга параметров, композиции и др., в основе которых лежит вызов функции посредством функции Шаблон. Несмотря на простоту, созданный за несколько лет работы в 1С 7.7 набор функций обрел мощь, достаточную для лаконичной реализации указанных целей.

1 стартмани

17.09.2015    10840    3    rozhkovdmitriy    21    

Технологическая проверка кода конфигурации (7.7)

Инструментарий разработчика Практика программирования v7.7 1cv7.md Абонемент ($m)

1С 7.7 не имеет практически никаких средств, предназначенных для контроля правильности кода. В синтаксически правильном, с точки зрения 1С, коде можно, например, определить переменную НомерДок в модуле документа. Эта обработка может помочь найти некоторые "плохие решения" в коде.

1 стартмани

03.09.2015    10812    7    vcv    6    

Предельные базы взносов в ПФР, ФСС, ФФОМС 2015 в 1С: Бухгалтерия 7.7

Практика программирования Зарплата Зарплата v77::БУ 1С7:Бух Россия БУ Абонемент ($m)

Реализация Постановления Правительства РФ 1316 от 04.12.14 для типовой конфигурации "Бухгалтерский учет 7.7" рел. 7.70.590

1 стартмани

31.12.2014    20427    9    Sergey1CSpb    2    

Все про картинки в 1С 7.7, ну или почти все...

Практика программирования v7.7 1cv7.md Абонемент ($m)

В 1С 8 наличие картинок товаров предусмотрено изначально, а в 7.7 такого нет. Проблема существует и ее исправляют, но это, как правило, частные случаи, касающиеся, например, печати прайса http://infostart.ru/public/289876/ , показу картинок в справочнике номенклатура http://infostart.ru/public/17125/, файловый менеджер картинок товара http://infostart.ru/public/15239/ или просто конфигурации работы с картинками http://infostart.ru/public/21142/ (не стремился дать полный обзор, поэтому не попавшие не обижайтесь :). Что не устроило – информация разбросана по статьям, необходимость дополнительно напрягаться, чтобы это заработало. Здесь я попытался собрать все «до кучи», а так же дать необходимые ссылки для желающих «копнуть вглубь».

1 стартмани

18.11.2014    36579    75    kitminsk    11    

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

Практика программирования v7.7 1cv7.md Абонемент ($m)

Пример получения остатков по складу по запросу по почте из программы 1С 7.7. Для получения остатков необходимо пользователю с любого почтовика (с любого "мыла") отправить текст сообщения GiveMyStockBalance_ForAnalize на почтовый адрес определенный в Константа.СерверПолучения. Программа выдаст остатки (можно переписать функцию для выдачи любых данных) в формате xls на почту указанную в константе Константа.СерверОтправки. Программа может быть полезна в тех организациях где трудно или невозможно осуществить прямой доступ к 1С сотрудников для просмотра необходимых данных. Также можно организовать некий почтамт - запрос для клиентов - при посылке определенного логина клиентом на его почту будет автоматически выслана информация, например, акт сверки с клиентов, или процент выполнения его заказа и т.д.

3 стартмани

25.03.2014    20064    5    protexprotex    3    

Загрузка процессора 100% на 1С Предприятие 7.7 или еще один вариант odbc33.dll

Практика программирования v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Версия vk_TerminalSleep для работы совместно с "секретным релизом" на Windows 7.

1 стартмани

07.01.2014    12910    35    Ma_X_X    1    

[Разработчику] Любая таблица значений в OLAP Промо

Инструментарий разработчика Универсальные обработки Практика программирования v7.7 1cv7.md Абонемент ($m)

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    29837    51    venger    7    

Поворот картинки

Практика программирования Работа с интерфейсом v7.7 v8 Абонемент ($m)

Иногда возникает необходимость повернуть картинку из 1С.

1 стартмани

16.12.2013    18403    35    bborisko    14    

Онлайн резервирование товаров

Практика программирования v77::ОУ 1С7:ТиС Абонемент ($m)

Бывало ли у Вас такое: зарезервировали товар по телефону, собрались проводить документ, а товара уже нет в доступном остатке на складе? Пока Вы разговаривали, кто-то успел провести документ, который зарезервировал товар. Что делать? Есть одна идея.

1 стартмани

10.10.2013    12487    1    Вадимко    1    

Отчет "Дерево справочника"

Инструментарий разработчика Практика программирования v7.7 1cv7.md Абонемент ($m)

Зарядка для ума: вывод сворачиваемого дерева справочника в 1С v.7.7.

1 стартмани

20.07.2013    14035    11    uus    12    

Процесс бар (индикатор состояния выполнения цикла) Промо

Практика программирования v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Полезная "красотулька" в вашем документе. Будет очень полезна для медленных компьютеров, где не всегда понятно, работает-ли обработка или 1с-ка тупо "зависла"

14.04.2008    26124    870    ded00786    38    

Ошибка в регламентированной отчетности за 2-й квартал (форма-4 ФСС: Титульный лист, релиз 13q2001)

Регламентированная отчетность Практика программирования v77::БУ 1С7:Бух Россия БУ ФОМС, ПФ, ФСС Абонемент ($m)

В регламентированной отчетности за 2-й квартал (форма-4 ФСС: Титульный лист, релиз 13q2001) для конфигурации "Бухгалтерский учет, редакция 4.5" при открытии ранее сохраненного титульного листа дата подписания всегда будет "01.04.2013" независимо от того, какая там была дата при сохранении.

1 стартмани

27.06.2013    14463    18    user77    8    

1Cv77. Исправление поведения множественного фильтра (МФ) типовых отчетов в части сохранения/восстановления настроек.

Практика программирования Работа с интерфейсом v7.7 1cv7.md Россия Абонемент ($m)

В большинстве российских типовых конфигураций для 1Сv7.7 (ТиС, ПУБ, Комплекс и др.) в отчетах используется множественный фильтр (МФ). Впервые он появился, более 10 лет назад, еще в ТиС 8.7, придя на смену МФ ТиС 8.6. С тех пор, аж до сего дня (24.03.2013) типовой механизм МФ содержит глюк связанный с восстановлением сохраненных настроек, хотя разработчики поют нам об обратном.

1 стартмани

26.03.2013    12168    6    piloturs    8    

Задача про сгибание листка

Практика программирования v7.7 1cv7.md Абонемент ($m)

Часто при приеме на работу встречается задача про сгибание листка

1 стартмани

26.02.2013    16083    11    Sbelyi78    38    

Библиотека кода 1С 7.7 (накопленная за 8 лет) Промо

Практика программирования v7.7 1cv7.md Абонемент ($m)

Весь код на 1С 7.7, собранный для повторного использования за 8 лет работы.

10 стартмани

25.11.2012    28489    245    adhocprog    51    

FTP отправка из 7.7

Практика программирования v7.7 1cv7.md Абонемент ($m)

Всё чаще встречаются задачи по отправке отчетов поставщику, и нередко подготовленные файлы необходимо записать на FTP сервер. О том, как можно решить подобную задачу, и пойдёт речь.

3 стартмани

07.12.2012    42820    114    Yury1001    25    

Групмейкер для таблицы значений.

Инструментарий разработчика Практика программирования Универсальные обработки v7.7 v77::ОУ v77::БУ v77::Расчет 1cv7.md Абонемент ($m)

Универсальная функция и обработка для свертки и группировки таблицы значений. Очень простой способ подвести итоги по призвольным группам в произвольном порядке любой таблицы значений для быстрого вывода на печать нужной пользователю последовательности и детализации группировок.

1 стартмани

20.11.2012    25369    58    dusha0020    15    

Подготовка сведений для ПФР - исправление некорректного формирования отрицательных сумм взносов с сумм превышения максимального предела. Конфигурация: ЗИК 7.70.328 Промо

Практика программирования Зарплата Зарплата v77::Расчет 1С7:ЗиК Россия ФОМС, ПФ, ФСС Абонемент ($m)

Подготовка сведений для ПФР - исправление в формирование сведений персонифицированного учета, при превышении максимального предела

1 стартмани

22.10.2012    20563    49    u_n_k_n_o_w_n    9    

Класс "ЗаписьXML" для 1С++, аналог одноименного класса из 8.x.

Обмен через XML Практика программирования v7.7 openconf 1cv7.md Абонемент ($m)

Мне понадобилось перенести работающий код выгрузки данных в xml из 1С 8.2 в 7.7. Чтобы минимизировать исправления - написал класс-эмулятор класса ЗаписьXML из 8.2. Теперь при переносе кода из 1С8.2 в 7.7 количество необходимых изменений - минимально.

1 стартмани

26.10.2012    17626    14    curdate    8    

Выгрузка на сайт через EXСEL, с таймером (с повторениями выгрузки через заданный промежуток времени). 7.7 ТиС Украина

Загрузка и выгрузка в Excel Практика программирования WEB v77::ОУ 1С7:ТиС Украина Абонемент ($m)

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

1 стартмани

03.09.2012    11410    15    serko8547    1    

Сохранить активный табличный документ на рабочий стол в XLS

Практика программирования v77::ОУ v77::БУ v77::Расчет 1cv7.md Казахстан Абонемент ($m)

Удобное, БЫСТРОЕ сохранение табличного документа. Средствами йокселя. Сохраняет открытый документ на рабочий стол.

1 стартмани

22.08.2012    14100    6    Maximysis    3    

Вывод и перенумерация отчета с заранее неизвестным количеством группировок. Промо

Практика программирования Работа с интерфейсом openconf v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

1C v.7.7 Пример вывода отчета с заранее неизвестным количеством группировок, с возможностью изменять уровень вложенности группировок из списка значений на форме, с нумерацией конечного отчета, с выводом структуры вложенности группировок (с помощью внешней компоненты Йоксель - http://yoksel.net.ru/Hotfixes). В приложенном файле показан пример вывода отчета из сформированной таблицы значений. Код я старался закомментировать как можно подробней. Хоть семерка и вымирающая платформа, думаю еще есть люди, которые только начинают ей заниматься, и им это может пригодиться.

1 стартмани

21.03.2012    28970    21    unichkin    11    

Корректировка EXCEL–файла. Восстановление «длинных» строк.

Практика программирования Загрузка и выгрузка в Excel Внешние источники данных v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Обработка предназначена для борьбы с обрезанием строк (не более 255 символов) при записи MXL-файла в EXCEL.

1 стартмани

13.07.2012    17760    14    Ягг    1    

Миникласс ТПерехватчик - методология работы с несколькими перехватчиками формы

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Небольшое пособие "Как правильно накладывать несколько перехватчиков на одну форму" + мини-класс, реализующий описанную технологию.

1 стартмани

29.06.2012    156098    6    SatanClaws    18    

Баги 1С 7.7 - добро или зло: непосредственный ввод "а ля 1С 8.х" без использования ВК

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Баг 1С 7.7 открывает нам возможность реализовать без использования ВК непостредственный ввод таких значений, как справочники, перечисления, документы по введенному тексту в поле ввода (а ля 1С 8.х)

1 стартмани

25.06.2012    24857    35    MarSeN    21    

Функция Случайное число, RANDOM, RND для 1С 7.7 Промо

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

В 1С нет функции случайного числа. представляю Вам свою. основана на получении идентификатора и из него случайного числа. от 0 до 10, от 0 до 100 и от 0 до 1000.

1 стартмани

28.09.2011    24362    18    dnikolaev    19    

Группы "быстрых" индикаторов на формах 1с7.

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Индикация влож. циклов, параллел. процессов; динам.гистограммы. Индикаторы: реагируют на отрицат.шаги - не только Прогресс-Индикаторы. "Быстрые": вывод на экран не на каждом, а на заранее расчитанном шаге. Управление: инверсия белого-черного, переворот линейки. Можно записывать истории Процессов. Возможны вертикальный и компактный вывод.

1 стартмани

13.06.2012    12069    23    newold2    6    

Календари на справочнике

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Неограниченное количество управляемых из предприятия календарей.

1 стартмани

11.06.2012    7144    17    an_2    9    

Скрипт обработки повторов принадлежности видов расчетов к группам расчетов при сравнении конфигураций ЗИК

Практика программирования v77::Расчет 1С7:ЗиК Россия Абонемент ($m)

При сравнении конфигураций 7.7 ЗИК у групп расчетов и видов расчетов присутствуют строки, относящиеся одновременно к удалённым и добавленным видам/группам. Скрипт анализирует отчет о сравнении конфигураций и удаляет лишние строки.

1 стартмани

05.06.2012    6557    2    bubblegum    1    

А ты умеешь СТУЧАТЬ? (или Азбука Морзе на 1С) Промо

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Азбука Морзе теперь и на языке 1С . А ты знаешь, как звучит сигнал "SOS" ? А ты сможешь в трудную минуту его просигналить ?

1 стартмани

22.03.2010    33923    197    Tatitutu    39    

Формирование проводок по расчету зарплаты. Копейки округления.

Практика программирования Зарплата Зарплата v77::БУ 1С7:Комплекс Россия БУ Абонемент ($m)

Убираем копейки округления при автоформировании проводок в 1С Комплексная 7.7.

1 стартмани

27.05.2012    13010    3    myobshenie    4    

"Справочник плюс". Прямая запись в справочники 1С 7.7

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

"Справочник плюс" - замена штатного объекта "Справочник.ХХХ" Предназначен для "прямой" записи, и дает возможность управлять табличными подсказками при чтении. Позволяет избавиться от монопольных блокировок таблиц справочников и таблицы констант. Главным мотивом написания было избавиться от вылетов 1С из-за deadlock-ов и "недопустимых состояний курсоров". Состоит из нескольких классов 1с++, нескольких переменных и методов в глобальном модуле.

1 стартмани

24.05.2012    15751    24    an_2    16    

Проверка зацикливания групп справочников

Практика программирования Обработка справочников v7.7 1cv7.md Россия Абонемент ($m)

Зацикливание групп, то есть ситуация, когда группы подчинены "друг другу", иногда может возникнуть при программном обновлении справочников / обмене данными с другими источниками и может полностью парализовать работу пользователей. Паралич (программа висит, ест память) наступает при попытке 1с отобразить на форме списка иерархию "зацикленного" справочника (при включенной иерархии), при выполнении запросов с иерархией справочника и просто выполнении методов справочника в программном коде, связанных с иерархией. Эта публикация предназначена для выявления и исправления таких ситуаций.

1 стартмани

22.05.2012    26785    122    Shaman100M    3    

Работа с бинарными файлами в 1С 7.7

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Описание принципов и набор инструментов для работы с двоичными данными в 1С 7.7. Примеры во вложениях.

1 стартмани

16.05.2012    26738    93    dusha0020    8    

Получалка списка реквизитов документа или справочника (v7)

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Так как моя обработка "Получалка списка реквизитов документа или справочника" для v8 оказалась кем то востребованной, решил сделать то же самое и для v7 :-). Все полностью аналогично. ------------------------------------ Список реквизитов любого документа или справочника конфигурации с указанием типов возможных значений для заполнения

1 стартмани

08.05.2012    8821    23    Рэйв    6    

Внешний отчет Книга продаж 2012 для старых релизов Бухгалтерии 7.7 (протестировано на релизе 445 типовой конфигурации).

Практика программирования Анализ учета Учет доходов и расходов Розничная торговля Учет доходов и расходов Розничная торговля v77::БУ 1С7:Бух Россия БУ Абонемент ($m)

Внешний отчет Книга продаж, форма применяемая с 2012 года, для старых релизов Бухгалтерии 7.7 (протестировано на релизе 445 типовой конфигурации).

1 стартмани

29.04.2012    11009    161    ddv68    11    

Быстрый нечёткий поиск по атрибутам справочников

Практика программирования Обработка справочников v7.7 1cv7.md Россия Абонемент ($m)

Данная программа предназначена для быстрого поиска элементов справочников по значениям атрибутов справочников в среде 1С 7.7.

1 стартмани

28.04.2012    10605    30    ivangorchakov    9