|
Как лучше сделать. Есть данные, хранить в регистре, перезапись? | ☑ | ||
---|---|---|---|---|
0
Sasha_Rapira
10.12.14
✎
06:08
|
Всем привет. 1С 8. Конфа самопис.
Получаю данные ежедневные, в таком формате 1) День 2) Количество Вся суть в том что эти данные нужно хранить в регистре, какой регистр выбрать? Эти данные нужны для отчета, что бы выводить ежедневную динамику. Так вот! Эти данные могут быть полученные опять и по второму кругу занесены в регистр. Как сделать так что бы данные в регистре или перезаписывались, или он не менял те данные (смотря день) которые уже есть? Как по мне лучше регистр сведений. |
|||
1
Рэйв
10.12.14
✎
06:11
|
регистр сведений периодический, независимый.
Период= день |
|||
2
Sasha_Rapira
10.12.14
✎
06:13
|
(1) это понятно, но не выходит.
НаборЗаписей = РегистрыСведений.ОбщиеПросмотры.СоздатьНаборЗаписей(); Для Каждого Строка Из Ответ["rows"] Цикл Запись = НаборЗаписей.Добавить(); Запись.Период = Дата(СтрЗаменить(Строка[0], "-", "")); Запись.Просмотры = Число(Строка[1]); а=1; КонецЦикла; НаборЗаписей.Записать(); Он очищает старые записи регистра. А если делать отбор то непонечему(пзцд слово) |
|||
3
Sasha_Rapira
10.12.14
✎
06:15
|
(2) то-есть так он очистит весь регистр, за всё время
|
|||
4
Галахад
гуру
10.12.14
✎
06:18
|
Прикольно.
|
|||
5
Лодырь
10.12.14
✎
06:18
|
А зачем регистр периодический? Нафига? Имхо измерение дата - куда логичнее.
|
|||
6
Sasha_Rapira
10.12.14
✎
06:19
|
(5) мне нужен лучший вариант. А что с измерением? Если такое измерение уже есть и я буду опять записывать он будет выдавать ошибки )) глушить исключением?
|
|||
7
mergan
10.12.14
✎
06:23
|
получить количество в день ... добавить/отнять нужное количество ... записать
|
|||
8
Sasha_Rapira
10.12.14
✎
06:40
|
Так как сделать что бы он не удалял записи? То-есть есть записи за 100 дней, я получаю данные с 90-95 день и записываю, в итоге он всё удаляет и оставляет только 90-95
|
|||
9
mergan
10.12.14
✎
06:44
|
тебе рассказать про отбор, прочитать и записать?
|
|||
10
Sasha_Rapira
10.12.14
✎
07:11
|
(9) на что отбор? на дату?
|
|||
11
Лодырь
10.12.14
✎
10:08
|
(10) Если измерение, то на значения измерений )
|
|||
12
Sasha_Rapira
11.12.14
✎
02:22
|
Реализовал так.
НаборЗаписей = РегистрыСведений.ОбщиеПросмотры.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.День.Использование = Истина; Для Каждого Строка Из Ответ["rows"] Цикл ФорматДата = Дата(СтрЗаменить(Строка[0], "-", "")); НаборЗаписей.Отбор.День.Значение = ФорматДата; НаборЗаписей.Прочитать(); Если НаборЗаписей.Количество() > 0 Тогда НаборЗаписей[0].Просмотры = Число(Строка[1]); Иначе Запись = НаборЗаписей.Добавить(); Запись.День = ФорматДата; Запись.Период = ФорматДата; Запись.Просмотры = Число(Строка[1]); КонецЕсли; НаборЗаписей.Записать(); КонецЦикла; В итоге он получает не все записи, а только дни которые нам нужны, далее проверяет если день уже есть в базе, то просто обновляет данные этого дня. Работает быстро. Проблема решена =) |
|||
13
Злопчинский
11.12.14
✎
03:34
|
Я не спец совсем в восьмерке но беглый осмотр кода моему чувству прерасного говорит что я вижу некузявое чтото
|
|||
14
Sasha_Rapira
11.12.14
✎
04:01
|
(13) просто я профи, смирись брат
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |