|
загрузка данных в регистр сведений | ☑ | ||
---|---|---|---|---|
0
anisa8310
27.05.13
✎
12:27
|
Доброе!
Никак загнать данные не удается( Где моя ошибка? Создала РС "Загрузка " и нужно данные загрузить-скрин во вложении а во втором результат. Почему то последнюю запись только записывает-что с "Период "нужно делать (я уже так к текущей ставлю плюс период чтоб он отличалась от предыдущей )?? Заранее всем благодарю! http://s017.radikal.ru/i441/1305/69/abb87aa8d027.jpg http://s019.radikal.ru/i610/1305/e3/ae0eec461bd5.jpg |
|||
1
1Сергей
27.05.13
✎
12:28
|
блин, я лупу с собой не взял. помочь не могу
|
|||
2
zak555
27.05.13
✎
12:29
|
зачем ты читаешь текстовый файл, как эксель ?
|
|||
3
andreymongol82
27.05.13
✎
12:30
|
1-е что увидел - нет установки отборов для набора записи
|
|||
4
Maxus43
27.05.13
✎
12:30
|
после создать набор - ставь отбор на измерение сначала
|
|||
5
User_Agronom
27.05.13
✎
12:32
|
(0) Скопируй текст сюда. Очень сложно разобрать на скрине
|
|||
6
zak555
27.05.13
✎
12:33
|
у двоих плохо со зрением
|
|||
7
anisa8310
27.05.13
✎
12:35
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
/////////////открытие .csv-документа Док = ПолучитьCOMОбъект(Путь); счСтроки = 1; день=1; Пока Док.Sheets(1).Cells(счСтроки,1).Value <>Неопределено Цикл Стр=Док.Sheets(1).Cells(счСтроки,1).Value; НоваяСтрока=РегистрыСведений.Загрузка.СоздатьНаборЗаписей(); ЗагрузкаГостиницы=НоваяСтрока.Добавить(); ЗагрузкаГостиницы.Период=(ТекущаяДата()+(День*24*60*60)); Массив = Новый Массив(5); Для Сч=1 По 5 Цикл Позиция = Найти(Стр, "|"); Массив.Вставить(сч,Сред(Стр, 1, Позиция-1)); стр = Сред(Стр, Позиция + 1); ЗагрузкаГостиницы.ЗагрузкаНомерногоФондаПроцент=Массив[4]; ЗагрузкаГостиницы.Дата=ЗагрузкаГостиницы.Период; КонецЦикла; НоваяСтрока.Записать(); счСтроки = счСтроки + 1; день=день+1; КонецЦикла; Сообщить("Загрузка в регистр сведений завершена !!!"); //////////закрываем документ Док.Application.Quit(); КонецПроцедуры |
|||
8
anisa8310
27.05.13
✎
12:36
|
(2) как массив читаю-вроде б удобно
|
|||
9
Maxus43
27.05.13
✎
12:36
|
зачем в этом:
Для Сч=1 По 5 Цикл ЗагрузкаГостиницы.Дата=ЗагрузкаГостиницы.Период; меняешь дату? а после цикла только записываешь, 1 раз причем |
|||
10
anisa8310
27.05.13
✎
12:36
|
(4) Измерение одно-"дата " а что за отбор?
|
|||
11
Maxus43
27.05.13
✎
12:37
|
(10) регистр какой? независимый непериодический? Используй менеджер записи вобще лучше
|
|||
12
anisa8310
27.05.13
✎
12:37
|
(9) это только эксперимент-тоже не удачный.
|
|||
13
anisa8310
27.05.13
✎
12:38
|
Независимый с пределах дня (11)
|
|||
14
anisa8310
27.05.13
✎
12:40
|
(11) менеджер записи-в справке нашла...filling который?
|
|||
15
anisa8310
27.05.13
✎
12:41
|
стандартная обработка? вообще не умею ей пользоваться.
|
|||
16
User_Agronom
27.05.13
✎
12:48
|
ЗагрузкаГостиницы.Период=(ТекущаяДата()+(День*24*60*60));
Всегда один и тот же? ЗагрузкаГостиницы.Дата тоже одна и та же. Затирает каждая следующая запись предыдущую. |
|||
17
anisa8310
27.05.13
✎
12:53
|
счСтроки = счСтроки + 1; (16)
|
|||
18
anisa8310
27.05.13
✎
12:53
|
(16) куда эту строку надо тогда? в цикл чтоли-сейчас попробую
|
|||
19
anisa8310
27.05.13
✎
12:55
|
нет блин теперь только первую строку записал и РС занес..вообще не умею В РС данные загружать
|
|||
20
anisa8310
27.05.13
✎
12:55
|
в документ могу в справочник могу-а в РС не могу
|
|||
21
Maxus43
27.05.13
✎
13:08
|
МенеджерРС = РегистрСведений.Такойто.СоздатьМенеджерЗаписи();
МенеджерРС.Дата = твоя Дата; МенеджерРС.Ресурсы = .... МенеджерРС.Записать(); и всё |
|||
22
anisa8310
27.05.13
✎
13:12
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
/////////////открытие .csv-документа Док = ПолучитьCOMОбъект(Путь); счСтроки = 1; день=1; Пока Док.Sheets(1).Cells(счСтроки,1).Value <>Неопределено Цикл Стр=Док.Sheets(1).Cells(счСтроки,1).Value; НоваяСтрока=РегистрыСведений.Загрузка.СоздатьНаборЗаписей(); ЗагрузкаГостиницы=НоваяСтрока.Добавить(); ЗагрузкаГостиницы.Период=(ТекущаяДата()+(День*24*60*60)); Массив = Новый Массив(5); Для Сч=1 По 5 Цикл Позиция = Найти(Стр, "|"); Массив.Вставить(сч,Сред(Стр, 1, Позиция-1)); стр = Сред(Стр, Позиция + 1); ЗагрузкаГостиницы.ЗагрузкаНомерногоФондаПроцент=Массив[4]; ЗагрузкаГостиницы.Дата=ЗагрузкаГостиницы.Период; НоваяСтрока.Записать(); КонецЦикла; день=день+1; счСтроки = счСтроки + 1; КонецЦикла; Сообщить("Загрузка в регистр сведений завершена !!!"); //////////закрываем документ Док.Application.Quit(); КонецПроцедуры |
|||
23
anisa8310
27.05.13
✎
13:12
|
(21) ой зря свой код бросила..
|
|||
24
anisa8310
27.05.13
✎
13:13
|
(21) Сейчас попробую менеджера...
|
|||
25
Maxus43
27.05.13
✎
13:15
|
тпруууу... периодический в пределах дня, (21) не пойдёт, затупил что-то)
|
|||
26
anisa8310
27.05.13
✎
13:18
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
/////////////открытие .csv-документа Док = ПолучитьCOMОбъект(Путь); счСтроки = 1; день=1; Пока Док.Sheets(1).Cells(счСтроки,1).Value <>Неопределено Цикл Стр=Док.Sheets(1).Cells(счСтроки,1).Value; ЗагрузкаГостиницы=РегистрыСведений.Загрузка.СоздатьМенеджерЗаписи(); ЗагрузкаГостиницы.Период = (ТекущаяДата()+(День*24*60*60)); Массив = Новый Массив(5); Для Сч=1 По 5 Цикл Позиция = Найти(Стр, "|"); Массив.Вставить(сч,Сред(Стр, 1, Позиция-1)); стр = Сред(Стр, Позиция + 1); ЗагрузкаГостиницы.ЗагрузкаНомерногоФондаПроцент=Массив[4]; ЗагрузкаГостиницы.Дата=ЗагрузкаГостиницы.Период; ЗагрузкаГостиницы.Записать(); КонецЦикла; день=день+1; счСтроки = счСтроки + 1; КонецЦикла; Сообщить("Загрузка в регистр сведений завершена !!!"); //////////закрываем документ Док.Application.Quit(); КонецПроцедуры |
|||
27
anisa8310
27.05.13
✎
13:18
|
(25) нормалек-получилось
|
|||
28
cw014
27.05.13
✎
13:19
|
ОТБОР
|
|||
29
anisa8310
27.05.13
✎
13:19
|
а что такого что в пределах дня? пойдет-дату ставит -мне этого и надо только
|
|||
30
Maxus43
27.05.13
✎
13:20
|
у тебя ЗагрузкаГостиницы.Записать(); в цикле, а создание набора-менеджера за ним, и в цикле нет добавления записей, тут с логикой не так что-то.
|
|||
31
anisa8310
27.05.13
✎
13:21
|
(28) Отбор....вот сейчас дальше буду условия ставить разные для показателей загрузки-так и не поняла что за отбор...но пока без отбора загрузилось
|
|||
32
anisa8310
27.05.13
✎
13:21
|
(30) сама не поняла вот результат три строки загрузил в итоге
|
|||
33
anisa8310
27.05.13
✎
13:22
|
Период Дата Макс коэф загрузки Коэв загр номерного фонда Коэф загрузки провед мероп Загрузка номерного фонда процент Кол провед мероприятий
28.05.2013 28.05.2013 0:00:00 48,10 29.05.2013 29.05.2013 0:00:00 58,57 30.05.2013 30.05.2013 0:00:00 60,95 |
|||
34
Maxus43
27.05.13
✎
13:26
|
(32) лишь бы в радость конечно, но стоит разобраться. ЭТО (26) используй только сама, и только одноразово) и с проверкой потом, чотб не было сюрпризов)
|
|||
35
anisa8310
27.05.13
✎
13:33
|
(34) Очень в РАдость!!!!!
|
|||
36
Maxus43
27.05.13
✎
13:35
|
а, хотя я понял почему работает всё таки, но неправильно это с точки зрения программирования...
ЗагрузкаГостиницы=РегистрыСведений.Загрузка.СоздатьМенеджерЗаписи(); ЗагрузкаГостиницы.Период = (ТекущаяДата()+(День*24*60*60)); это в цикл надо загнать тоже по феншую |
|||
37
anisa8310
27.05.13
✎
13:59
|
(36) хорошо по фен шую так по фен шую.
теперьслед сравнение: Массив = Новый Массив(5); Для Сч=1 По 5 Цикл Позиция = Найти(Стр, "|"); Массив.Вставить(сч,Сред(Стр, 1, Позиция-1)); стр = Сред(Стр, Позиция + 1); ЗагрузкаГостиницы.ЗагрузкаНомерногоФондаПроцент=Массив[4]; ЗагрузкаГостиницы.Дата=ЗагрузкаГостиницы.Период; Если Число(Массив[4])> 30 Тогда КоэвЗагрНомерногоФонда = 0.1; Иначе КоэвЗагрНомерногоФонда = 0; Если Число(Массив[4])> 50 Тогда КоэвЗагрНомерногоФонда = 0.3; Иначе КоэвЗагрНомерногоФонда = 0.2; Если Число(Массив[4])> 70 Тогда КоэвЗагрНомерногоФонда = 0.5; Иначе КоэвЗагрНомерногоФонда = 0.4; КонецЕсли; КонецЕсли; КонецЕсли; ЗагрузкаГостиницы.Записать(); |
|||
38
anisa8310
27.05.13
✎
13:59
|
Короче от загрузки-след показатель сравнить в цикле ещё надо..
|
|||
39
anisa8310
27.05.13
✎
14:00
|
Число(Массив[4]) но ругается: {Форма.Форма.Форма(24)}: Преобразование значения к типу Число не может быть выполнено
|
|||
40
anisa8310
27.05.13
✎
14:07
|
написала же тип объявила: Число(Массив[4])
|
|||
41
hhhh
27.05.13
✎
14:15
|
может пробелы не удалила
|
|||
42
anisa8310
27.05.13
✎
14:24
|
(41) нет не удалила
|
|||
43
anisa8310
27.05.13
✎
14:26
|
Символ(34)? так удаляем?
|
|||
44
hhhh
27.05.13
✎
14:26
|
ну, удали. Ведь понятно, что в числе не должно быть пробелов.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |