|
v7: Нетипичное использование компоненты УРБД в системе 1С:Предприятие 7.7 | ☑ | ||
---|---|---|---|---|
0
Andreyyy
11.10.12
✎
09:57
|
Идея взята отсюда Книга знаний: Нетипичное использование компоненты УРБД в системе 1С:Предприятие 7.7
Задача: Требуется настроить обмен между базами типа "Снежинка". Стандартный УРБД неудобен, т.к. нет возможности отбора при выгрузке в периферию. Проблема: на многих точках установлена однопользовательская версия программы, т.е. запускается база всегда насколько я понимаю в монопольном режиме и не будет возможности читать/изменять нужные файлы. Как можно обойти это ? |
|||
199
akaBrr
15.10.12
✎
12:53
|
+(197) И тишина, типичное бла-бла, с битьем копытом в грудь.
|
|||
200
DJ Anthon
15.10.12
✎
12:55
|
(200)
|
|||
201
Последний Русский
15.10.12
✎
13:48
|
(195) А чего ты хочешь НОВОГО от 7.7+УРБД? Свое решение для условия (156) озвучишь?
Моему решению (192) уже более 7 лет и оно работает даже без программистов и интернета! |
|||
202
akaBrr
15.10.12
✎
14:09
|
(201) в (192) нет ничего чтобы позволило оценить "решение"
|
|||
203
Последний Русский
15.10.12
✎
14:27
|
(202) Вы считаете, что мне необходима ваша оценка моего решения? :-)
|
|||
204
akaBrr
15.10.12
✎
14:35
|
(203) ахах, ну конечно нет, вы ведь здесь просто пальцы раскинули, что здесь оценивать?
|
|||
205
Mikeware
15.10.12
✎
15:45
|
(203) а это никакое не "решение" - просто установленная и настроенная распределенка. И не более того.
Так, уровня начинающего внедренца, или младшего сотрудника-стажера франча... |
|||
206
Mikeware
15.10.12
✎
15:46
|
(201) "нового" может быть много. ИНструмент УРБД достаточно гибкий, если уметь им пользоваться.
|
|||
207
Последний Русский
15.10.12
✎
16:56
|
(206) Инструмент гибкий в пределах своих ограничений и достаточно старый, чтобы пытаться открыть в нем для меня что-то новое.
(204) (205) Ну, как? ЧСВ выросло после таких оценок? :-) |
|||
208
akaBrr
15.10.12
✎
16:59
|
(207) кроме вас тут никто свое ЧСВ не пытается поднять, выдыхайте
|
|||
209
Mikeware
15.10.12
✎
17:00
|
(207) Ограничений при грамотном использовании умелыми руками - мало.
|
|||
210
Злопчинский
15.10.12
✎
18:48
|
Господа, чтобы прекратить все кривотолки - замечу: Д'Артаньян здесь один я...
|
|||
211
Последний Русский
15.10.12
✎
18:56
|
(210) нетипичное лечение головной боли http://youtu.be/s73GjbSw5xY или как руководитель предприятия наказывает программиста за нетипичное использование компоненты УРБД :-)
|
|||
212
Злопчинский
15.10.12
✎
19:04
|
(211) это из собственного опыта управления проектами? не пойду я к вам! ;-) рекомендую данный ролик пустит бэкграундом на выступлении ИнофтартЭвент... ;-)
|
|||
213
ПиН
15.10.12
✎
19:06
|
Саша на инфостарте будет делиться опытом по выставлению счетов на многие десятки тысяч рублей за запуск восстановления последовательности у клиентов?
|
|||
214
Злопчинский
15.10.12
✎
19:07
|
(213) а почему бы и нет? если клиент не способен найти других исполнителей - то такая цена вполне себе обоснована...
|
|||
215
ПиН
15.10.12
✎
19:07
|
или уникальным способом внедрения урбд без использования интернета с использованием оленьих упряжек в условиях горной местности?
|
|||
216
ПиН
15.10.12
✎
19:08
|
(214) так я разве в укор, молоток наоборот, жизнь по принципу "без лоха и жизнь плоха" вполне себе имеет право на сущетсвование
|
|||
217
Злопчинский
15.10.12
✎
19:22
|
№все крупные сотсояния нажиты нечестным путем.."...?
|
|||
218
monitor
15.10.12
✎
19:30
|
А что бы сказал народ если бы можно было создавать документ с заданным внутренним ID? Например в централке можно было бы создать документ перемещения в магазин с внутренним идентификатором соответствующим этому магазину. И УРБД молчаливо уносит его в эту периферийку..
|
|||
219
Злопчинский
15.10.12
✎
19:37
|
(218) индексы?
|
|||
220
monitor
15.10.12
✎
19:40
|
(219) внешняя компонента
|
|||
221
Andreyyy
15.10.12
✎
20:18
|
(218) Это пожалуй решило бы часть проблем.
|
|||
222
Злопчинский
15.10.12
✎
20:19
|
(220) я не против, но как при этом поддерживать целостность базы на уровне индексов? и надо ли это делать с индексами?
|
|||
223
Злопчинский
15.10.12
✎
20:20
|
(221) при этом надо взвести "флажок" изменения этого перемещения для УРБД - иначе не унесет..?
|
|||
224
Andreyyy
15.10.12
✎
20:27
|
(223) Флажок сам взведется при создании документа. Другое дело в какой момент ему удастся подсунуть "правильный" идентификатор, а то флажок останется на уровне одной базы - центра.
|
|||
225
Andreyyy
15.10.12
✎
20:29
|
Будет серьезная проблема с нумерацией идентификаторов, не взлетит.
|
|||
226
monitor
15.10.12
✎
20:38
|
(225) проблем не будет если провести некую подготовку при создании новой базы. Для новой, пустой базы принудительно создается документ с ID равным, ну например 1000000. Все последующие документы в базе автоматом пойдут инкрементом от этого ID. Таким образом у нас есть некоторое количество зарезервированных ID которые гарантированно не будут созданы штатными механизмами 1с-ки. Остается завести счетчик (константу например) и создавать документы по нему, добавляя к ID нужный суффикс периферийки.
|
|||
227
monitor
15.10.12
✎
20:41
|
(221) ID подсовывается 1С-ке при создании документа. Так что УРБД уносит штатно.
|
|||
228
monitor
15.10.12
✎
20:41
|
(227) к (223)
|
|||
229
Andreyyy
15.10.12
✎
20:48
|
(226) Что-то мне подсказывает, что после попадания из центра документа с ID 100000000 в периферийную базу, там уже будут создаваться документы исходя из этого.
Поправьте, если кто знаком ближе с таким нюансом. |
|||
230
SWD
15.10.12
✎
21:01
|
(229) Расскажите как вы ИД будете подсовывать?
|
|||
231
Andreyyy
15.10.12
✎
21:09
|
(230) Просто теория в (218)
|
|||
232
Злопчинский
15.10.12
✎
21:12
|
(230) впихнем невпиху/\емое!
|
|||
233
SWD
15.10.12
✎
21:17
|
(232) Невпехнут. В по крайней мере в дбф 1с использует первичный ключ в виде строки, причем с ведущими пробелами. У меня был легкий шок, братья нур сделали все чтобы убить производительность.
|
|||
234
SWD
15.10.12
✎
21:18
|
Вернее тот самый ИД36 для документоа
|
|||
235
monitor
16.10.12
✎
01:58
|
(229) совершенно верно, именно это и нужно. Чтобы вся база работала с ID начиная с 1000000. А я буду себе создавать документы с ID до 1000000.
|
|||
236
monitor
16.10.12
✎
01:59
|
(231) эта просто теория уже лет 5 как работает
|
|||
237
Последний Русский
16.10.12
✎
06:19
|
(213) не понял, завидуете, сударь, или сплетничаете, сударыня? :-)
|
|||
238
Mikeware
16.10.12
✎
07:10
|
(218) Создавая документ с идом, принадлежащим периферийке, ты либо задвоишь иды в периферийке (попадешь на используемый), либо, "отступив" гарантированно далеко, сделаешь дырку в идах периферийки (после обмена нумерация идов будет с максимального), и достаточно быстро исчерпаешь иды.
(да, в 226 - частное решение) (226) можно новые иды "считать обратно", кстати. реализуемо, и не очень сложно. вполне себе вариант. но мне он не нравится. Для сиквельных баз подойдет, в файловых будут проблемы с индексами. |
|||
239
monitor
16.10.12
✎
09:10
|
(238) ну насчет быстрого исчерпания я не согласен. У меня же отложенные ID используются только документами перемещения из/в магазин. Прикинул, и отступил с очень приличным запасом, предварительно посмотрев какой вообще максимальный ID выдержит 1с.
|
|||
240
Андрей_Андреич
naïve
16.10.12
✎
09:13
|
Что только люди не придумают, лишь бы МОД не юзать. Специально же для этих случаев придуман.
|
|||
241
Mikeware
16.10.12
✎
09:35
|
(239) три пути: первый - постоянно отступать "вперед" с запасом. Получишь дырки. и исчерпание.
второй: в ПБ иды с фиксированного значения. в цб создаешь иды с начала до фиксированого значения, храня текущий (ну, или очередной) в каком-то хранилище. (как я понял, твой текущий вариант). имеешь потенциально неиспользуемый диапазон, но это не страшно (главное, его правильно выбрать), а до исчерпания все равно не дойдешь. третий - то же, что и второй, только чуть проще - считать иды "вниз" от первого использованного для этой периферийки. (не нужно его нигде хранить) |
|||
242
Mikeware
16.10.12
✎
09:36
|
(240) в первых версиях он доставлял немало геморроя.
да и зачем, собственно, если все можно легко разруливать руками... |
|||
243
monitor
16.10.12
✎
09:39
|
(241) ну да. примерно так. Дырки не страшны, а при исчерпании отложенного диапазона всегда можно отступить еще раз.
|
|||
244
Андрей_Андреич
naïve
16.10.12
✎
09:40
|
(242) Так мне имхается - товарищ уже заикался о преобразовании типов документов и прочем. Как бы в результате за несколько лет напишет кривой аналог МОДа :)
|
|||
245
Mikeware
16.10.12
✎
09:45
|
(244) преобразование типов - имхо, идиотизм...
его задачи вполне штатно решаются штатными методами через лишний - "транзитный" -склад. |
|||
246
Андрей_Андреич
naïve
16.10.12
✎
09:53
|
(245) Что такой ласковый-то? Ничего плохого, если перемещение с центрального склада на точку передастся как приходная накладная или что-то в этом роде. Иначе придется мириться с незакрытыми регистрами или дописывать, чтобы в ПБ перемещения только приходовали товар.
ой - сейчас меня с оном смешают. блин работы куча а я тут нарываюсь |
|||
247
Mikeware
16.10.12
✎
09:57
|
(246) ничего хорошего. ибо документ должен отражать факт жизни.
и (что касается разных движений) должны быть одинаковы во всех базах. |
|||
248
Андрей_Андреич
naïve
16.10.12
✎
10:06
|
(247) Ни в одной библии это не написано. Дело привычки. Открою Вам страшную тайну - когда я выдаю клиенту счет-фактуру выданную - у него она становится счет-фактурой полученной. И ни у кого крышу не сносит :)
|
|||
249
Mikeware
16.10.12
✎
10:21
|
(248) "у него" и "у тебя" - разные контексты.
а единая РБД - это единый контекст. один факт в одной базе может порождать более одного документа - но тем не менее, эти документы тогда должны быть связаны. ТС делает _перемещение_ и хочет отражать это куплей-продажей. Идиотизм. равно как идиотизм отражать куплю-продажу перемещением. |
|||
250
Андрей_Андреич
naïve
16.10.12
✎
10:28
|
(249) Размышляя в рамках точки - для них это приход. Чтобы это было перемещением - на точке должна быть полная копия базы. Перемещение со склада, на котором и так висят миллиардные минуса тоже нелогично. Вот какого лешего на точке годами висит склад с минусами?
|
|||
251
Mikeware
16.10.12
✎
11:20
|
(250) размышляьть нао не в рамках точки, а в рамках всей РБД.
кроме того, нет такой операции - "просто приход". Есть либо поступление товаров от поставщика, либо перемещение между складами. |
|||
252
Андрей_Андреич
naïve
16.10.12
✎
11:26
|
(251) Я, конечно, сейчас мозги клюю, но кладовщик или продавец в рамках РБД размышлять не должен. Он за товар расписался, что ему пришло. Двойная запись его не волнует. Ладно - завяжем, меня занесло.
|
|||
253
Mikeware
16.10.12
✎
11:33
|
(252) В рамках РБД должен размышлять тот, кто систему проектирует и внедряет.
за это ему и платят больше, нежели кладовщику или продавцу... |
|||
254
kloptula
16.10.12
✎
11:33
|
А лучше всего, когда нет вообще РБД, а есть терминальный сервер с работой всех в одной базе. Но в реаоиях провинции - это пока на утопию похоже
|
|||
255
Mikeware
16.10.12
✎
11:40
|
(254) это вопрос философский.
вероятность устойчивость работы системы с РБД есть произведение вероятностей устойчивой работы сервера ЦБ, устойчивой работы канала связи и устойчивой работы прокси на периферии... Т.е. всяко ниже "распределенки". Ну и в "централизованной системе" есть все данные, даже которые не нужно видеть. в случае РБД базы работают в достаточной мере независимо, выше защищенность, ниже требования к каналам связи - но возникают вопросы потери обменов, коллизий и т.п. все решается для каждой конкретной ситуации. |
|||
256
Андрей_Андреич
naïve
16.10.12
✎
11:48
|
+255 Еще и производительность системы надо считать. Работали в базе полста юзеров, а к ним с филиалов / розницы еще сотня подключилась - совсем другой расклад получается
|
|||
257
Cthulhu
16.10.12
✎
11:50
|
(250): ну регламентный(по-месячный) документ без миграции - с соответсвующим авто-заполнением и реестровой печ.формой с перемещениями за отчетный период (и иными "плюшками") - и для МОЛ не будет лишним. а движениями будет нулить остатки, "уехавшие" за счет полученных из других ИБ движений. ммм?..
|
|||
258
Андрей_Андреич
naïve
16.10.12
✎
11:51
|
(257) Если часы остановить - 2 раза в день они покажут точное время
|
|||
259
Cthulhu
16.10.12
✎
11:52
|
(258): т.е. по сути сказать нечего - я правильно понял?..
|
|||
260
Андрей_Андреич
naïve
16.10.12
✎
12:00
|
(259) Так суть не была обозначена. Если суть в том, чтобы раз в месяц обнулять остатки, чтобы не пухли регистры - почему бы и нет. А в течение месяца белиберда по остаткам в отчетах и формах подбора так и будет. Хотя на это спокойно можно забить и сказать - так положено. А что положено на это дело программистом - не говорить :)
|
|||
261
Cthulhu
16.10.12
✎
12:07
|
(260): суть обозначена - и заключается в решении указанной в (250) проблемы с накоплением отрицательных остатков на складах-источниках перемещений из-за приехавших "прицепом" к перемещениям других движений. хотя зачем я это объясняю - непонятно, как, впрочем, непонятна и причина того, что ті заявляешь, что "сути нет", и тут же єту суть формулируешь.
в течение месяца проблемы тоже особой нет - благодаря четкому разделению складов ПБ на "свои" и "чужие". подкручивается на раз-два. |
|||
262
Andreyyy
16.10.12
✎
12:48
|
(236) Не поделитесь методами создания произвольного ID документа ?
(249)(251) Категоричность признак глупости и я бы не стал однозначно утверждать как нужно оперировать данными в рамках УРБД. В констексте поставленной мне задаче движения в ПБ должны попадать только их, а уж как документ назовется "Купи/продай, Оприходование, Мана небесная" глубоко пофиг. |
|||
263
Cthulhu
16.10.12
✎
12:58
|
(262): тогда лепи ещё ПБ "товары в пути"...
|
|||
264
Andreyyy
16.10.12
✎
12:59
|
(263) Если понадобится, почему бы и нет.
|
|||
265
Mikeware
16.10.12
✎
13:04
|
(262) 1.а какие проблемы сгенерировать документ с нужным id'ом?
2. Признак глупости - название, не отражающее сути. Или имеющее разночтение с общепринятыми определениями. зы. Назови у себя в базе приходный документ "списанием", ПКО - "Расходом", инвентаризацию - "платежным поручением"... пофик же? :-) пусть запоминают... ззы. "#define TRUE FALSE //счастливой отладки, суки..."© |
|||
266
Andreyyy
16.10.12
✎
13:12
|
(265) 1. На вопрос вопросом ...
2. Имя документу дал не мудрствуя лукаво "Приход по перемещению" с подсказочкой снизу, о ! Теперь остается набрать даунов на работу, чтоб было кому не понять что отражает этот документ. |
|||
267
Mikeware
16.10.12
✎
13:21
|
(266) 1. Так в чем вопрос? Имена таблиц известны, структура базы известна, форматы идентификаторов известны...
2. считай меня дауном, но перемещение - оно одно. по определению. зы. у вас есть внктри компании словарь террминов, глоссарий, корпоративный справочник? база знаний? |
|||
268
monitor
16.10.12
✎
13:55
|
(267) не, лезть в таблицы чтобы создавать с нужным ID не айс. Это отдельно для SQL, отдельно для DBF, проблемы всякие полезут.
|
|||
269
Mikeware
16.10.12
✎
13:57
|
(268) а другого способа нет.
ну, разве что кроме "создать штатно, а потом заменить ид на свой" :-) если есть другой способ - скажи :-) |
|||
270
monitor
16.10.12
✎
13:59
|
(269) ну я бы не был столь категоричен. Есть такая функция в кишках системы, называется GetDefDBSign. Вот к ней и можно приклеиться и подменить вновь сформированный ID на свой.
|
|||
271
Злопчинский
16.10.12
✎
14:06
|
(249) именно.
именно так у моего клиента и было и есть и будет. ибо все зависит от частностей. у меня частность простая - на ПБ по сути кассовая точка с нескольо расширенным функционалом. и даже то, что туда приходят инфа для других ПБ - не мешает, bmj точка работает по исключительно по своему "складу", а объем данных на точке таков, что достаточно один раз в пару месяцев подчистить ПБ прямым запросом, удалив все чужое и переиндексировать базу ... |
|||
272
Mikeware
16.10.12
✎
14:14
|
(270) Возможно. не пробовал хучить самостоятельно.
Но такой способ ничем не лучше прямого доступа к базе. |
|||
273
monitor
16.10.12
✎
14:24
|
(272) ну почему же, как мне кажется - лучше и универсальней. Засчет того, что с базой работает сама 1С-ка и мы ей не мешаем.
|
|||
274
Mikeware
16.10.12
✎
14:26
|
(273) И ваять отдельную компоненту?
|
|||
275
monitor
16.10.12
✎
14:29
|
(274) ну да
|
|||
276
Mikeware
16.10.12
✎
14:31
|
(275) возникает ТКВ...
|
|||
277
Andreyyy
16.10.12
✎
15:23
|
(267) Ага, осталось заказчику сказать, что млин из-за неопределенных религиозных соображений идейной ценностью общепринято не разбивать документы. Придется таскать всю базу по всем точкам и пусть они там смотрят всю инфу (можно и попортить заодно), и ипутся с обменом на мегафоновских свистках.
(275) Совершенно случайно не видели подобной компоненты в широком доступе ?) |
|||
278
Mikeware
16.10.12
✎
16:31
|
(277) базу совершенно не нужно таскать по всем точкам. И более необходимой информации отправлять в ПБ тоже не нужно.
|
|||
279
Andreyyy
16.10.12
✎
16:43
|
(278) Честно говоря я притомился из пустого в порожнее лить, на мой взгляд большинство возможных варианты обсудили в этой ветке.
|
|||
280
Надсмотрщик
16.10.12
✎
16:48
|
(278)(279) Все еще трете? ;-))
|
|||
281
Mikeware
16.10.12
✎
16:49
|
(280) просто похоже, что ТС - франч...
|
|||
282
Andreyyy
16.10.12
✎
16:58
|
(281) Троллинг откровенный пошел ?
|
|||
283
Mikeware
16.10.12
✎
17:01
|
(282) ага. прямой и непосредственный.
ибо только для франчей "желание заказчика - закон". а фиксям приходится ср@ться до зеленых соплей с руководством, чтобы поняли, что "так делать нельзя". Хреново бывает, когда то, что иногда руководство побеждает, и что "так делать нельзя" доходит через пару месяцев... |
|||
284
Andreyyy
16.10.12
✎
17:10
|
От темы явно ушли, для любопытных - никогда в структуре франчайзи не работал.
|
|||
285
akaBrr
16.10.12
✎
17:11
|
(283) Хреново бывает, когда то, что иногда руководство побеждает, и что "так делать нельзя" доходит через пару месяцев... - я поэтому стараюсь все записывать :)
Хоть как-то ж.пу прикрыть :) |
|||
286
akaBrr
16.10.12
✎
17:12
|
+(285) еще помогает расчет затрат на реализацию "так делать нельзя" и на исправление ситуации
|
|||
287
Mikeware
16.10.12
✎
17:20
|
(285) Да прикрыть-то проблем нет. правило "больше бумаги - чище жопа" - никто не отменял. обидно бывает... сейчас вон перетаскиваем в снеговика всё, на некоторые вещи достаю служебки - ржем всем отделом.
|
|||
288
Andreyyy
16.10.12
✎
17:50
|
(236) А на коммерческой основе возможно поюзать вашу теорию ?
|
|||
289
Mikeware
16.10.12
✎
18:02
|
(288) если центральная база - сиквельная, то генери ид вручную, и пиши в таблички.
|
|||
290
Andreyyy
16.10.12
✎
18:14
|
(289) Удачи вам в этом безнадежном деле.
|
|||
291
Mikeware
16.10.12
✎
18:16
|
(290) почему ж безнадежном? Сейчас так документы из снеговика грузятся :-)
|
|||
292
Andreyyy
09.11.12
✎
19:25
|
Подниму ветку, т.к. хочу подвести небольшой итог:
Система с пустышками взлетела и радует малыми пакетами обмена данных и скоростью загрузки в ПБ. Создавал базу таким образом: 1. Сделал центральную со всеми справочниками. 2. Перенес в нее документы, которые бегают по всем ПБ. 3. Создал распределенные, загрузил в них только те, которые якобы должны были там создастся. 4. Обменялся, провел все в центре, опять обменялся и профит. Серьезно времени потерял из-за того, что таким образом взялся создавать всю базу с начала года, а это порядка 100тыс. документов на 25 базах. Убил время, контора в тетрадках пишет. Пришлось свернуть базу на 1 октября и за одну ночь успел все перенести. Если еще придется делать подобную работу, однозначно буду смотреть в сторону подмены ID в таблицах, а не копирования доков. Еще раз обращаюсь к monitor, есть варианты приобрести компоненту ? Надсмотрщик, спасибо за идею, готов проставиться ! |
|||
293
Mikeware
10.11.12
✎
10:51
|
(292) а мог бы сделать все гораздо быстрее, и не останавливая работу....
зы. 100 тыс документов - не так и много. |
|||
294
Andreyyy
10.11.12
✎
16:07
|
(293) Наверно мог бы, если б опыта было больше в этой теме.
|
|||
295
Надсмотрщик
12.11.12
✎
19:41
|
(292) Можешь ему "проставиться" - OFF: Одинэсник сильно заболел. Нужны деньги на лечение если так "жаждешь"
|
|||
296
temsa
12.11.12
✎
21:38
|
Ветку все не читал.
А ни кто не предагал переходить на 1с82? |
|||
297
Andreyyy
13.11.12
✎
08:36
|
(295) Готово !
(296) Дорого было бы писать заново, а типовая вряд ли устроила заказчика. +Лицензий вагон покупать. |
|||
298
Надсмотрщик
13.11.12
✎
10:08
|
(297) Обращайся. Если что.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |