Имя: Пароль:
 
1C
 
Удаление документов в периферийной базе УРБД
0 Андрей Александрыч
 
26.11.09
16:11
Здравствуйте.
Подскажите, пожалуйста такой вопрос...
Есть ТиС и УРБД, центральная база и 4 филиала. По правилам миграции 3 филиала видят только себя, а 1 - все. Центральная база и база всевидящего филиала разрослась и файл RA1130.DBF подходит к 2 ГБ. Было решено перевести центральную базу на SQL, а филиалы оставить на DBF, при этом тому филиалу, который видит все, руководством было принято решение урезать видимость, чтобы они как и все остальные филиалы видели только себя. Вопрос... Как это правильнее сделать?
1 Ёпрст
 
26.11.09
16:14
Перевести центр в скуль, пересоздать перефирийку - настроить правила миграции..
2 Андрей Александрыч
 
26.11.09
16:24
Тогда получится выгрузка огромных размеров и она будет загружаться на филиале очень долго... А не прокатит такой вариант: убрать филиальную базу из строки "дополнительно" в правилах миграции, а потом удалить документы обработкой, тогда её можно было бы запускать частями и это не сильно помешало бы работе...
3 dk
 
26.11.09
16:33
(2) в теории можно попробовать убрать из дополнительно
и запустить ТиИ в этой ПБ - 1с должна предложить пометить на удаление объекты с неположенной миграцией
но что получится в итоге и как дальше обмены пойдут - ХЗ
кроме того ТиИ по времени не меньше выгрузки новой ПБ может занять
4 Андрей Александрыч
 
26.11.09
16:36
(3) Хорошо, спасибо, буду тестировать...
5 Mikeware
 
26.11.09
16:46
1.Сделать обмен периферийки с ЦБ.
2.Удалить в ПБ все, что надо.
3.Очистить 1supdts в периферийке. (любым dbf-редактором, или из другой базы, или 1С++ - пофиг)
6 Нуф-Нуф
 
26.11.09
16:50
а можно удалить с РегистрацияИзменений(0)
7 Андрей Александрыч
 
26.11.09
17:54
Народ, а где можно найти als или хотя бы chm по УРБД? Нашел на 1c.proclub.ru, но при распаковке архива: Неожиданный конец архива, ошибка crc...
8 also
 
26.11.09
17:56
(7) Там меньше 10-ка функций()
9 Mikeware
 
26.11.09
17:56
(7)
{"Shell",
{"Folder", "AST", "УправлениеРБД", "",
       {"Item", "AST", "ТекущаяИБКод", "CurrentIBCode", "ТекущаяИБКод();", "CurrentIBCode();",
"@Назначение:
Получить код текущей ИБ.
@Синтаксис:
ТекущаяИБКод()
Англоязычный синоним:
CurrentIBCode
@Параметры: нет
@Возвращаемое значение:
Строковое выражение, состоящее из трех символов и содержащее код текущей ИБ так, как он задан в диалоге `Управление распределенными данными` Конфигуратора центральной ИБ.
@Описание:
Функция ТекущаяИБКод возвращает код ИБ, на которой запущена система 1С: Предприятие.
@Замечание:
Функция возвращает строку, состоящую из трех пробелов, если ИБ нераспределенная.
@Пример:
КодИБ = ТекущаяИБКод();
Если КодИБ = `ЦОФ` Тогда
Предупреждение (`Конфигурация исполняется на центральной ИБ`,3);
КонецЕсли;"
       },
       {"Item", "AST", "ЦентральнаяИБКод", "CentralIBCode", "ЦентральнаяИБКод();", "CentralIBCode();",
"@Назначение:
Получить код центральной ИБ.
@Синтаксис:
ЦентральнаяИБКод()
Англоязычный синоним:
CentralIBCode
@Параметры: нет
@Возвращаемое значение:
Строковое выражение, состоящее из трех символов и содержащее код центральной ИБ так, как он задан в диалоге `Управление распределенными данными` Конфигуратора центральной ИБ.
@Описание:
Функция ЦентральнаяИБКод возвращает код центральной ИБ.
@Замечание:
Функция возвращает строку, состоящую из трех пробелов, если ИБ нераспределенная.
@Пример:
КодИБ = ТекущаяИБКод();
Если КодИБ = ЦентральнаяИБКод() Тогда
  Предупреждение (`Конфигурация исполняется на центральной ИБ`, 3);
КонецЕсли;"
       },
       {"Item", "AST", "ТекущаяИБЦентральная", "IsCurrentIBCenter", "ТекущаяИБЦентральная();", "IsCurrentIBCenter();",
"@Назначение:
Определить, является ли текущая ИБ центральной.
@Синтаксис:
ТекущаяИБЦентральная()
Англоязычный синоним:
IsCurrentIBCenter
@Параметры: нет
@Возвращаемое значение:
Число, 1 - если текущая ИБ центральная или 0 в противном случае
@Описание:
Функция ТекущаяИБЦентральная возвращает 1, если ИБ, на которой запущена система 1С: Предприятие - центральная, и 0 - если периферийная.
@Замечание:
Функция возвращает 1, если ИБ нераспределенная.
@Пример:
Если ТекущаяИБЦентральная() =0 Тогда
Сообщ = `Конфигурация исполняется на периферийной ИБ`;
Предупреждение(Сообщ, 3);
КонецЕсли;"
       },
       {"Item", "AST", "ИБСозданияОбъекта", "BirthIBOfObject", "ИБСозданияОбъекта();", "BirthIBOfObject();",
"@Назначение:
Определить ИБ, создавшую объект.
@Синтаксис:
ИБСозданияОбъекта(<Объект>)
Англоязычный синоним:
BirthIBOfObject
@Параметры:
<Объект> - Элемент справочника или документ
@Возвращаемое значение:
Строковое выражение, состоящее из трех символов и содержащее код ИБ, создавшей переданный в качестве параметра объект, так, как он задан в диалоге `Управление распределенными данными` Конфигуратора центральной ИБ.
@Описание:
Функция ИБСозданияОбъекта возвращает код ИБ, на которой был создан первоначально объект, переданный функции в качестве параметра.
@Замечание:
Если создание распределенной информационной базы происходило из эксплуатировавшейся нераспределенной, то для всех элементов справочника и документов, созданных в нераспределенной ИБ, функция вернет код центральной ИБ. В нераспределенной ИБ функция вернет строку, состоящую из трех пробелов.
@Пример:
Процедура ПриОткрытии()
  Док = ТекущийДокумент();
  КдСозд = ИБСозданияОбъекта(Док);
  Если КдСозд <> ТекущаяИБКод() Тогда
   Форма.ТолькоПросмотр(1);
  КонецЕсли;
КонецПроцедуры"
       },
       {"Item", "AST", "ТекущаяИБНаименование", "CurentIBDescr", "ТекущаяИБНаименование();", "CurentIBDescr();",
"@Назначение:
Получить наименование текущей ИБ.
@Синтаксис:
ТекущаяИБНаименование()
Англоязычный синоним:
CurrentIBDescr()
@Параметры: нет
@Возвращаемое значение:
Строковое выражение, содержащее наименование текущей ИБ так, как оно задано в диалоге `Управление распределенными данными` Конфигуратора центральной ИБ.
@Описание:
Функция ТекущаяИБНаименование возвращает наименование ИБ, на которой запущена система 1С:Предприятие.
@Замечание:
Функция возвращает пустую строку, если ИБ нераспределенная.
@Пример:
Предупреждение (`Наименование текущей ИБ - `+ТекущИБНаименование(), 2);"
       }
       {"Item", "AST", "ТекущаяИБТолькоПолучатель", "IsCurentIBRecepientOnly", "ТекущаяИБТолькоПолучатель();", "IsCurentIBRecepientOnly();",
"@Назначение:
Проверить текущую ИБ на статус.
@Синтаксис:
ТекущаяИБТолькоПолучатель()
Англоязычный синоним:
IsCurentIBRecepientOnly()
@Параметры: нет
@Возвращаемое значение:
Число: 1, если текущая ИБ является только получателем, 0 - в противном случае.
@Описание:
Функция ТекущаяИБТолькоПолучатель возвращает 1, если ИБ, на которой запущена система 1С:Предприятие, имеет признак 'Только получатель', и 0 - если нет.
@Замечание:
Функция возвращает 0, если ИБ нераспределенная.
@Пример:
Если ТекущаяИБТолькоПолучатель() = 1 тогда
    статусвозврата(0);
конецесли;"
       }

}
}
10 Андрей Александрыч
 
26.11.09
17:57
От спасибо :)
11 ChMikle
 
26.11.09
17:57
сделайте новую переферийную базу в нее поставьте выгрузку как за неделю "загрузится"  поменяете базу в филиале местами и в это время руками первые пакеты обменяете между центром и переферийкой уж даже за 7 дней изменений не наделают чтобы загружалась долго :) так надежнее и менее гемморно
12 Mikeware
 
26.11.09
17:57
(8) Всего 6 функций :-)
13 Ёпрст
 
26.11.09
17:58
14 also
 
26.11.09
17:58
(9) :)

(7) На вот файликом http://slil.ru/28257660
15 Mikeware
 
26.11.09
17:58
(11) Я с вас плЯчу...
16 also
 
26.11.09
18:02
(12) А еще метод РегистрацияИзменений() :)
17 Mikeware
 
26.11.09
18:07
(16) На удаление он вроде не действует. Хотя я давно штатными методами не пользуюсь :-)
18 Андрей Александрыч
 
26.11.09
18:07
(16) не знаю почему, но мне больше всего нравится именно этот вариант с РегистрацияИзменений(0). Не знаю только как себя поведет УРБД, если код баз удалить из строки Дополнительно...
При создании новой базы я не врублюсь как сделать так, чтобы доки, созданные в базе с кодом 2 попали в новую базу с кодом 5... Выгрузку я сделал, но пока что туда попали доки из разных филиальных баз и центра. Че - то я совсем ниче не пойму...
Ладно, на сегодня финиш, всем спасибо, завтра продолжу работу :)
19 ChMikle
 
27.11.09
22:00
(15) не разобрался , думал ему в SQL DBF- ку перегнать
20 Андрей Александрыч
 
03.12.09
16:07
(3) убрал ПБ из строки "дополнительно", сохранение конфы после этого заняло несколько часов, потом сделал выгрузку УРБД в ПБ, потом сделал загрузку файла в ПБ, сам файл загрузился быстро, ТиИ оставил на ночь, к утру закончилось, но изменений никаких нет, в филиале остались все документы и объем файла RA1130.DBF не изменился.
21 Mikeware
 
03.12.09
16:17
(20)
1.Чтоб не заниматься такой фигней, разбираешь md gcomp'ом, удаляешь из правил миграции , собираешь обратно
2. С чего ты решил, что в филиале удалятся документы и изменится размер регистра? Программа все сделала правильно!
22 Злой Бобр
 
03.12.09
16:17
(20) Так и должно быть. Теперь сделай как в (5) и будет тебе счастье.
23 Андрей Александрыч
 
03.12.09
16:25
(21) согласно рекомендациям (3)
(22) я так понял, что если удалять с РегистрацияИзменений(0), то лезть в 1supdts уже не надо будет?
24 Mikeware
 
03.12.09
16:36
(23) 1. ССЗБ
2. Попробуй. Честно говорю - не знаю..
25 Андрей Александрыч
 
04.12.09
14:29
(24) удалил с РегистрацияИзменений(0) и все нормально...