Имя: Пароль:
1C
1С v8
Как трансформировать РИБ в обычную БД
0 Russkiy
 
04.03.13
10:35
Привет, ребята!

У меня 1С:Предприятие 8.2 (8.2.15.318), конфигурация "Управление торговлей для Украины", редакция 2.3.

Мне необходимо решить вопрос со своей БД. Сейчас она у меня распределённая. Но обстоятельства изменились так, что теперь в этом нет необходимости - все пользователи могут работать с БД по сети.

Если я правильно понимаю, то при создании РИБ в ней автоматически выполняются настройки, заставляющие её работать определённым образом - например, накапливать сведения о том, какие изменения, подлежащие передаче на другие узлы РИБ, внесены в БД; добавлять префикс к кодам вновь создаваемых объектов; что-нибудь прочее, о чём я, чайник, возможно, и не догадываюсь... Так вот, мне теперь нужно "вернуть всё взад" (:)): заставить БД работать в обычном режиме - не копить сведения об изменениях, не добавлять префикс к кодам объектов, и проч. и проч.

Вопрос первый - обоснованно ли такое моё желание, или всё можно оставить как есть и просто не производить обменов данных между узлами РИБ?

Вопрос второй - если накопление данных для обмена между узлами РИБ некритично, и им можно пренебречь, то вот добавление префикса в главном узле РИБ меня напрягает, и я хочу от него избавиться. В Константах на последней закладке я удалил этот префикс из соответствующего поля ввода, но это не помогло - он всё равно появляется... Как можно заставить систему прекратить это делать?

Вопрос третий - если всё-таки БД необходимо реорганизовать для превращения её в обычную, то как это можно сделать?

Буду очень благодарен всем откликнувшимся за добрые советы и толковые подсказки.
1 Wobland
 
04.03.13
10:36
/ResetMasterNode
ПС не читал
2 Галахад
 
гуру
04.03.13
10:42
Узел, наверное удалить. Подчиненный.

По префиксу. Что больше  000123 или ЦБ0123?
3 Russkiy
 
04.03.13
10:53
Не знаю, что такое ПС (вы уж простите мне такую дремучесть), но, к примеру, в коробочных книгах описано только создание РИБ и работа с ней. Обратный процесс не описан, во всяком случае в главе 19 "Работа с распределёнными базами данных", стр. 1017...1024.

В настройках обмена между узлами РИБ я удалил все узлы, но это не помогло. Об отработке прежнего сценария я могу судить только по появлению префикса, а он появляется несмотря на все мои ухищрения...

Галахад, а в чём смысл Вашего вопроса? В каком смысле Вы хотите сравнить величину указанных Вами обозначений?
4 Wobland
 
04.03.13
10:55
(3) post scriptum имелся в виду. обратный процесс описан в хелпе
5 Галахад
 
гуру
04.03.13
10:56
(3) Если у обычной (не РИБ) базы установить
номер документа АА00001 вместо 0000001.
То следующий номер будет АА00002
И это без всяких префиксов.
6 Russkiy
 
04.03.13
11:13
Ага... ПС - это постскриптум по-русски. Учту на будущее спасибо. И хелп почитаю сей секунд.

Галахад, дело в том, что добавление префикса к номеру отнимает у него в моём случае четыре первых знака, оставляя для значащей части номера меньшее количество цифр, чем в номере без префикса. В некоторых номерах объектов это может быть критично: ведь если их количество превысит максимально возможный номер (к примеру, при пяти знаках номера и четырёх знаках префикса в нём для обозначения номера требуется уже шесть знаков номера), то неизвестно, как поведёт себя система в этом случае... Мне, чайнику, во всяком случае. Поэтому я хочу избавиться от добавления префикса РИБ к номерам объектов.

Ну что же, ща почитаю хелп...
7 Russkiy
 
04.03.13
11:20
Wobland, чой-то я не нахожу информации по РИБ в хелпе... Для этого захожу: Сервис - Распределённая информационная база (РИБ) - Настроить узлы РИБ. Нажимаю клавишу F1. Открывается справка, но не контекстная. Тогда лезу в ней в Индекс, в поисковой строке набираю "РИБ" или "Распр..." - но система ничего по РИБ не предлагает... Где же там это описание?
8 wladimir90
 
04.03.13
11:20
В СП:
УстановитьГлавныйУзел
9 Галахад
 
гуру
04.03.13
11:24
(7) Перенумеруй нужные объекты и не парься.
10 Wobland
 
04.03.13
11:25
(7) ф1 - поиск по (1). глава "параметры запуска из командной строки" или что-то в этом духе
11 Wobland
 
04.03.13
11:26
(10) или шифт+ф1? рефлексы отточены, не помню, что нажимаю ;)
12 Галахад
 
гуру
04.03.13
11:26
(10) Нафига? РИБ-а уже нет.
13 Wobland
 
04.03.13
11:29
(12) зато Russkiy остался. будет знать ;)
14 Russkiy
 
04.03.13
11:38
Галахад, ты имеешь в виду, что если я перенумерую нужные объекты, то система продолжит их нумерацию без присвоения префикса? А для этого нужно перенумеровать все объекты, которым уже присвоены номера с префиксом, или достаточно только последний для каждого типа объекта?

wladimir90: не понял Вашей рекомендации. В СП - это где?
15 Галахад
 
гуру
04.03.13
11:41
(14) А какой номер больше?
АА00009 или 0000010
Система возьмет больший.
16 Serg_1960
 
04.03.13
11:45
(0) Если говорить абстрактно (при условии что это РИБ; если план обмена - типовой "Полный"; "за основу" для дальнейшей работы будет взята база центрального узла), то достаточно удалить всё, что в базе связано с настройкой автообменов, очистить регистрацию изменений; пометить на удаление и удалить узлы из плана обмена.

"Первый вопрос" Можно оставить всё "как есть" и просто не производить обмены. Накапливаемую регистрацию изменений можно периодически очищать. Имхо - не оптимальное решение.

"Второй вопрос" а регистр сведений "Префиксы информационных баз" - тоже почистили?

"Третий вопрос" реорганизации БД не требуется производить. Даже если "за основу" будет использоваться база подчиненного узла.

PS: На практике всё несколько сложнее, чем в теории. И даже такая рутинная операция, как пересмотр нумерации документов, может стать "амнем преткновения".
17 Wobland
 
04.03.13
11:57
(14) СП - синтакс помощник. кусок из РеанимацияПодчиненногоУзла81.epf:

Процедура ОтключитьГлавныйУзелНажатие(Кнопка)
   Если ПланыОбмена.ГлавныйУзел() <> Неопределено Тогда
       СохранитьЗначение("РеанимацияПодчиненногоУзла_ГлавныйУзел",ПланыОбмена.ГлавныйУзел());
       ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
   КонецЕсли;
   Предупреждение("Главный узел отключен");
КонецПроцедуры

//я за разговором не слежу
18 Russkiy
 
04.03.13
12:40
Serg_1960: спасибо большое за разъяснение. Регистр сведений не чистил - сейчас этим и займусь. Что до остального - ну что же, камни преткновения, к сожалению, везде поразбросаны, куда не сунься. Придётся бороться с ними - не мытьём, так катанием... :).

Wobland: и Вам спасибо за ценную информацию. Я когда лазил по этому вопросу по Интернету, встречал этот вариант решения проблемы, не не понимал, как его использовать. Честно говоря, и сейчас ещё не представляю точно, как я мог бы использовать этот фрагмент. Можно ли его использовать как самодостаточную обработку для отключения главного узла?
19 Wobland
 
04.03.13
12:49
(18) именно этим эта обработка и занимается. сначала отключается главный узел, потом накатывается рабочая конфигурация, потом включается главный узел обратно. но уже в другой процедуре ;)
20 Russkiy
 
04.03.13
12:51
Ага... Значит, если я возьму этот фрагмент, оформлю его как самостоятельную обработку, а потом запущу её на исполнение - то могу ожидать нужного мне эффекта?
21 Галахад
 
гуру
04.03.13
12:59
(20) Нет.
22 Wobland
 
04.03.13
13:08
(20) центральный узел это отключит
23 Russkiy
 
04.03.13
13:09
Ну что же - ща попробую это на копии БД.
24 Галахад
 
гуру
04.03.13
13:09
(22) А зачем? Он же вроде в центральном узле и работает.
И уже убил периферийный.
25 Wobland
 
04.03.13
13:12
(24) а я что-то как начал с разъяснения "ПС", так не могу прекратить отвечать на задаваемые мне вопросы. хотя, за темой не слежу ни разу ;)
26 Галахад
 
гуру
04.03.13
13:13
(25) А, понял. Тут у вас типа аськи. :-)
27 Russkiy
 
04.03.13
13:16
Да, Галахад, ты прав: я продолжаю работу в центральном узле, а удалённую БД игнорирую, будто её и нет. Но вот мне нужно отключить добавление префикса к номерам объектов. Если этого будет достаточно для дальнейшей бесконфликтной (в этом плане, по крайней мере) эксплуатации БД, то я буду вполне удовлетворён. Ща попробую почистить реестр (см. пост 16)...
28 Галахад
 
гуру
04.03.13
13:26
(27) Да просто перенумеруйте, какой-нибудь не особо важный документ.
Или попробуйте создать документ, который не используете. Для теста.
29 Russkiy
 
04.03.13
13:53
Вот ёлы-палы... Почистил регистр сведений - удалил все префиксы информационных баз. Из вкладки "Обмен данными" в Константах удалил префикс, в настройках обменов удалил обмен с удалённой БД, в Плане обмена - соответствующий обмен. И после всего этого создаю нового контрагента - и система добавляет к его номеру префикс! Откуда она его берёт? Я ведь, вроде бы, отовсюду его удалил...
30 Wobland
 
04.03.13
13:56
(29) "прибавляет 1" к крайнему существующему номеру?
31 Russkiy
 
04.03.13
14:02
Да, прибавляет. Но и префикс добавляет. Гад... :)
32 Wobland
 
04.03.13
14:03
(31) вон Галахад ещё в (5) на это (на это?) намекал
33 Russkiy
 
04.03.13
14:09
Ага, я сейчас только понял этот намёк... Так что же получается? Если я изначально ввёл в состав номера буквенные символы, то далее система будет эту форму копировать? Просто добавляя к цифровой части номера единицу?

Но вот только что я залез для тестирования в справочник контрагентов. Отредактировал коды всех присутствующих в нём элементов (благо, их пока немного), заменив их буквенную часть соответствующим количеством нулей. Но при создании нового элемента ему был присвоен номер опять же с этим префиксом!.. Откуда он теперь берётся?! Йолы-палы... :)
34 Wobland
 
04.03.13
14:12
(33) да. да. из крайнего номера. про группы не забыл?
35 Wobland
 
04.03.13
14:12
выбрать максимум(спр.код) сделай
36 Russkiy
 
04.03.13
14:18
Про группы не то что бы забыл, но даже и не думал... А из какого крайнего, если я и его отредактировал, и он, быв прежде, к примеру, "ЦБД0000065", стал "0000000065"? Откуда теперь берётся это "ЦБД"?

А как выбрать максимум?
37 Wobland
 
04.03.13
14:20
(36) в консоли запросов. в общем, пока ты меня не убедил, что в кодах встречаются только цифры. да и сам, наверное, не уверен ;) база тестовая? а ну как взять и перенумеровать все обработкой?
38 Russkiy
 
04.03.13
14:25
Не, Wobland, я, собственно, и не утверждаю, что в кодах встречаются только цифры. Я утверждаю пока только наблюдаемый мной факт: во вновь создаваемых объектах БД в их номера добавляется её префикс, хотя он удалён мной из всех доступных мне регистров и хранилищ информации...
39 Russkiy
 
04.03.13
14:27
Да, БД тестовая. Но ведь я перенумеровал все номера элементов справочника "Контрагенты". Что, система может брать префикс из номеров элементов другого типа? Например, из номеров документов - тех же перемещений или реализаций товаров и услуг?
40 Wobland
 
04.03.13
14:30
(38) этот наблюдаемый факт вполне может быть вызван "кривым" кодом у существующего элемента. поэтому и интерес такой к нецифрам.
(39) уверен, что "ЦБД" - именно префикс?
41 Wobland
 
