|
заполнение регистра сведений из общего модуля | ☑ | ||
---|---|---|---|---|
0
SerGo-116
19.02.16
✎
10:02
|
Всем доброго времени суток!
Третий день пытаюсь заполнить регистр сведений из общего модуля. Пробовал запускать общий модуль регламентной задачей, пробовал запускать из процедуры ПриНачалеРаботы в модуле управляемого приложения - РЕЗУЛЬТАТ НИКАКОЙ... Задача очень простая - ежедневно загружать курсы валют с сайта ЦБР, принудительно при выполнении команды из формы списка регистра сведений все работает, а из общего модуля нет... Регламентная задача отрабатывается (прописывается в журнале регистрации), процедура ПриНачалеРаботы тоже отрабатывается. Складывается впечатление, что из общего модуля нельзя делать записи в регистр сведений... Может кто сталкивался с подобной проблемой как решил??? Прокси = WSСсылки.CBR_DailyInfoWebServ.СоздатьWSПрокси("http://web.cbr.ru/", "DailyInfo", "DailyInfoSoap"); ТипWSПараметра = Прокси.ФабрикаXDTO.Пакеты.Получить("http://web.cbr.ru/").Получить("GetCursOnDate"); WSПараметр = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра); WSПараметр.On_Date = ТекущаяДата(); КурсыВалют = Прокси.GetCursOnDate(WSПараметр); НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); Для Каждого Элемент Из КурсыВалют.GetCursOnDateResult.diffgram.ValuteData.ValuteCursOnDate Цикл НаборЗаписей.Отбор.Период.Установить(ТекущаяДата()); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Период = ТекущаяДата(); НоваяЗапись.СимвольныйКод = Элемент.VChCode; НоваяЗапись.НазваниеВалюты = Элемент.Vname; НоваяЗапись.Номинал = Элемент.Vnom; НоваяЗапись.ЦифровойКод = Элемент.Vcode; НоваяЗапись.КурсВалюты = Элемент.Vcurs; КонецЦикла; НаборЗаписей.Записать(); |
|||
1
Ma3eIIa
19.02.16
✎
10:04
|
/// Как работать с набором записей регистра сведений в 1с 8.3, 8.2
Процедура РаботаСНаборомЗаписейРегистраСведений() НаборКурсов = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); //НаборКурсов.Отбор.Валюта.Установить(СсылкаНаВалюту); НаборКурсов.Отбор.Период.Установить(ТекущаяДата()); НаборКурсов.Прочитать(); Если НаборКурсов.Количество() = 0 Тогда НовыйКурс = НаборКурсов.Добавить(); //НовыйКурс.Валюта = СсылкаНаВалюту; НовыйКурс.Период = ТекущаяДата(); ИначеЕсли НаборКурсов.Количество() = 1 Тогда НовыйКурс = НаборКурсов[0]; КонецЕсли; НовыйКурс.Курс = 0; НовыйКурс.Кратность = 1; НаборКурсов.Записать(); КонецПроцедуры И смотрим внимательно что не так |
|||
2
vicof
19.02.16
✎
10:05
|
Для Каждого Элемент Из КурсыВалют.GetCursOnDateResult.diffgram.ValuteData.ValuteCursOnDate Цикл
НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); ... НаборЗаписей.Прочитать(); ... НаборЗаписей.Записать(); КонецЦикла; |
|||
3
mikecool
19.02.16
✎
10:06
|
(1) а зачем набор записей для одной записи?
|
|||
4
Ma3eIIa
19.02.16
✎
10:08
|
(3) Это не мой код. это пример на просторах интернета :)
|
|||
5
SerGo-116
19.02.16
✎
10:19
|
(1) (2) НаборЗаписей.Прочитать() - добавил результат тот же (3) Там не одна запись, а все валюты которые есть в ЦБР
(4) Этот код действительно не мой просто решил прикрутить его к своей самописной базе, автору кода огромное СПАСИБО |
|||
6
vicof
19.02.16
✎
10:20
|
(5) невнимательно читаешь
|
|||
7
SerGo-116
19.02.16
✎
11:31
|
Разобрался... :)
Спасибо, что навели на умные мысли :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |