Периодические реквизиты справочников.
Показывать по
10
20
40
сообщений
- 1
- 2
26.10.2009
15:13
#1
"Я пишу программу переноса данных, в ней беру элемент любого справочника и прохожусь универсальной процедурой по его атрибутам. Потом в другой базе нахожу (или создаю новый) соответствующий элемент справочника и опять одной процедурой устанавливаю все непериодческие атрибуты. А с периодическими какая-то засада. Не получается так:
Спр.получитьАтрибут(ИмяАтрибута.Идентификатор).Установить(ДатаЗнач,Знач);
Не получается другими способами, которые мне приходили в голову (((
Помогите пожалуйста!
"
Спр.получитьАтрибут(ИмяАтрибута.Идентификатор).Установить(ДатаЗнач,Знач);
Не получается другими способами, которые мне приходили в голову (((
Помогите пожалуйста!
"
26.10.2009
15:25
#4
"У меня там сложно выдрать понятные куски. В общем такая процедура
Цикл по всем выгруженным атрибутам справочника
Если Атрибут непериодический тогда
Объект.УстановитьАтрибут(ИмяАтрибута,Знач); //эта строчка хорошо работает
Иначе
?????? //что здесь писать не ясно
КонецЕсли;
КонецЦикла;
Какую часть пояснить?"
Цикл по всем выгруженным атрибутам справочника
Если Атрибут непериодический тогда
Объект.УстановитьАтрибут(ИмяАтрибута,Знач); //эта строчка хорошо работает
Иначе
?????? //что здесь писать не ясно
КонецЕсли;
КонецЦикла;
Какую часть пояснить?"
26.10.2009
15:45
#6
"Не получается. Сделал так:
Спр=СоздатьОбъект("Справочник."+Объект.Вид());
Спр.НайтиЭлемент(Объект);
Зна.Выбратьстроки(); //Зна это таблица в которой находятся даты и значения для этого атрибута
Пока Зна.получитьСтроку()=1 Цикл
Спр.ИспользоватьДату(Зна.ДатаЗнач,1);
Спр.УстановитьАтрибут(ИмяАтрибута,Зна.Значение);
Спр.Записать();
КонецЦикла;
В итоге в спр остаётся только одно значение на текущую дату"
Спр=СоздатьОбъект("Справочник."+Объект.Вид());
Спр.НайтиЭлемент(Объект);
Зна.Выбратьстроки(); //Зна это таблица в которой находятся даты и значения для этого атрибута
Пока Зна.получитьСтроку()=1 Цикл
Спр.ИспользоватьДату(Зна.ДатаЗнач,1);
Спр.УстановитьАтрибут(ИмяАтрибута,Зна.Значение);
Спр.Записать();
КонецЦикла;
В итоге в спр остаётся только одно значение на текущую дату"
26.10.2009
15:53
#7
"> Не получается. Сделал так:
>
> Спр=СоздатьОбъект("Справочник."+Объект.Вид());
> Спр.НайтиЭлемент(Объект);
>
> Зна.Выбратьстроки(); //Зна это таблица в которой находятся даты и значения для этого атрибута
> Пока Зна.получитьСтроку()=1 Цикл
> Спр.ИспользоватьДату(Зна.ДатаЗнач,1);
> Спр.УстановитьАтрибут(ИмяАтрибута,Зна.Значение);
> Спр.Записать();
> КонецЦикла;
>
> В итоге в спр остаётся только одно значение на текущую дату
используй, если надо всё периодику перенести, объект Периодический"
>
> Спр=СоздатьОбъект("Справочник."+Объект.Вид());
> Спр.НайтиЭлемент(Объект);
>
> Зна.Выбратьстроки(); //Зна это таблица в которой находятся даты и значения для этого атрибута
> Пока Зна.получитьСтроку()=1 Цикл
> Спр.ИспользоватьДату(Зна.ДатаЗнач,1);
> Спр.УстановитьАтрибут(ИмяАтрибута,Зна.Значение);
> Спр.Записать();
> КонецЦикла;
>
> В итоге в спр остаётся только одно значение на текущую дату
используй, если надо всё периодику перенести, объект Периодический"
26.10.2009
15:59
#8
"Тоже пробовал. Но видимо не умею обращаться с такими объектами
пишу такое
Пер.ИспользоватьОбъект(ИмяАтрибута.Идентификатор,Спр.ТекущийЭлемент());
Цикл
Если Пер.ЗначениеНаДату(Зна.ДатаЗнач)<>Зна.Значение Тогда
Пер.Установить(Зна.ДатаЗнач,Зна.Значение); //ругается в этой строке, что "Удалить" здесь нельзя
КонеццЕсли
КонецЦикла;
Подскажи, плз, как правильно тут сделать"
пишу такое
Пер.ИспользоватьОбъект(ИмяАтрибута.Идентификатор,Спр.ТекущийЭлемент());
Цикл
Если Пер.ЗначениеНаДату(Зна.ДатаЗнач)<>Зна.Значение Тогда
Пер.Установить(Зна.ДатаЗнач,Зна.Значение); //ругается в этой строке, что "Удалить" здесь нельзя
КонеццЕсли
КонецЦикла;
Подскажи, плз, как правильно тут сделать"
- 1
- 2
Читают тему
(гостей: 1)