04.03.13
14:31
как вариант. грохнуть всех непосредственно, попытаться создать новый элемент. будет гладко - проблема в нецифровом коде, будет шершаво - проблема в некоем префиксе
42 Russkiy
 
04.03.13
14:36
В общем, да, уверен. Потому что здесь же, в справочнике, присутствуют и элементы, код которых ещё не имеет этого префикса, поскольку созданы они были ещё до создания РИБ.

Я тут взял вышеприведённый фрагмент внешней обработки и всандалил его самостоятельным кодом во внешнюю обработку. Попытался запустить её на исполнение, но реакции 1С никакой не получил - ни внешней (хоть бы заругалась как-нибудь), ни внутренней - префикс как добавлялся, так и добавляется во номер вновь создаваемого элемента...
43 Russkiy
 
04.03.13
14:38
Грохнуть всех непосредственно... Как думаешь, для этого достаточно сделать это в пределах только одного справочника - того же "Контрагенты"?
44 Wobland
 
04.03.13
14:46
(43) для выставления диагноза вполне сойдёт на одном справочнике
45 Russkiy
 
04.03.13
14:46
Wobland, вот ещё любопытное наблюдение: открыл справочник, где ещё нет ни одного элемента. Создал новый элемент - номер без префикса. Открыл другой справочник, где элементы были созданы до создания РИБ и не имеют в своих номерах префикса. Создал новый элемент здесь - опять его номер оказался без префикса. Похоже на то, что система при присвоении кода новому элементу всё-таки ориентируется на форму кода, определённую предыдущими элементами? А? Как полагаешь?
46 Serg_1960
 
04.03.13
14:48
Ыыы... ТС, на ИТС почитай "Особенности хранения номеров и использования префиксов"

PS: впрочем сам уже нашел "где посмотреть". Последний пункт в v8: Как 1С:Предприятие 8 определяет следующий номер документа
47 Wobland
 
04.03.13
14:48
(45) ещё раз. "аа001" плюс 1 = "аа002". строковая такая арифметика
48 Russkiy
 
04.03.13
14:52
Ага... Если резюмировать, то для решения этой проблемы следует перенумеровать все элементы справочников, журналов и списков документов, чтобы 1С стала "копировать" форму номеров элементов с этих перенумерованных? Ща почитаю ссылку Сержа...
49 Wobland
 
04.03.13
14:53
я правда косноязычен? "а ну как взять и перенумеровать все обработкой?" из (37)...
50 Serg_1960
 
04.03.13
14:59
Я бы, имхо, ничего бы не "перенумеровывал". Бедные юзверы, они же запутаются с номерами документов. Был один - стал другой... а в документообороте гуляют старые печатные формы, со старыми номерами документов... Уж лучше присвоить организации другой префикс и оставить в покое старые номера и коды.
51 Russkiy
 
04.03.13
15:03
Так... Почитал... Там всё главным образом касается цифровой части номеров, которая, естественно, всякий раз изменяется на единицу при создании нового элемента. Мне же нужно ликвидировать процесс включения в структуру номеров префикса. Это несколько иная задача...

Wobland, ты предлагаешь перенумеровать обработкой все-все коды всех-всех элементов в БД? И в справочниках, и в журналах документов, и в списках документов?
52 Russkiy
 
04.03.13
15:29
Wobland, а какой обработкой можно было бы перенумеровать мои номера? Я сунулся было в Групповую обработку справочников и документов, но не нашёл там среди возможных действий перенумерации объектов. Ты имеешь в виду специальную обработку, не штатную?
53 Serg_1960
 
04.03.13
15:34
Универсальная обработка, можно сказать "штатная типовая", на ИТС лежит.
54 Serg_1960
 
04.03.13
15:35
"Универсальные подбор и обработка объектов" кажется так называется
55 Галахад
 
гуру
04.03.13
16:19
(51) " всех-всех элементов в БД"
Вам, чего совсем делать нечего?
Перенумеруйте, только те объекты,
для которых номера заканчиваются.
56 Russkiy
 
04.03.13
17:09
Галахад, но ведь я уже протестировал этот вариант. Я открыл справочник "Контрагенты", перенумеровал последний присвоенный номер, но это не помогло: новый номер, похоже, сформировался на основании предпоследнего...
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс