|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
6 лет назад возникла задача генерировать гарантированно уникальный номер в файловой 1С 7.7. Не смейтесь. Бывает. Причем в 1С есть встроенный механизм, который это делает, но он работает только для кодов документов. То есть, если хочешь сгенерировать уникальный номер, надо в конфигураторе создать фейковый документ и журнал к нему, а потом в работе создать документ и получить его код. Задействовать этот механизм без создания лишних пустых документов наверное, можно, но я не нашел, как. И пошел своим путем. Это вообще пиздец. Как вспомню, остатки волос дыбом на голове встают. Дальше слабонервным не читать. Я написал на Дельфи DLL-плагин к 1Ске, который работает со своей отдельной фокспрошной DBFиной и просто записывает в нее уже выданный номер и дату, когда этот номер был выдан. По задумке, уникальность номера была гарантирована. Плагин создавал лок-файл, работал с dbf, убирал лок-файл. Поскольку все пользователи работали в терминале, все это происходило на одном компе, в одном каталоге, все должно быть пучком. В общем, сегодня выяснилось, что номера задваиваются. Иногда. Очень редко. На меня смотрят с удивленными глазами, а я делаю задумчивое и немного загадочное лицо. Провели эксперимент, два человека нажали на кнопку генерации номера одновременно, по щелчку пальцев. Номера получились уникальные. Дэбээфина выросла до 1.5 МБ. Может, ее почистить? Да хуй с ней, этой дэбээфиной. Как теперь с этим жить? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2022, 16:37 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
Как теперь с этим жить? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2022, 16:48 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
Перепиши заново. на Дельфи DLL-плагин к 1Ске, который работает со своей отдельной фокспрошной DBFиной ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2022, 16:53 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
6 лет назад возникла задача генерировать гарантированно уникальный номер в файловой 1С 7.7. Не смейтесь. Бывает. Причем в 1С есть встроенный механизм, который это делает, но он работает только для кодов документов. То есть, если хочешь сгенерировать уникальный номер, надо в конфигураторе создать фейковый документ и журнал к нему, а потом в работе создать документ и получить его код. Задействовать этот механизм без создания лишних пустых документов наверное, можно, но я не нашел, как. И пошел своим путем. Это вообще пиздец. Как вспомню, остатки волос дыбом на голове встают. Дальше слабонервным не читать. Я написал на Дельфи DLL-плагин к 1Ске, который работает со своей отдельной фокспрошной DBFиной и просто записывает в нее уже выданный номер и дату, когда этот номер был выдан. По задумке, уникальность номера была гарантирована. Плагин создавал лок-файл, работал с dbf, убирал лок-файл. Поскольку все пользователи работали в терминале, все это происходило на одном компе, в одном каталоге, все должно быть пучком. В общем, сегодня выяснилось, что номера задваиваются. Иногда. Очень редко. На меня смотрят с удивленными глазами, а я делаю задумчивое и немного загадочное лицо. Провели эксперимент, два человека нажали на кнопку генерации номера одновременно, по щелчку пальцев. Номера получились уникальные. Дэбээфина выросла до 1.5 МБ. Может, ее почистить? Да хуй с ней, этой дэбээфиной. Как теперь с этим жить? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2022, 18:34 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
Если 1С умеет генерить GUID, то пользуйтесь ими: MS гарантирует уникальность. Почему у вас на номер не создан уникальный индекс? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2022, 22:51 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
Не, там гуиды и случайные числа не катят. Нужны номера по порядку. Проблема в том, что для простой задачи было заюзано слишком много сомнительных технологий. Каждая из которых может косякнуть. 1С 7.7 DLL Драйвер фокс про дбф файловая система на сервере, где кроме виндового кэша кэш контроллера и дисков, в многопользовательском режиме. самая жопа - драйвер фокс про. Все это нагромождение просто не может работать надежно, а где происходит ошибка, хуй поймешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2022, 23:31 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
Вообще автоинкремент даже в дбф гарантирует уникальность Надо сильно постараться сделать бд несетевой ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2022, 06:21 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
Вообще автоинкремент даже в дбф гарантирует уникальность ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2022, 07:41 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
Вообще автоинкремент даже в дбф гарантирует уникальность дырки нужны на всякий случай ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2022, 09:12 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
Если переписывать, что делать? Может, действительно отказаться от всего нештатного и забубенить фейковый документ? Ну лишний документ, ну и хуй с ним. Там в этой конфигурации и так всякого ваговна. Ложкой больше, ложкой меньше... Работать, правда, будет медленней. И еще нужен функционал освобождения номера. То есть, если один юзверь решил отказаться от номера, который занял, номер должен освободиться и другой юзверь должен его занять. А 1С-ка такого не позволит. Будет выдавать просто по порядку. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2022, 10:44 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
Если переписывать, что делать? Может, действительно отказаться от всего нештатного и забубенить фейковый документ? Ну лишний документ, ну и хуй с ним. Там в этой конфигурации и так всякого ваговна. Ложкой больше, ложкой меньше... Работать, правда, будет медленней. И еще нужен функционал освобождения номера. То есть, если один юзверь решил отказаться от номера, который занял, номер должен освободиться и другой юзверь должен его занять. А 1С-ка такого не позволит. Будет выдавать просто по порядку. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2022, 10:56 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
Попадробнее, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2022, 11:28 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
Попадробнее, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2022, 11:46 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
И еще нужен функционал освобождения номера. То есть, если один юзверь решил отказаться от номера, который занял, номер должен освободиться и другой юзверь должен его занять. а если с момента выдачи до момента отказа номера успели получить 100500 человек? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2022, 11:49 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
И еще нужен функционал освобождения номера. То есть, если один юзверь решил отказаться от номера, который занял, номер должен освободиться и другой юзверь должен его занять. а если с момента выдачи до момента отказа номера успели получить 100500 человек? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2022, 11:52 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
И еще нужен функционал освобождения номера. То есть, если один юзверь решил отказаться от номера, который занял, номер должен освободиться и другой юзверь должен его занять. а если с момента выдачи до момента отказа номера успели получить 100500 человек? что делать если двое одновременно запросят номер? им обоим опять придёт один и тот же? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2022, 12:02 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
лучше уж на делфи сваять dll, которая организаует стек fifo ну и там выдавать номера, в том числе освободившиеся ... |
|||
:
Изменено: 25.05.2022, 12:04 - eNose
Нравится:
Не нравится:
|
|||
25.05.2022, 12:04 |
|
Страшная история про 1С
|
|
---|---|
#18+
лучше уж на делфи сваять dll А в 1С это все есть из коробки. И блокировки ресурсов, и автоинкримент, все. Просто язык тупой, начинаешь на нем писать что-то нестандартное, получается какой-то пиздец. Или просто "так низя". Думаю, надо было все-таки одинэсника нанять. ... |
|
:
|
|
25.05.2022, 14:03 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
С 1С-плагином есть еще одна проблема, она регистрируется в реестре и пишет туда путь, где она лежит. И если dll лежит в каталоге с базой и кто-то создал копию базы и подгрузил плагин, никто не может точно сказать, из какого каталога dll подгрузится, из того, что в реестре, или из того, что в базе. Это просто решается, плагин должен лежать в Program files. Но так усложняется подготовка среды для работы с базой. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2022, 14:14 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
по диагонали прочитал..ну и говнище ваше 1ц. - не генерит гуидов. - не нужны дырки в интегер .. че бля? походу такое как nummernkreis диапазон номеров на русском вообще там не слыхано? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2022, 15:25 |
|
Страшная история про 1С
|
|||
---|---|---|---|
#18+
по диагонали прочитал..ну и говнище ваше 1ц. - не генерит гуидов. - не нужны дырки в интегер .. че бля? походу такое как nummernkreis диапазон номеров на русском вообще там не слыхано? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2022, 16:22 |
|
|
start [/forum/topic.php?fid=29&msg=46363&tid=1725]: |
0ms |
get settings: |
24ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
1652ms |
get tp. blocked users: |
3ms |
others: | 34ms |
total: | 1798ms |
0 / 0 |