Имя: Пароль:
1C
1С v8
очистка регистра сведений
,
0 Aleksei_Pro
 
16.05.12
23:58
В правилах выгрузки данных , в обработчике "После выгрузки" пишу:
НаборД = РегистрыСведений.КодыВесовогоТовара.СоздатьНаборЗаписей();
НаборД.Записать();
Почему он не очищает регистр в базе приемника?
1 Aleksei_Pro
 
17.05.12
00:04
(0) цель - очистить регистр перед загрузкой в него новой информации . Как лучше сделать?
2 Aleksei_Pro
 
17.05.12
00:08
(1) в КД.
3 pumbaEO
 
17.05.12
00:09
"После выгрузки" в базе источнике, очищаешь регистры базы приемника.
Наверное это ошибка, отпишись,  в 1С...
4 SeraFim
 
17.05.12
02:24
можешь все-таки не "после выгрузки" в источнике, а "перед загрузкой" в приемнике?)
5 Aleksei_Pro
 
17.05.12
09:29
Не пойму что не так, нужно очистить регистр по владельцу: перед загрузкой в регистре пишу:
Набор = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
Набор.Отбор.Владелец.Значение      = Источник.Владелец;
Набор.Отбор.Владелец.Использование = Истина;
Набор.Записать();

И пишет :
   ИмяПКО                 =  Штрихкоды
   ТипОбъекта             =  Регистр сведений запись: Штрихкоды
   Обработчик             =  ПередЗагрузкойОбъекта
   ОписаниеОшибки         =  Значение не является значением объектного типа (Владелец)
   ПозицияМодуля          =  (2)
   КодСообщения           =  19


Что не так?
6 Aleksei_Pro
 
17.05.12
09:59
Как очистить регистр по владельцу перед загрузкой регистра?
7 eklmn
 
гуру
17.05.12
10:06
ОФФ: народ, будет ли пользоваться спросом, универсальный алгоритм для переноса РС из 8 в 8?
8 aka AMIGO
 
17.05.12
10:08
(7)выложишь - результат узнаешь по спросу.. и по комментам :)
9 1sanekmaloi1
 
17.05.12
10:09
Справка

Перед загрузкой

Условия возникновения события

Только для платформы V8.

Событие выполняется перед загрузкой объекта. Возможен отказ от загрузки, например, в случае невыполнения каких-либо условий. Загружаемый в БД объект еще не инициализирован.

Параметры:


Источник - Строка. Представление объекта источника. Пустая строка, если представление объекта источника не выгружалось.
10 Aleksei_Pro
 
17.05.12
10:10
Мне только нужно очистить регистр перед переливкой, т.к. задваиваюся записи, т.к разные измерения....а целиком неполучается очистить регистр перед загрузкой
11 Aleksei_Pro
 
17.05.12
10:13
Может быть как ни то можно очистить целиком регистр перед переливкой, если я напишу (0) в процедуре перед приемником, то он мне каждый раз будет очищать при записи...а мне нужно только 1 раз очистить.
12 eklmn
 
гуру
17.05.12
10:23
(11) сделай параметр, который будет проверять чистил ты регистр или нет. 1 раз очисти регистр, меняешь этот параметр что РС уже очищен и процедуру очистки соотвественно пропускаешь.
13 pumbaEO
 
17.05.12
10:24
после записи объекта, очищай регистр. Но если у тебя в объекте не учитывается "Если ОбменДанными.Загрузка Тогда Возврат КонецЕсли" и пытается что-либо записать регистр, то это быдлокод, за такое по палцам, потом по попе (ж  опа матофильтр зарубил.)
14 Aleksei_Pro
 
17.05.12
10:34
(13) не понял тебя
15 eklmn
 
гуру
17.05.12
10:35
(14) мало кто понял ))
16 Aleksei_Pro
 
17.05.12
10:46
Мне с параметром непонятно, можно поподробнее.
17 Aleksei_Pro
 
17.05.12
11:18
Ни где не могу найти как создать параметр и его записать...подскажите
18 Жан Пердежон
 
17.05.12
11:23
(17) здесь ищи
19 Жан Пердежон
 
17.05.12
11:23
20 Aleksei_Pro
 
17.05.12
11:30
(19) я ее пересмотрел , не нашел, если можно напиши вкратце как создать и задать его значение программно
21 Aleksei_Pro
 
17.05.12
11:36
Все спасибо, нашел
22 Aleksei_Pro
 
17.05.12
12:10
Не взлетает: создал параметр, поставил галку при загрузке. В обработчике перед загрузкой пишу:
Если Параметры.ФлОчистки = Ложь Тогда
Набор = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
Набор.Записать();
 Параметры.ФлОчистки = Истина;
Иначе
КонецЕсли;

Ошибка :    ИмяПКО                 =  Штрихкоды
   ТипОбъекта             =  Регистр сведений запись: Штрихкоды
   Обработчик             =  ПередЗагрузкойОбъекта
   ОписаниеОшибки         =  Поле объекта не обнаружено (ФлОчистки)
   ПозицияМодуля          =  (1)
   КодСообщения           =  19
23 eklmn
 
гуру
17.05.12
12:31
Не в ПКО надо а в глобальном , там где Параметр ставил, там в ПВО ставь
24 Aleksei_Pro
 
17.05.12
12:57
(23) в ПВО этот код вставить?
25 Aleksei_Pro
 
17.05.12
13:43
(23) перед загрузкой данных в глобальном ставлю:
Если Параметры.ФлОчистки = 0 Тогда
Набор = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
Набор.Записать();
 Параметры.ФлОчистки  = 1;
Иначе
КонецЕсли;


Параметр установил, тип число, все равно пишет
Ошибка в обработчике события ПередЗагрузкойДанных (конвертация)
   Обработчик             =  ПередЗагрузкойДанных (конвертация)
   ОписаниеОшибки         =  Поле объекта не обнаружено (ФлОчистки)
   ПозицияМодуля          =  (1)
   КодСообщения           =  22
26 Aleksei_Pro
 
17.05.12
13:55
(25) так не пойдет , т.к у меня 3 правила выгрузки по регистрам и мне надо при выборе выгрузке того или иного регистра его очищать. Как можно по другому очистить выбранный для выгрузке регистр при загрузке в базу приемник?