|   |   | 
| 
 | Как лучше сделать. Есть данные, хранить в регистре, перезапись? | ☑ | ||
|---|---|---|---|---|
| 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) просто я профи, смирись брат     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |