Имя: Пароль:
1C
1С v8
запись в регистр
0 _barracuda_
 
26.04.18
10:43
всем хорошего дня.
Вопросик:При записи формы перестраховываюсь(бывает по пока не ясным причинам не заполняются некторые реквизиты в регистре) так вот при закрытии формы подстарховываюсь и перезаписываю регистры:

НаборЗаписейЗанятыхМест = РегистрыСведений.НомераНаСкалде.СоздатьНаборЗаписей();
НаборЗаписейЗанятыхМест.Отбор.ДатаНачала.Установить(Строка.ДатаНачала);
НаборЗаписейЗанятыхМест.Отбор.ДатаОкончания.Установить(Строка.ДатаОкончания);
НаборЗаписейЗанятыхМест.Отбор.Склад.Установить(Строка.Склад);
НаборЗаписейЗанятыхМест.Отбор.НомерНаСкладе.Установить(Строка.НомерНаСкладе);
НаборЗаписейЗанятыхМест.Отбор.Ответственный.Установить(Строка.Ответственный);
НаборЗаписейЗанятыхМест.Прочитать();
Для каждого Запись Из НаборЗаписейЗанятыхМест Цикл
Запись.Стоимость = Сум;
Запись.НомерСтрокиВТабл=Ном;
КонецЦикла;
НаборЗаписейЗанятыхМест.Записать();


Вопрос.как быть если отбор вообще не сработал и данной записи нет в регистре.получается обновлять нечего а надо записать впервые запись.Спасибо
1 PR
 
26.04.18
10:44
А где вопрос-то?
2 Рэйв
 
26.04.18
10:49
(0)Используй менджер записи.
пример:
//---------
Курс = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
Курс.Валюта = ВыбВалюта;
Курс.Период = ТекущаяДата();
Курс.Прочитать();
Если Не Курс.Выбран() Тогда
    Курс.Период = ТекущаяДата();
    Курс.Валюта = ВыбВалюта;
    Курс.Курс = 41.35;
    Курс.Кратность = 1;
КонецЕсли;
Если ВвестиЧисло(Курс.Курс, "Введите курс на сегодня",15,5) Тогда
    Курс.Записать();
КонецЕсли;


(С) СП
3 _barracuda_
 
26.04.18
11:15
(2) ругается что период не заполнен.хотя мне этот период вообще заполнять никак не нужно было ранее
4 1Сергей
 
26.04.18
11:26
Если НаборЗаписейЗанятыхМест.Количество() = 0 Тогда
    Запись = НаборЗаписейЗанятыхМест.Добавить();
...
5 systemstopper
 
26.04.18
11:34
(0) да пиши от балды чё хочешь, так гарантированно что-то будет