|
Как все записи регистра накопления повесить на 1 регистратор? | ☑ | ||
---|---|---|---|---|
0
Zombi
08.05.14
✎
08:56
|
Пытаюсь все записи регистра накопления повесить на 1 регистратор, как только не изощрялся уже. Дошел вот до какого кода:
Процедура КнопкаВыполнитьНажатие(Кнопка) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПродажиПоДисконтнымКартам.Регистратор |ИЗ | РегистрНакопления.ПродажиПоДисконтнымКартам КАК ПродажиПоДисконтнымКартам"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НаборЗаписей = РегистрыНакопления.ПродажиПоДисконтнымКартам.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор); НаборЗаписей.Прочитать(); ТаблицаЗаписей = НаборЗаписей.Выгрузить(); НаборЗаписей.Очистить(); НаборЗаписей.Записать(); НаборЗаписей = РегистрыНакопления.ПродажиПоДисконтнымКартам.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Отчет); ТаблицаЗаписей.ЗаполнитьЗначения(Отчет, "Регистратор"); НаборЗаписей.Загрузить(ТаблицаЗаписей); НаборЗаписей.Записать(); КонецЦикла; //Пока КонецПроцедуры Этот код затирает все записи и ничего не добавляет. Ткните, как нужно сделать. |
|||
1
Godofsin
08.05.14
✎
08:58
|
Ну наверное не пользоваться вот этим методом: НаборЗаписей.Загрузить(ТаблицаЗаписей);
|
|||
2
Godofsin
08.05.14
✎
08:58
|
Сформируй полную ТаблицуЗаписей по всем регистраторам, а потом загрузи ее
|
|||
3
Irbis
08.05.14
✎
08:59
|
(0) Собрать все во временное хранилище. Удалить поочереди наборы по старым регистраторам, записать новый набор из временного хранилища.
|
|||
4
Wobland
08.05.14
✎
08:59
|
>НаборЗаписей.Отбор.Регистратор.Установить(Отчет);
это какое-то новаторское понимание термина Отчёт? |
|||
5
Zombi
08.05.14
✎
09:02
|
(4) Это переменная на форме
|
|||
6
rphosts
08.05.14
✎
09:07
|
(0) а если сначала записывать в новый а потом очищать?
|
|||
7
nufnufcheg
08.05.14
✎
09:17
|
1. получить все записи запросом в таблицу значений.
2. пройтись по всем существующим регистраторам и записать для них пустой набор записей. 3. создать набор записей, загрузить в нее таблицу и п1, установить регистратор, записать. |
|||
8
Zombi
08.05.14
✎
09:17
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПродажиПоДисконтнымКартам.Регистратор |ИЗ | РегистрНакопления.ПродажиПоДисконтнымКартам КАК ПродажиПоДисконтнымКартам"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НаборЗаписей = РегистрыНакопления.ПродажиПоДисконтнымКартам.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор); НаборЗаписей.Прочитать(); ТаблицаЗаписей = НаборЗаписей.Выгрузить(); НаборЗаписей.Очистить(); НаборЗаписей.Записать(); НаборЗаписейНовый = РегистрыНакопления.ПродажиПоДисконтнымКартам.СоздатьНаборЗаписей(); НаборЗаписейНовый.Отбор.Регистратор.Установить(Отчет); ТаблицаЗаписей.ЗаполнитьЗначения(Отчет, "Регистратор"); НаборЗаписейНовый.Загрузить(ТаблицаЗаписей); НаборЗаписейНовый.Записать(); КонецЦикла; //Пока КонецПроцедуры такой код тоже все тупо очистил |
|||
9
Wobland
08.05.14
✎
09:19
|
НаборЗаписей.Очистить();
НаборЗаписей.Записать(); ожидаемо |
|||
10
Zombi
08.05.14
✎
09:23
|
(9) Ну вроде как перед очищением отбирал по регистратору
|
|||
11
Zombi
08.05.14
✎
09:26
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
ЗапросЗаписи = Новый Запрос; ЗапросЗаписи.Текст = "ВЫБРАТЬ | ПродажиПоДисконтнымКартам.Период, | ПродажиПоДисконтнымКартам.Регистратор, | ПродажиПоДисконтнымКартам.НомерСтроки, | ПродажиПоДисконтнымКартам.Активность, | ПродажиПоДисконтнымКартам.ДисконтнаяКарта, | ПродажиПоДисконтнымКартам.ВладелецДисконтнойКарты, | ПродажиПоДисконтнымКартам.завДисконтнаяГруппа, | ПродажиПоДисконтнымКартам.Сумма |ИЗ | РегистрНакопления.ПродажиПоДисконтнымКартам КАК ПродажиПоДисконтнымКартам"; ТаблицаЗаписей = ЗапросЗаписи.Выполнить().Выгрузить(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПродажиПоДисконтнымКартам.Регистратор |ИЗ | РегистрНакопления.ПродажиПоДисконтнымКартам КАК ПродажиПоДисконтнымКартам"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НаборЗаписей = РегистрыНакопления.ПродажиПоДисконтнымКартам.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор); НаборЗаписей.Прочитать(); //ТаблицаЗаписей = НаборЗаписей.Выгрузить(); НаборЗаписей.Очистить(); НаборЗаписей.Записать(); КонецЦикла; //Пока НаборЗаписейНовый = РегистрыНакопления.ПродажиПоДисконтнымКартам.СоздатьНаборЗаписей(); НаборЗаписейНовый.Отбор.Регистратор.Установить(Отчет); ТаблицаЗаписей.ЗаполнитьЗначения(Отчет, "Регистратор"); НаборЗаписейНовый.Загрузить(ТаблицаЗаписей); НаборЗаписейНовый.Записать(); КонецПроцедуры Вот так все получилось, всем спасибо. (7) В частности :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |