|
Ошибка при записи в регистр сведений (Период не может быть пустым!) | ☑ | ||
---|---|---|---|---|
0
VSpicy
14.02.24
✎
11:31
|
Всем доброго дня!
Проверил, периоды во всех строках заполнены... В чём ещё может быть проблема? Вот код: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВЫБОР | КОГДА &ТекМесяц = 1 | ТОГДА УсловияЗакрепленияТССрезПоследних.Январь | КОГДА &ТекМесяц = 2 | ТОГДА УсловияЗакрепленияТССрезПоследних.Февраль | КОГДА &ТекМесяц = 3 | ТОГДА УсловияЗакрепленияТССрезПоследних.Март | КОГДА &ТекМесяц = 4 | ТОГДА УсловияЗакрепленияТССрезПоследних.Апрель | КОГДА &ТекМесяц = 5 | ТОГДА УсловияЗакрепленияТССрезПоследних.Май | КОГДА &ТекМесяц = 6 | ТОГДА УсловияЗакрепленияТССрезПоследних.Июнь | КОГДА &ТекМесяц = 7 | ТОГДА УсловияЗакрепленияТССрезПоследних.Июль | КОГДА &ТекМесяц = 8 | ТОГДА УсловияЗакрепленияТССрезПоследних.Август | КОГДА &ТекМесяц = 9 | ТОГДА УсловияЗакрепленияТССрезПоследних.Сентябрь | КОГДА &ТекМесяц = 10 | ТОГДА УсловияЗакрепленияТССрезПоследних.Октябрь | КОГДА &ТекМесяц = 11 | ТОГДА УсловияЗакрепленияТССрезПоследних.Ноябрь | КОГДА &ТекМесяц = 12 | ТОГДА УсловияЗакрепленияТССрезПоследних.Декабрь | КОНЕЦ КАК ДанныеТекМесяца, | УсловияЗакрепленияТССрезПоследних.ТС КАК ТС |ИЗ | РегистрСведений.УсловияЗакрепленияТС.СрезПоследних КАК УсловияЗакрепленияТССрезПоследних |ГДЕ | УсловияЗакрепленияТССрезПоследних.ОкончаниеОбслуживания = ДАТАВРЕМЯ(1, 1, 1) | И НЕ УсловияЗакрепленияТССрезПоследних.Архив | И УсловияЗакрепленияТССрезПоследних.ТС <> ЗНАЧЕНИЕ(Справочник.уатТС.ПустаяСсылка)"; Запрос.УстановитьПараметр("ТекМесяц", Месяц(ТекущаяДата())); РезультатЗапроса = Запрос.Выполнить().Выгрузить(); Для Каждого ТекСтр из РезультатЗапроса Цикл НаборЗаписей = РегистрыСведений.УсловияЗакрепленияТС.СоздатьМенеджерЗаписи(); НаборЗаписей.НормаЗаМесяц = ТекСтр.ДанныеТекМесяца; НаборЗаписей.Записать(ИСТИНА); КонецЦикла; Заранее спасибо за ответы! |
|||
1
mikecool
14.02.24
✎
11:31
|
период не заполнен, ты врешь
|
|||
2
VSpicy
14.02.24
✎
11:40
|
(1) Стоит даже проверка на заполненность "Периода".
|
|||
3
фросия
14.02.24
✎
11:42
|
(2)неправда.
покажите где у вас проверка на заполненность?! |
|||
4
Ненавижу 1С
14.02.24
✎
11:43
|
(2) да?
|
|||
5
Ёпрст
14.02.24
✎
11:44
|
(0)
так хотя бы воткни: НаборЗаписей.Период = Вася; |
|||
6
Ненавижу 1С
14.02.24
✎
11:47
|
Не надо так:
НаборЗаписей = РегистрыСведений.УсловияЗакрепленияТС.СоздатьМенеджерЗаписи(); или менеджер записи, или набор |
|||
7
mikecool
14.02.24
✎
11:52
|
(2) проверка как раз и работает, а где ты его заполняешь?
|
|||
8
VSpicy
14.02.24
✎
11:53
|
(3) В свойствах регистра установлено: Основной отбор по периоду. Кстати периодичность: в пределах дня.
Поэтому при создании и сохранении записи, поле "Период" заполняется либо автоматом, либо руками, иначе выдает ошибку: что период пустым не может быть... |
|||
9
mikecool
14.02.24
✎
11:56
|
(8) нет никакого автомата, ты создаешь запись и будь бобер - заполни период
|
|||
10
mikecool
14.02.24
✎
11:56
|
+9 и почитай в двухтомнике про свойства уже наконец
|
|||
11
VSpicy
14.02.24
✎
12:05
|
(9) Странно... А как же в стандартных реквизитах, в свойствах "Период" установлено: Проверка заполнения - выдавать ошибку?
|
|||
12
Ёпрст
14.02.24
✎
12:07
|
(11) не надо путать интерактивные действия с программной записью
|
|||
13
mikecool
14.02.24
✎
12:17
|
(11) ты прикалываешься?
|
|||
14
Волшебник
14.02.24
✎
12:26
|
1) Переименовать переменную в МенеджерЗаписи. 2) Заполнить Период. Для Каждого ТекСтр из РезультатЗапроса Цикл МенеджерЗаписи = РегистрыСведений.УсловияЗакрепленияТС.СоздатьМенеджерЗаписи(); МенеджерЗаписи.ТС = ТекСтр.ТС; МенеджерЗаписи.Период = ТекСтр.Период; МенеджерЗаписи.НормаЗаМесяц = ТекСтр.ДанныеТекМесяца; МенеджерЗаписи.Записать(); КонецЦикла; |
|||
15
VSpicy
14.02.24
✎
12:30
|
(14) Спасибо!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |