Имя: Пароль:
1C
1C 7.7
v7: 1С 7.7 УРБД убрать из файлов обмена ненужную инфу
0 tgu82
 
18.06.20
08:36
Всем добрый день!
ТИС 7.7 - 6 перифериек и ЦБ
Периферийки на ДБФ а вот ЦБ переходит на MS SQL
Это конечно здорово особенно то что не надо каждый год свертывать базу.
Но вот на ПБ где ДБФ регистр RA328 ведь будет подходить к 2 ГБ.
И их надо тогда сворачивать.
А с другой стороны в обмен попадает куча инфы совершенно не нужной для ПБ.
Поступлений на ПБ нет, только перемещения как с ЦБ так иногда с ПБ на ПБ, но
все равно же через ЦБ обмен идет.
Вот как убрать лишнее и не нужное.
Наверняка кто-то решал эти проблемы.
Здесь еще заморочка с ПАРТИЯМИ получается.
То есть партия есть а документа ее породившего в таком случае нет.
Поступление же пришло на ЦБ.
Можно конечно как советует Злопчинский убивать движения партий на ПБ за устаревший период
Главное чтоб итоги не пересчитывать за убитый период.
Но все равно когда-нибудь опять возникнет проблема размера базы на ПБ.
ПБ тоже на скуль переводить?

Вариант перейти на УТ хороший но никак не взлетает.
Не хватает компетенции на такой проект. Это надо ИТ-отдел
увеличить а на это никто не пойдет.
31 tgu82
 
18.06.20
11:28
(27) Ну да.
(28) Правда партий становится в два раза больше тогда. Хотя для скуля по хрену
(28) Но апдейтс все равно резать надо будет
32 Ёпрст
 
18.06.20
11:29
(22) нет, в дбф
33 ChMikle
 
18.06.20
11:30
(31) ну и что ? по одной партии остатки списались , по другой появились , в переферийке партии только поступлений , которые вводили сами сотрудники и при перепроведении документов локально будет проще , чем с заморочками документов  набитых в ЦО и касающихся остатков переферийки
34 tgu82
 
18.06.20
11:31
(32) Ну да, вот только как резать апдейтс когда другие вводят в него добавление - не врубаюсь
35 Ёпрст
 
18.06.20
11:32
(32) прямым запросом с delete
36 Ёпрст
 
18.06.20
11:32
и установкой драйверу не блокировать табличку
37 tgu82
 
18.06.20
11:33
(33) Но документ же в ПБ сформируется с партиями хоть прихода хотть расхода - перемещение но документ от партии прихода - пустой точнее "объект не найден". просто я все это уже 1000 раз промысливал за эти годы.
38 ChMikle
 
18.06.20
11:35
(37) ? если вы впишите в документ прихода поступлениеОтЦО (или перемещение подшаманите) , то в чем проблема , там будет документ - который вы запишите .
39 tgu82
 
18.06.20
11:37
(38) Я понял - разбивать перемещение на два документа. Тоже там думал - типа приход не мигрирует а мигрирует расход
40 ChMikle
 
18.06.20
11:38
(39) в вашем случае если отправитель ЦБ , то мигрирует приход с ПБ , а расход только списание делает в ЦБ
41 ChMikle
 
18.06.20
11:39
+(40) добавьте номер перемещения ЦО как реквизит в документ оприходования ПБ , и можете собирать всю цепочку от приходной накладной поставщика , до конечной точки реализации в переферийке. Отчет перепишете по стыковке партий документов перемещений
42 tgu82
 
18.06.20
11:40
(38)+ А иначе в ПБ не проведется перемещение с ЦБ. Ибо партия списанная в первой части переммещения - будет минусовать. Непонятно откуда она взялась на остатке. Приходы все у нас в ЦБ делаются
43 ChMikle
 
18.06.20
11:41
(42) ну да ,в ЦБ списали , в ПБ оприходовали и вперед и с песней :))
44 ChMikle
 
18.06.20
11:41
+(43) заодно и приемка качественнее будет , когда сами будут набивать товар
45 tgu82
 
18.06.20
11:45
(44) Ага, ну это вообще отказаться от УРБД, от всех ее преимуществ. Может все-таки с партиями как-то по-другому можно подшаманить ?
46 ChMikle
 
18.06.20
11:45
(45) >>Ага, ну это вообще отказаться от УРБД, от всех ее преимуществ.
Зачем так категорично :)
47 tgu82
 
18.06.20
11:47
(44) Так они в ЦБ сами для себя перемещения формируют просто сразу из остатков ЦБ, ну а потом они мигрируют. Вот если бы можно было создавать пустые болванки поступлений по партиям из ЦБ с номерами поступлений из ЦБ - вот тогда было бы классно. Но как это автоматом жделать - не знаю. А главное - когда
48 tgu82
 
18.06.20
11:49
(47) Ну и никогда не перепроводить эти перемещения или при проведении смотреть что если создано  в ЦБ - перепроведение в ПБ запрещено
49 tgu82
 
18.06.20
11:53
(47)+ Соответственно остатки по ЦБ и другим ПБ - вообще нет смысла даже смотреть
50 ChMikle
 
18.06.20
11:53
(48) я бы вообще поделил ЦО на 2 базы одна общая ЦБ и переферийка , где все вводили бы , в ЦБ только получатель и отчеты
51 tgu82
 
18.06.20
11:54
(50) Ну отчасти так и есть. Просто там склад никак поделить не могут на ЦБ между оптом и розницей по этому такой вариант не работает.  А ПБ вообще-то аж 6 штук
52 tgu82
 
18.06.20
12:01
(52) Из-за того что на 3 ПБ и опт и розница (разнофирменные), то приходится чтобы менеджеры смотрели платежи и долги клиентов - мигрировать стоки выписки приход и приходные кассовые ордера
53 tgu82
 
18.06.20
12:10
(19) Епрст У вас случайно нет примера такого запроса к апдейтс? Чтоб хоть малость понять что к чему
54 Bigbro
 
18.06.20
12:22
разбиение на 2 документа отпуск и прием вроде как и проблему с партиями закрывает, нет?
55 Андрей_Андреич
 
naïve
18.06.20
12:23
(53) Посмотри структуру урбд там все просто
56 tgu82
 
18.06.20
12:29
(55) Структуру апдейтс?
57 tgu82
 
18.06.20
12:32
(54) Закрывает но создает массу проблем - ведь блин выгрузка в бухгалтерию перемещений идет. То есть придесят еще и обменс БП3 модифицировать? Потом у меня есть учет кабельной мерной продукции - получается вместо одного подчиненного документа бухт мне два создавать - один на приход и один на расход? Ну неужели нет никакого варианта чтобы партии в неприличном состоянии были ? )
58 Андрей_Андреич
 
naïve
18.06.20
12:33
(57) Вопрос зачем нужны партии считаем вбросом?
59 ChMikle
 
18.06.20
12:35
(57) в бп 3 выгружается скорее всего документ , он сам проводки сделает, делайте по факту приемки или отгрузки выгрузку документов и будет вам счастье
60 tgu82
 
18.06.20
12:36
(59) Ладно, это позже.
(58) ДА, потому что буквально вчера разбирался. Для увеличения маржи в реализации были проставлены конкретные партии - это на ПБ и на ЦБ бывает.
61 Bigbro
 
18.06.20
12:37
ну сложность она должна где то жить. от нее нельзя избавиться объективно.
если мы убираем сложность из регламентов и доп. документов - то перемещаем ее в программные настройки обменов, допреквизиты и прочая.
62 tgu82
 
18.06.20
12:38
(59) Я понял. Перемещение оставляем но наполовину и его собственно и выгружаем. А приходизЦБ уже в ПБ уйдет и все.
63 tgu82
 
18.06.20
12:40
(62)+ Так а может вторая часть - это просто Оприходование ТМЦ и все?
64 tgu82
 
18.06.20
12:42
(36) Епрст
и установкой драйверу не блокировать табличку - это как сделать?
А под скуль точно так же? ТАм же драйвера БД нет
65 tgu82
 
18.06.20
12:45
(61) А если на ПБ сделал перемещение обратно на склад ЦБ или на другую ПБ - тоже двоить должно? Тольк в обратную сторону?
66 Ёпрст
 
18.06.20
12:45
(64) SET TABLEVALIDATE TO 0

а для скуля есть хинты в запросе
67 tgu82
 
18.06.20
12:47
(66)+ что есть?
68 tgu82
 
18.06.20
12:52
(66) Да, понял. Типа вся база ждет пока не выполнится мой запрос
69 Ёпрст
 
18.06.20
13:02
(68) ты не понял, никто никого не ждёт
70 Cthulhu
 
18.06.20
13:09
есть такой "финт ушами" - разные модули проведение в цб и в пб.
использовать в модуле документа инструкцию #ЗагрузитьИзФайла, в цб - свой файл модуля (полный, расход с источника - приход на приемник, с партиями), в пб - свой (тупо только приход или расход с пустыми партиями в зависимости от того, является ли основной склад пб источником или приемником).
после каждого обмена - перепроведение перемещений.
71 Cthulhu
 
18.06.20
13:10
(70)+:
72 tgu82
 
18.06.20
13:10
(69) Тогда пожаоуйста растолкуй
73 Ёпрст
 
18.06.20
13:11
(72) Что именно ? Что отключив блокировку таблички, можно разными пользователями делать запросы к ней, или что именно тебя интересует ?
74 tgu82
 
18.06.20
13:11
(71) Ну типа того, только вот надо тогда везде робота запускать который после обмена перепроводить будет
75 tgu82
 
18.06.20
13:13
(73) Я говорю о запросах на изменение. Вот их я так понимаю делать будет нельзя или будет очередь и очередной запрос ждет пока не закончится мой
76 Ёпрст
 
18.06.20
13:14
(75) :)))
какие на.. запросы на изменения ?
Там все го лишь insert и delete, всё.
77 Ёпрст
 
18.06.20
13:15
И какая в на.. очередь еще ?
78 tgu82
 
18.06.20
13:17
(77) юзер1 делать делете на апдейтс
     юзер2 в это же время делает инсерт на апдейтс какого-то объекта.
     Как я понимаю сначала выполняется мой запрос  раз он раньше пошел и только потом запрос юзер2. Или нет?
79 Ёпрст
 
18.06.20
13:18
(78) нет
80 tgu82
 
18.06.20
13:19
(79) Если можно в двух словах - пожалуйста разъясни
81 Ёпрст
 
18.06.20
13:23
(80) создай примитивную обработку, одна будет инсертить записи в файл, другая удалять и запусти под разными пользователями..играйся, наслаждайся
82 Ёпрст
 
18.06.20
13:23
ну и прочитай про многопользовательскую работу с файлами в дбф
83 tgu82
 
18.06.20
13:24
(82) Читал ибо работаю с ДБф примерно с 1994 года так или иначе.
84 tgu82
 
18.06.20
13:28
(82) Если я делаю запрос на делете а юзер делают туда же запрос на инсерт то при попытке обмена - выгрузки в файл обмена - у меня будет лишняя неудаленная запись
85 tgu82
 
18.06.20
13:37
SQL имеет средства управления параллелизмом для точного указания места получения результата: ни одна команда не должна быть выдана, пока предыдущая не будет завершена (включая команды COMMIT или ROLLBACK).

Механизм, используемый SQL для управления параллелизмом операций, называется блокировкой. Блокировки задерживают определенные операции в базе данных. Задержанные операции выстраиваются в очередь и выполняются только после снятия блокировки.
86 Ёпрст
 
18.06.20
13:48
(84) вешай триггер тогда на табличку, и при каждом инсерте удаляй им лишнее
87 Ёпрст
 
18.06.20
13:49
при желании, можно вычищать данные из dat файла..но, это трудозатратнее
88 tgu82
 
18.06.20
14:10
(87) Конечно куда интереснее удалять даныые из самого файла обмена. Насчет того чтоб при инсерте сразу удалять - это красиво. Только это надо процедуру сыскать которая это все делает и менять ее. Причем тут 1С - ваще непонятно )
89 Ёпрст
 
18.06.20
14:14
(88) ты делаешь проблему там, где ёё нет. перед выгрузкой примитивный запрос на delete потрёт все записи за мс
90 tgu82
 
18.06.20
14:18
(89) Я не делаю проблему хотя да, из пушки по нанообъектам )
91 Ёпрст
 
18.06.20
14:25
Если был бы у тебя МОД, то там всё проще/гибче и лучшее..всего то надо допилиь чутка, чтоб регистрировались изменения урибом, а выгружались по правилам МОД-а..вон, точно знаю, у (58) это давно работает.
У нас и обычный мод неплохо справлялся, мне лень было уриб прикручивать, я и так сам мод поправил, в своё время.
Там любые свистелки-хотелки и любая организация данных.
92 tgu82
 
18.06.20
14:29
(91) То есть вообще полностью менять обмен данными и содержание ПБ. МОД когда-то был но помнится кто-то очень сильно его раскритиковал
93 Ёпрст
 
18.06.20
14:42
(92) критиковали его те, кто с ним не работал никогда или знаком поверхностно. На основе мода потом кд2 слепили
94 tgu82
 
18.06.20
14:58
(93) Считаешь что мне стоит найти МОД в каком-то виде и заняться им? С одной стороны ничего такого в свертке ДБФ когда регистр RA328 подходит к 2 ГБ нет. Делается она шустро и только потом приходится заново создавать все ПБ. А до их ввод в работу использовать старые с выгрузкой данных в уже новые.

Мне очень не нравится вот весь этот геморрой.
С другой стороны если склад получатель и отправитель имеют разные ПрефиксыУРБД, то надо как бы разбивать перемещение а если перемеещение внутри одной базы или перемещение из ПБ в ЦБ то можно использовать обычное перемещение. А если из ПБ в ПБ то точно так же надо делать - разбивать перемещение на две части
95 Андрей_Андреич
 
naïve
18.06.20
15:10
(92) МОД прикольная штука. У меня у пары клиентов на нем была реализована схема снежинка.
Кстати ставится на раз и за пару дней запускается в бой. Это, конечно, если опыт есть.
Ну а без опыта за 2 недели.
Потом тупо щелкая флажками настраиваешь для каждой точки все фильтры и вуаля - каждая точка видит только свои остатки и документы и размер базы на точках в 10 раз меньше
96 Андрей_Андреич
 
naïve
18.06.20
15:13
(91) Кстати, допилка МОД+УРБД меньше сотни строк. Хорошей секретарше на минуту работы.
97 tgu82
 
18.06.20
15:21
(96) Допилка встроенным языком 1с или чем-то еще? И в плане чего допилка? Еще бы где-нибудь найти сначал это МОД. Был ну очень давно. Пока мы были маленькие - все было хорошо но вот выросли и начались все эти заморочки
98 Андрей_Андреич
 
naïve
18.06.20
15:29
(97) Да она тебе не факт что нужна. Я ее сделал когда клиенты стояли в очередь к кассам т иеханизм регистрации МОДа не справлялся.
99 tgu82
 
18.06.20
15:42
(98) Понятно, но допилка в плане чего? Мне лично УРБД своей мощной сохранностью и уникальностью данных очень нравится. Просто раз пока мы на УТ не переходим - решили перейти на скуль 7.7 и пока я бьюсь с прямыми запросами - заодно в параллель надумал наконец как-то решить и этот вопрос. Не нравится мне куча лишней инфы в ПБ
100 tgu82
 
18.06.20
15:46
(98) Найти этот триггер который отвечает за работу с апдейтс и поправить его как мне надо
101 Андрей_Андреич
 
naïve
18.06.20
15:50
(99) Я допиливал так - регистрация изменений с помощью УРБД, а выгрузка-загрузка с помощью МОД. У меня был немалый документооборот при построчном проведении документов. Механизм регистрации МОД не справлялся. Без построчного проведения при нынешней технике это не актуально. Ну если только выйдете на десятки тысяч документов в день...
102 tgu82
 
18.06.20
15:54
(101) Пока такого нет что десятки тысяч. Но блин и МОД нет. Еще непонятно где его взять чтоб поюзать. Если что - купить не проблема будет
103 Андрей_Андреич
 
naïve
18.06.20
15:56
(102) У Ёпрст двести штук МОД залежалось - одолжи десяток :)
104 Андрей_Андреич
 
naïve
18.06.20
15:58
(102) У меня дистрибутив далеко не последний - я его для себя дорабатывал и обновляться было не актуально
105 tgu82
 
18.06.20
16:03
Ну может и одолжит
106 1snik_d
 
18.06.20
16:03
Я колхозил вот так: для документов из периферий создавались "Пустышки". Правила миграции для документов "Создание и центр". Партии регистрируются прямым запросом в SQL для необходимых периферий, когда перемещение делается. Перемещения сделаны по ордерному принципу: одно делает расход, одно приход.
107 tgu82
 
18.06.20
16:09
(106) С пустышками пробовал но не все так гладко было. Насчет партий - ну ндо думать. Спасибо!
108 tgu82
 
18.06.20
16:11
(106) Не совсем понял как так одно перемещение расход другое приход. Типа два разных документа составляющих одно перемещение?
109 tgu82
 
18.06.20
16:14
(104) Я нашу замороченную бизнес-логику рисовал и с зарплатой и бухгалтерией занимался. УРБД работала и не морочился.
110 tgu82
 
18.06.20
16:21
(109)+ Оно и сейчас все работает нормально но структура данных меняется, способ организации данных меняется и придется что-то с ПБ решать по-любому
111 1snik_d
 
18.06.20
16:21
(108) Да, типа того
112 tgu82
 
18.06.20
16:25
(111) Да, это решение вопроса но у нс за месяц порядка 9000 перемщеений разных делается - и меня просто порвут на части тем более что у нас работает мой реестр перемещений - некий аналог монитора сканированных накладных только без сканирования )
113 Злопчинский
 
18.06.20
16:38
(12) нет, я как раз такими извращениями не занимаюсь. Просто прямыми запросам подрезаб раз в годполтора ненужные данные на точках и все.
114 Злопчинский
 
18.06.20
16:39
"То есть партия есть а документа ее породившего в таком случае нет."
для типовой ТИС это некритично если на ПБ будут партии но не будет доков ее породивших. в типовых при проведениях по партиям нет обращений к партиеобразующим документам
115 tgu82
 
18.06.20
16:44
(114) Согласен, но тогда в справочнике Партия в ПБ будет Приходный документ - "Объект 34023984/ПБ" не найден, а в ЦБ все как надо. Ну и опять же остатки на на ПБ по другим складам. Они же повиснут
116 tgu82
 
18.06.20
18:15
В реале надо убивать движения по складам не этого магазина ну а перед обменами как-то удалять лишние записи в апдейтс
117 Злопчинский
 
18.06.20
18:17
(115) " Партия в ПБ будет Приходный документ - "Объект 34023984/ПБ" не найден,"
-- ну и хрен с ним, если этот обьект по ссылке не используется то битая ссылка ничему не мешает.
118 Злопчинский
 
18.06.20
18:19
(115) "ПБ по другим складам. Они же повиснут"
- подчищать раз в год. это проще чем, каждый раз при написании алгоритмов не забывать, что надо не создавать перемещение, а искать пустое созданнное на ПБ и использовать его. а если так делать - надо суко не забывать что при многопользовательской работе такоую "болванку" может захватить кто-то другой, и надо разруливать блокировки. и еще кучу гемора.
119 Злопчинский
 
18.06.20
18:20
(116) угу, удалять в апдейтс - это самое оно. только чтобы это проходило автоматом, а не вручную.
и тут - может быть - вполне пригодится опенконф, где можно на выгрузку повесить скрипт (?), который ихз настроечного файла вытянет настройки и подчистит апдейтс...
???
120 tgu82
 
18.06.20
18:21
(119) Класс. То что надо примерно. Вот только теперь еще и опенконф. где хоть его взять? он платный?
121 tgu82
 
18.06.20
18:23
(118) Полностью согласен. Мы уже не раз обсуждали этот вопрос и все эти пустышки как-то не то что хотелось бы.
122 Злопчинский
 
18.06.20
18:25
(120) не, на ИС набери OpenConf - там есть сборка ОпенКонф лайт пак и ее подправки. я им пользуюсь (правда совсем в минимальном виде).
123 tgu82
 
18.06.20
18:32
(122) Нет у меня стартмани на исе. но вресию 2010 года лайт вроде надыбал
124 tgu82
 
19.06.20
08:21
(122) Надо делать обратное перемещение всех остатков из магазинов в ЦБ, затем сделать аналогичные перемещения из ЦБ на магазины в ЦБ, затем создавать новые ПБ и уже при их создании на этапе формирования апдейтс оставить только соотвтетствующие магазину перемещения.

То есть после таких операций должны получиться новые периферийки с одним документом в каждой (скорее двумя ибо есть в торговле две фирмы)
125 Mikeware
 
29.06.20
13:26
(95) снежинка делается и в типовой правда, там есть нюанс - табличка баз "портится" при принятии в узле, который "то центр то периферия". Решается одним DTS-запросом, или триггером (но я тогда еще неопытный был, триггеры были слишком сложны - поэтому сделал DTS после обмена с "конечным узлом")
(99) с прямыми запросами не надо "биться" - их нужно освоить, и забыть "черные запросы" как страшный сон. ибо поможет в дальнейшем, когда на снеговика переходить будешь
126 Mikeware
 
29.06.20
13:28
(119) в дбф после чистки данных  надо бы переиндексировться.  
вроде Ёп говорил, что если через фоксовый драйвер удалять - то и переиндексироваться не надо, но я не пробовал.
127 arsik
 
гуру
29.06.20
13:32
(0) А что у вас на точках делают? Может проще туда какой ни будь фронтол поставить для продажи, а все товародвижения делать в центральной в терминале.
128 tgu82
 
29.06.20
14:34
(127) Там и пот и розница и еще там весь мой механизм по товародвижению кабельнопроводниковой продукции и еще своя система дисконта и т.д. - поэтому сомневаюсь что можно.
Правильнее всего было забыть отчасти про РИБ и делать через КД обмен, но РИБ уж очень хорошо данные отрабатывает - и не помню чтоб терялись пакеты
129 tgu82
 
29.06.20
14:36
(128)+ Вот если б в этот фронтол как-то всобачить мой механизм продажи кабеля - то было бьы неплоох
130 arsik
 
гуру
29.06.20
15:18
(129) Давно с ним не пересекался, но говорят, что он очень гибкий. Но и не обязательно его использовать, сама идея отдельно фронт, отдельно бэк. Фронт можно и самому написать или подходящий найти и убрать УРБД.