Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Программная запись в регистр сведений

Программная запись в регистр сведений
Я
   Puass0n236
 
22.04.19 - 22:34
Добрый день!
Мне необходимо в регистр сведений программно записать информацию.
Я только учусь программировать,поэтому надеюсь на помощь.
Я пробовал вот так:

&НаСервере
Процедура КакСоздатьЗаписиБезПривязкиКДокументуНаСервере()

  НаборЗаписей = РегистрыСведений.КурсВалют.СоздатьНаборЗаписей();
  Доллар = Справочники.Валюты.НайтиПоНаименованию("Доллар");
  НаборЗаписей.Отбор.Валюта.Установить(Доллар);
  НаборЗаписей.Отбор.Период.Установить("20190421");
  НаборЗаписей.Прочитать();

  НовЗапись = НаборЗаписей.Добавить();
  НовЗапись.Период = "20190421";
  НовЗапись.Валюта = Доллар;
  НовЗапись.Курс = 57;
  НовЗапись.Кратность = 1;

  НаборЗаписей.Записать(Истина);


КонецПроцедуры

и вот так

НаборЗаписей = РегистрыСведений.КурсВалют.СоздатьНаборЗаписей();
Доллар = Справочники.Валюты.НайтиПоНаименованию("Доллар");
НаборЗаписей.Отбор.Валюта.Установить(Доллар);
НаборЗаписей.Отбор.Период.Установить("20190421");
НаборЗаписей.Прочитать();
Если НаборЗаписей.Количество()=0 Тогда
    НовЗапись = НаборЗаписей.Добавить();
    НовЗапись.Период = "20190421";
    НовЗапись.Валюта = Доллар;
Иначе  НовЗапись = НаборЗаписей[0];

КонецЕсли;
НовЗапись.Курс = 57;
НовЗапись.Кратность = 1;

НаборЗаписей.Записать(Истина);


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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.