|
ЗаполнитьЗначенияСвойств двух наборов. (Рубрика "Объясни чужой код") |
☑ |
0
Steini
23.11.12
✎
07:58
|
Поясните, пожалуйста, сакральный смысл следующего куска кода:
ЗаполнитьЗначенияСвойств(НаборЗаписейНовый, НаборЗаписейСтарый);
Где оба набора - наборы записей регистра сведений с одинаковыми отборами (кроме периода). Главная цель - перенести записи со старой даты на новую.
П.С. Далее по коду заполняются значения свойств построчно.
|
|
1
zak555
23.11.12
✎
08:00
|
СкопироватьНабор(НаборЗаписейНовый, НаборЗаписейСтарый);
|
|
2
Steini
23.11.12
✎
08:02
|
(1) не, давайте я приведу более подробный код :
НаборЗаписейСтарый = РегистрыСведений.ИсключенияПриРасчете.СоздатьНаборЗаписей(); НаборЗаписейСтарый.Отбор.Период.Установить(ДатаДляПроверки);
НаборЗаписейСтарый.Отбор.Продукция.Установить(ТекЭлемент);
НаборЗаписейСтарый.Прочитать();
НаборЗаписейНовый = РегистрыСведений.ИсключенияПриРасчете.СоздатьНаборЗаписей();
НаборЗаписейНовый.Отбор.Период.Установить(ДатаПринятияИзменений);
НаборЗаписейНовый.Отбор.Продукция.Установить(ТекЭлемент);
ЗаполнитьЗначенияСвойств(НаборЗаписейНовый, НаборЗаписейСтарый);
Для Каждого ТекСтрока из НаборЗаписейСтарый Цикл
НоваяЗапись = НаборЗаписейНовый.Добавить();
ЗаполнитьЗначенияСвойств(НоваяЗапись, ТекСтрока);
НоваяЗапись.Период = ДатаПринятияИзменений;
КонецЦикла;
|
|
3
zak555
23.11.12
✎
08:03
|
это ты где такое нашёл :?
|
|
4
Steini
23.11.12
✎
08:03
|
(3) самописка
|
|
5
zak555
23.11.12
✎
08:04
|
(4) переписать
|
|
6
Steini
23.11.12
✎
08:05
|
(4) да должен быть в этом ключевой смысл! =)
вариант - исправить и посмотреть, где вылетит ошибка - не предлагать =)
|
|
7
Нуф-Нуф
23.11.12
✎
08:24
|
Проще тогда выгружить старый набор в тз и загрузить в новый
|
|
8
Steini
23.11.12
✎
08:39
|
(7) но потом же все равно цикл нужен по строкам, чтобы дату подправить. Мне кажется, что это не проще, а абсолютно то же самое...
|
|
9
Лефмихалыч
23.11.12
✎
08:44
|
(8) если выгружать в ТЗ, то цикл не нужен - есть
ТаблицаЗначений.ЗаполнитьЗначения (ValueTable.FillValues)
ТаблицаЗначений (ValueTable)
ЗаполнитьЗначения (FillValues)
Синтаксис:
ЗаполнитьЗначения(<Значение>, <Колонки>)
|
|
10
Steini
23.11.12
✎
08:53
|
(9) Да, Вы абсолютно правы.
Но все же, есть у кого идеи, зачем нужно ЗаполнитьЗначенияСвойств 2-х наборов записей? =)
Ведь таким образом даже отборы не перезаписываются, а др. свойства(ДополнительныеСвойства, ОбменДанными и т.п.) и не используются никогда..
|
|
11
hhhh
23.11.12
✎
09:32
|
(10) ну а вдруг появятся свойства в новых релизах? А у автора уже всё подготовлено. Он уже подготовился.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший