|
Программная запись в регистр сведений | ☑ | ||
---|---|---|---|---|
0
Puass0n236
22.04.19
✎
22:34
|
Добрый день!
Мне необходимо в регистр сведений программно записать информацию. Я только учусь программировать,поэтому надеюсь на помощь. Я пробовал вот так: &НаСервере Процедура КакСоздатьЗаписиБезПривязкиКДокументуНаСервере() НаборЗаписей = РегистрыСведений.КурсВалют.СоздатьНаборЗаписей(); Доллар = Справочники.Валюты.НайтиПоНаименованию("Доллар"); НаборЗаписей.Отбор.Валюта.Установить(Доллар); НаборЗаписей.Отбор.Период.Установить("20190421"); НаборЗаписей.Прочитать(); НовЗапись = НаборЗаписей.Добавить(); НовЗапись.Период = "20190421"; НовЗапись.Валюта = Доллар; НовЗапись.Курс = 57; НовЗапись.Кратность = 1; НаборЗаписей.Записать(Истина); КонецПроцедуры и вот так НаборЗаписей = РегистрыСведений.КурсВалют.СоздатьНаборЗаписей(); Доллар = Справочники.Валюты.НайтиПоНаименованию("Доллар"); НаборЗаписей.Отбор.Валюта.Установить(Доллар); НаборЗаписей.Отбор.Период.Установить("20190421"); НаборЗаписей.Прочитать(); Если НаборЗаписей.Количество()=0 Тогда НовЗапись = НаборЗаписей.Добавить(); НовЗапись.Период = "20190421"; НовЗапись.Валюта = Доллар; Иначе НовЗапись = НаборЗаписей[0]; КонецЕсли; НовЗапись.Курс = 57; НовЗапись.Кратность = 1; НаборЗаписей.Записать(Истина); и кучу других похожих вариантов, но зайдя в пользовательском режиме новых записей,да и вообще любых записей не появляется. Подскажите, что я делаю неправильно |
|||
1
palsergeich
22.04.19
✎
22:39
|
Если это периодический регистр сведений с одним измерением - валюта, то код написан верно оба варианта.
Ты после добавления записей список обновлял? ну там ф5 нажать |
|||
2
palsergeich
22.04.19
✎
22:45
|
Там еще может быть загвоздка с установленным фильтром на форме списка, попробуй проверить наличие записей через консоль запросов
|
|||
3
OldCondom
22.04.19
✎
22:50
|
Убери прочитать() и отбор по периоду
|
|||
4
Успехов
22.04.19
✎
22:50
|
(1) 1С научилась автоматически из любого формата строку в дату преобразовывать?
|
|||
5
OldCondom
22.04.19
✎
22:51
|
И за одно опредедись, ты собираешься изменять запись или добавлять. Во втором случае подойдет менеджер записи, а не набора записи.
Смотри тут: https://its.1c.ru/db/metod8dev/content/2486/hdoc |
|||
6
OldCondom
22.04.19
✎
22:52
|
(4) + 100))
|
|||
7
palsergeich
22.04.19
✎
22:55
|
(4) это привело бы к окну с ошибкой что поле период не заполнено, думаю, что просто издержки копипасиы на форум, а в коде нормальные одиночные кавычки.
(3) если убрать отбор по периоду затрутся все остальные записи по этой валюте. Для учебных целей код нормальный. |
|||
8
Успехов
22.04.19
✎
23:00
|
(7) Всё равно, даже если так, неявные преобразования - зло. Есть специальные функции для этого.
|
|||
9
palsergeich
22.04.19
✎
23:01
|
(8) Одиночная кавычка это не неявное преобразование, а запись даты как литерала.
|
|||
10
palsergeich
22.04.19
✎
23:17
|
Ну я по крайней мере надеюсь что товарищ топикстартер дату то записал правильно и красной ошибки у него нет)
|
|||
11
singlych
23.04.19
✎
00:02
|
(4) внезапно это работает
|
|||
12
palsergeich
23.04.19
✎
00:08
|
(11) Да было ясно с самого начала, что работает, или ошибки копипаста, или неявное преобразование, ибо если бы этого не случилось, то окно с надписью поле период незаполнено пищу для размышлений бы дало.
|
|||
13
Успехов
23.04.19
✎
05:57
|
(11) И это очень плохо, на самом деле. Источник трудноуловимых ошибок. Никогда так не делаю, абсолютно никаких плюсов в такой записи нет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |