Имя: Пароль:
1C
 
Распределенная база данных
0 Sova112
 
14.08.09
13:16
Написала обмен в УТ с ограничением по организации, взяла пример из Бухгалтерии.
У меня создался образ, но там не перенеслось ни одного документа. Перенеслась сама организация, контрагенты, имеющие договор с этой организацией и все...
2 СуперМега Монстр
 
14.08.09
13:18
(0)прикольно деревянная тема
3 СуперМега Монстр
 
14.08.09
13:46
поддержим автора)))
(0)где фото в купальнике?
4 LamerSuper
 
14.08.09
13:53
Ответ во фразе : Написала обмен . Че там написала то?
5 Нуф-Нуф
 
14.08.09
13:54
а зачем в УТ писать ограничение по организации если там это уже встроено
6 LamerSuper
 
14.08.09
13:55
Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента, СозданиеНачальногоОбраза)
   НеСоотвествуетОрганизации=Ложь;


   Попытка
       Если ЭлементДанных.Организация<>ЭтотОбъект.Организация Тогда
            НеСоотвествуетОрганизации=Истина;

       КонецЕсли;    
   Исключение
   КонецПопытки;
   
   Попытка
       Если ЭлементДанных.Регистратор.Организация<>ЭтотОбъект.Организация Тогда
            НеСоотвествуетОрганизации=Истина;

       КонецЕсли;    
   Исключение
   КонецПопытки;
   
   Если НеСоотвествуетОрганизации   ТОгда
       ОтправкаЭлемента=ОтправкаЭлементаДанных.Удалить;
   КонецЕсли;    

КонецПроцедуры
7 Sova112
 
14.08.09
13:55
там это не встроено для обмена между УТ
8 Sova112
 
14.08.09
16:30
А еще теперь все данные в регистр попадает, на документы которых нет ссылок пишется Объект не найден, написала вот так вот
ИначеЕсли ИмяБазовогоТипа = "РегистрыНакопления"
           Тогда
           
           НаличиеОрганизации = мИнформацияОНаличиеОрганизацииВРегистре.Получить(ТипОбъекта);
               
               Если НаличиеОрганизации = Неопределено Тогда
                   
                   МетаданныеОбъекта = Метаданные.НайтиПоТипу(ТипОбъекта);                    
                   НаличиеОрганизации = (МетаданныеОбъекта.Измерения.Найти("Организация") <> Неопределено);
                   мИнформацияОНаличиеОрганизацииВРегистре.Вставить(ТипОбъекта, НаличиеОрганизации);
                   
               КонецЕсли;
               
               Если НаличиеОрганизации Тогда
                   
                   УбратьИзРегистраДанныеНеНужныеДляПереносаПоОрганизации(ЭлементДанных);
                   
               КонецЕсли;

           
       КонецЕсли;
9 Sova112
 
14.08.09
16:33
там нет кстати измерения Организация....
10 LamerSuper
 
14.08.09
16:42
Мудрено очень. Там стандартный этот обмен не совсем понятно написан. Наверно еще не дозрел он дорабочего обмена. Тестовые версии наверно . (6) то не пробовали?
11 Sova112
 
17.08.09
08:31
ЭлементДанных.Регистратор.Организация - к регистратору так не обратится кстати, а как к нему можно обратится
12 LamerSuper
 
21.08.09
13:41
(11) ТОгда что то типа такого:
Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента, СозданиеНачальногоОбраза)
   НеСоотвествуетОрганизации=Ложь;
   
   Попытка
       Если ЭлементДанных.Организация<>ЭтотОбъект.Организация Тогда
            НеСоотвествуетОрганизации=Истина;

       КонецЕсли;    
   Исключение
   КонецПопытки;
   
   
   Попытка
       ТекущаяОрганизация = Неопределено;
       ТекущееРешение = Ложь;
       Позиция = ЭлементДанных.Количество() - 1;
   
       Пока Позиция >= 0 Цикл
           СтрокаНабора = ЭлементДанных[Позиция];
           Если СтрокаНабора.Организация <> ТекущаяОрганизация Тогда
               ТекущаяОрганизация = СтрокаНабора.Организация;
               ТекущееРешение = ЭтотОбъект.Организация <> ТекущаяОрганизация;
           
           КонецЕсли;
       
           Если ТекущееРешение Тогда
               ЭлементДанных.Удалить(Позиция);
           КонецЕсли;
       
           Позиция = Позиция - 1;
       
       КонецЦикла;    
   Исключение
   КонецПопытки;    
   
   Попытка
       ТекущаяОрганизация = Неопределено;
       ТекущееРешение = Ложь;
       Позиция = ЭлементДанных.Количество() - 1;
   
       Пока Позиция >= 0 Цикл
           СтрокаНабора = ЭлементДанных[Позиция];
           Если СтрокаНабора.Отбор.Регистратор.Значение.Организация <> ТекущаяОрганизация Тогда
               ТекущаяОрганизация = СтрокаНабора.Отбор.Регистратор.Значение.Организация;
               ТекущееРешение = ЭтотОбъект.Организация <> ТекущаяОрганизация;
           
           КонецЕсли;
       
           Если ТекущееРешение Тогда
               ЭлементДанных.Удалить(Позиция);
           КонецЕсли;
       
           Позиция = Позиция - 1;
       
       КонецЦикла;    
   Исключение
   КонецПопытки;    
   
   
   
   
   
   Если НеСоотвествуетОрганизации  ТОгда
       ОтправкаЭлемента=ОтправкаЭлементаДанных.Удалить;
   КонецЕсли;    

КонецПроцедуры
13 LamerSuper
 
10.09.09
18:46
Последний кусок неверный :
 Попытка
       ТекущаяОрганизация = Неопределено;
       ТекущееРешение = Ложь;
       Позиция = ЭлементДанных.Количество() - 1;
   
       Пока Позиция >= 0 Цикл
           СтрокаНабора = ЭлементДанных[Позиция];
           Если СтрокаНабора.Отбор.Регистратор.Значение.Организация <> ТекущаяОрганизация Тогда
               ТекущаяОрганизация = СтрокаНабора.Отбор.Регистратор.Значение.Организация;
               ТекущееРешение = ЭтотОбъект.Организация <> ТекущаяОрганизация;
           
           КонецЕсли;
       
           Если ТекущееРешение Тогда
               ЭлементДанных.Удалить(Позиция);
           КонецЕсли;
       
           Позиция = Позиция - 1;
       
       КонецЦикла;    
   Исключение
   КонецПопытки;


Достаточно:
   Попытка
       ТекущаяОрганизация = Неопределено;
       ТекущееРешение = Ложь;
       Позиция = ЭлементДанных.Количество() - 1;
   
       Пока Позиция >= 0 Цикл
           СтрокаНабора = ЭлементДанных[Позиция];
           Если СтрокаНабора.Организация <> ТекущаяОрганизация Тогда
               ТекущаяОрганизация = СтрокаНабора.Организация;
               ТекущееРешение = ЭтотОбъект.Организация <> ТекущаяОрганизация;
           
           КонецЕсли;
       
           Если ТекущееРешение Тогда
               ЭлементДанных.Удалить(Позиция);
           КонецЕсли;
       
           Позиция = Позиция - 1;
       
       КонецЦикла;    
   Исключение
   КонецПопытки;
И по аналогии далее
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн