Имя: Пароль:
1C
1С v8
УПП:разбиваю на 2 базы по организациям
0 Morphius
 
26.11.11
13:25
1. Автор, не тупи, а лучше сделай... 100% (1)
2. Переносить через план обмена 0% (0)
3. Переносить через правила 0% (0)
Всего мнений: 1

Есть УПП 1.2, в файловом варианте порядка 3 Гб. В ней велся учет ~ 10 организациям. Стоит задача быстро(за сегодня) разбить ее на 2 базы: 4 организации в одну, остальные в другую. Сейчас делаю так: в плане обмена "Полный" при отправке данных подчиненному проверяю документы/регистраторы записей регистров на наличие реквизита "Организация", , справочники на реквизит/владельца "Организация",сравниваю с нужными и в зависимости от результата выгружаю/не выгружаю. Возможен также перенос по типовым правилам УПП-УПП, но там тоже нужно допиливать перенос операций и корректировок записей регистров. Решил посоветоваться, мож кто предложит более оптимальный/быстрый вариант
1 shuhard
 
26.11.11
13:42
(0) а тупой вариант снять две копии и в каждой грохнуть лишние ?
2 MaxS
 
26.11.11
13:46
Совсем быстрый вариант - разрулить правами доступ к организациям, а потом неспеша убить лишнее ;)
3 Morphius
 
26.11.11
13:52
(1)Думаю, через план обмена будет быстрее, хотя создание нач. образа уже второй час идет;(
4 Morphius
 
26.11.11
13:52
(2)Потом не будет;) Я в командировке на 2 дня
5 pumbaEO
 
26.11.11
13:53
(2) Ага на файловой еще и RLS.
УПП-УПП с дополнительным переносом регистров по документам Корректировка регистров.
6 Morphius
 
26.11.11
13:54
Поругайте код на проверку выгрузкуи документа


Функция ВыгружатьДокумент(ДокументСсылка,НаборЗаписей=Неопределено)

   
   Если ТипЗНЧ(ДокументСсылка)=Тип("ДокументСсылка.КорректировкаЗаписейРегистров")
       И НаборЗаписей<>Неопределено
       Тогда
       Если НаборЗаписей.Метаданные().Измерения.Найти("Организация")<>Неопределено
           ИЛИ    НаборЗаписей.Метаданные().Реквизиты.Найти("Организация")<>Неопределено
           ИЛИ    НаборЗаписей.Метаданные().Ресурсы.Найти("Организация")<>Неопределено
           Тогда
           Для Каждого Строка Из НаборЗаписей Цикл
               Если ЗначениеЗаполнено(Строка.Организация) и СписокОрганизаций.НайтиПоЗначению(Строка.Организация)=Неопределено Тогда
                   Возврат Ложь;
               ИначеЕсли ЗначениеЗаполнено(Строка.Организация) и СписокОрганизаций.НайтиПоЗначению(Строка.Организация)<>Неопределено Тогда
                   Возврат Истина;
               КонецЕсли;    
           КонецЦикла;    
           
       КонецЕсли;
   КонецЕсли;    
   
   Если Лев(ТипЗНЧ(ДокументСсылка),15)="Документ объект" Тогда
       ДокОбъект=ДокументСсылка;
   Иначе
       ДокОбъект=ДокументСсылка.ПолучитьОбъект();
   КонецЕсли;
   Если ОбщегоНазначения.ПолучитьРеквизитШапки("Организация", ДокОбъект,ДокОбъект.Метаданные())=Неопределено Тогда
       Возврат Истина;
   КонецЕсли;    
   Если  СписокОрганизаций.НайтиПоЗначению(ДокументСсылка.Организация)<>Неопределено Тогда
       Возврат Истина;
   КонецЕсли;    
   Возврат Ложь;
КонецФункции
7 Morphius
 
26.11.11
13:56
(5)Параллельно выгружаю ещё и так(3-й час). "Пугает" то, что после выгрузки будет выполнено отложенное проведение документов.
8 pumbaEO
 
26.11.11
14:00
(6) я бы определение в Организации в объекте документ сделал через Попытку
Попытка
Если  СписокОрганизаций.НайтиПоЗначению(ДокументСсылка.Организация)<>Неопределено Тогда
       Возврат Истина;
   КонецЕсли;
Исключение
Возврат Ложь;
КонецПопытки;

Все таки документов с реквизитом Организация больше чем без...(значительно больше). А те которые без организации думаю количество их мало.
9 shuhard
 
26.11.11
14:01
(7)[отложенное проведение документов]
стрёмный вариант
взаиморасчеты и партии могут уехать
а если хоть один раз проводки обработкой подвесили ?
10 Morphius
 
26.11.11
14:02
(9) Я о том же. Типовой обмен УПП-УПП это подразумевает
11 Morphius
 
26.11.11
14:11
(8)Согласен. На получение объекта уходит куева туча времени. Пока ты не сказал, даж такая мысль в голову не приходила ;)
12 Живой Ископаемый
 
26.11.11
14:13
я за удаление, либо за перенос через ВыгрузкаЗагрузкаДанныхХМЛ с отборам по организациям со всеми движениями...

почему так? потому что я уверенней себя чувствую когда хоть как-то управляю и контролирую процесс - например могу удалять поквартально или переносить по одной организации за раз...

штатные создание начального оброза я контролировать и подкрутить в случае чего не могу.. я дае не знаю на каком месте он сейчас выполняется, и не произойдет ли ближе к концу 12-го часа работы что-то типа такого:

10084295  Создание начального образа узла плана обмена

Проблема:
При создании начального образа узла плана обмена в клиент-серверном варианте информационной базы может происходить аварийное завершение работы программы.
Дата публикации: 2011-10-28
13 Morphius
 
26.11.11
14:17
(12) Пробовал переносить с движениями, получалась "вечная" рекурсия: Выгружаем за 1 мес, документы списывали партии, а партии- свои партии, и т.д.
14 pumbaEO
 
26.11.11
14:17
А вообще я бы документы Корректировка регистров перенес бы полностью. Вдруг умники им закрывали взаиморасчеты между организациями (было и такое, а через месяц обратно...) Проще потом вычистить в новой базе, опять таки думаю их немного.
15 Morphius
 
26.11.11
14:17
(13)Не в этот раз пробовал, с другой базой(тоже УПП)
16 pumbaEO
 
26.11.11
14:19
Конвертацию в руки, добавляешь в типовые правила УПП-УПП регистры, делаешь регистрацию необходимую тебе и по ней по правилам твоим выгружаешь.
17 Живой Ископаемый
 
26.11.11
14:19
2(13) нужно было снимать галку "при необходимости"... тогда сначала вместо партий было бы "<Объект не найден>", но по мере загрузки документов других месяцев, они бы там появились
18 Икогнито
 
26.11.11
14:21
(0) > Есть УПП 1.2, в файловом варианте порядка 3 Гб.

песец
19 pumbaEO
 
26.11.11
14:21
Живой Ископаемый  дело говорит.
20 Живой Ископаемый
 
26.11.11
14:28
21 Morphius
 
26.11.11
14:40
(20)Интересная штука, спс, буду пробовать...
22 Morphius
 
26.11.11
14:53
(20) Млин работает только на строгое сравнение, "в списке" не хочет;(
23 Morphius
 
26.11.11
15:06
к (22) работает не только строгое. Все сравнения работают, кроме "В списке". Добавил в наименования нужных организаций "!", выгружаю теперь..
24 Живой Ископаемый
 
26.11.11
16:11
2(23) это странно.. по-моему в списке тоже работает - просто такой отбор не копируется. но если поставить вручную, то будет работать. Но через наименование тоже способ
25 echo77
 
26.11.11
16:18
Рекомендую вариант, что писал shuhard(1)
Делал подобное, но с бухгалтерией.
1. Метишь на удаление левые организации.
2. Потом групповой обработкой метишь все документы по организации.
3. Потом метишь все что не получается пометить обработкой
4. Удаление помеченных
5. Повторить п. 3-5. до тех пор пока не достигнут результат
6. PROFIT!

Автор, не тупи, а лучше сделай...
26 echo77
 
26.11.11
16:19
+(25) Удаление помеченных на файловой базе такого объема будет делаться доооолго
27 Morphius
 
28.11.11
15:03
По результатам: базу, в которой 4 организации сделал при помощи плана обмена, создание базы выполнялось ~ 4,5 часа. Базу с оставшимися (7 организаций) сделал как в (25)=7 часов работы с написанием разных вспомогательных обработок. п. 3-5 были повторены 100500 раз. Заказчик доволен, профит получен. Сейчас лечу обратно в Калининград из Краснодара
Программист всегда исправляет последнюю ошибку.