Имя: Пароль:
1C
1С v8
Глючит ЗаполнитьЗначенияСвойств или я?
0 Fragster
 
гуру
05.10.17
16:23
Собственно, пишу код, вроде все хорошо. Падает с ошибкой "период не может быть пустым". Запускаю отладчик и вижу странное:
https://i.imgur.com/WpBzvIq.png
Что делать?
1 Ёпрст
 
05.10.17
16:32
(0) это пустая дата
2 Ёпрст
 
05.10.17
16:32
всё верно он тебе пишет
3 Fragster
 
гуру
05.10.17
16:33
(1)(2) вопрос в том, почему заполнитьзначениясвойств её не заполнило
4 Ёпрст
 
05.10.17
16:33
Выборка.Период = ?
5 Fragster
 
гуру
05.10.17
16:34
(4) ну на картинке же нарисовано
6 Mankubus
 
05.10.17
16:34
(0) а какое значение в Отбор.Период?
7 Fragster
 
гуру
05.10.17
16:34
буквы совпадают, без подъёбов с русской/латинской раскладкой
8 Ёпрст
 
05.10.17
16:34
(3) у тя ж отбор стоит по периоду
9 Ёпрст
 
05.10.17
16:35
Период = ?
10 Fragster
 
гуру
05.10.17
16:35
(6) это тоже видно на картинке

вот рабочий код:

        Набор = РегистрыСведений.ИсторияСтатусовЗаявок.СоздатьНаборЗаписей();
        Набор.Отбор.Найти("Период").Установить(Выборка.Период);
        Набор.Отбор.Найти("Заявка").Установить(Заявка);
        Запись = Набор.Добавить();
        ЗаполнитьЗначенияСвойств(Запись, Выборка);
        Запись.Период = Выборка.Период; // вот без этой строки не работает
        Набор.Записать();
11 Ёпрст
 
05.10.17
16:36
Короче, у тебя Период<>Выборка.Период и стоит отбор по периоду. Тип того
12 Fragster
 
гуру
05.10.17
16:36
(11) а вот нифига, на картинке видно, что равно
13 Ёпрст
 
05.10.17
16:37
(12) на картинке нет Значения переменной Период вот тут:

Отбор...Установить(Период)
14 h-sp
 
05.10.17
16:37
(12) проверь дни и годы. Может у твоего регистра периодичность не секунда.
15 Ёпрст
 
05.10.17
16:38
И какого хрена, ты где-то пишешь
Установить(Выборка.Период)
а где-то
Установить(Заявка), а не
Установить(Выборка.Заявка)
16 Fragster
 
гуру
05.10.17
16:39
(13) на картинке в табло есть Набор.Отбор.......
(14) секунда
17 Ёпрст
 
05.10.17
16:39
Голосую за (11).
:)
18 Fragster
 
гуру
05.10.17
16:39
там выше по коду:

    Период = ТекущаяДата();
    Запрос.УстановитьПараметр("Период", Период);
    Запрос.УстановитьПараметр("Заявка", Заявка);
    Запрос.УстановитьПараметр("Пользователь", Пользователи.АвторизованныйПользователь());
19 Ёпрст
 
05.10.17
16:41
А зачем ты там в отборе Найти используешь ?
20 Fragster
 
гуру
05.10.17
16:42
21 Fragster
 
гуру
05.10.17
16:43
(19) чтобы работало .Уст ctrl+пробел
22 Fragster
 
гуру
05.10.17
16:43
в (20) также ошибка
23 Ёпрст
 
05.10.17
16:44
(20)
Запись.Заявка = ?
24 Ненавижу 1С
 
гуру
05.10.17
16:45
а слово Запись это ни какой либо реквизит объекта или формы?
25 H A D G E H O G s
 
05.10.17
16:45
Глюк скорее всего.
26 Fragster
 
гуру
05.10.17
16:46
(23) заполняется
27 Ёпрст
 
05.10.17
16:46
Так, работает ?

Набор = РегистрыСведений.ИсторияСтатусовЗаявок.СоздатьНаборЗаписей();
Набор.Отбор.Период.Установить(Период);
Набор.Отбор.Заявка.Установить(Заявка);
Запись = Набор.Добавить();
ЗаполнитьЗначенияСвойств(Запись,Выборка);
Набор.Записать();
28 Fragster
 
гуру
05.10.17
16:46
(27) нет
29 Fragster
 
гуру
05.10.17
16:47
(24) функция модуля менеджера регистра сведений
30 Ёпрст
 
05.10.17
16:49
Ради чистоты эксперимента:

Вася= Набор.Добавить();
ЗаполнитьЗначенияСвойств(Вася,Выборка);
31 H A D G E H O G s
 
05.10.17
16:49
Запись = Набор.Добавить();
СтруктураСПериодом=Новый Структура("Период");
ЗаполнитьЗначенияСвойств(СтруктураСПериодом, Выборка);
ЗаполнитьЗначенияСвойств(Запись, СтруктураСПериодом);


Что получится?
32 Ёпрст
 
05.10.17
16:51
Ну или целиком, то так что ?

Набор = РегистрыСведений.ИсторияСтатусовЗаявок.СоздатьНаборЗаписей();
Набор.Отбор.Период.Установить(Выборка.Период);
Набор.Отбор.Заявка.Установить(Выборка.Заявка);
Вася= Набор.Добавить();
ЗаполнитьЗначенияСвойств(Вася,Выборка);
Набор.Записать();
33 Cyberhawk
 
05.10.17
16:52
В ЗаполнитьЗначенияСвойств перечисли третьим параметром одно поле "Период" и проверь. Возможно период сбрасывается после установки какого-нибудь другого свойства - добавляй их в третий параметр по одному и вычислишь
34 Fragster
 
гуру
05.10.17
16:54
35 Fragster
 
гуру
05.10.17
16:56
36 Ёпрст
 
05.10.17
16:57
(34) зачем в 4 параметр вставил период ?
37 Ёпрст
 
05.10.17
16:57
это же Исключая
38 Fragster
 
гуру
05.10.17
16:57
(36) чтобы если он "случайно" заполнился из структуры, из выборки не перезаписался
39 Fragster
 
гуру
05.10.17
16:58
но это опровергает (35), из структуры он не завполняется
40 Ёпрст
 
05.10.17
16:59
(38) можешь показать все поля выборки ?
41 Numerus Mikhail
 
05.10.17
16:59
42 Ёпрст
 
05.10.17
17:01
(41) периодичность регистра сведений у тя какая ? Секунда ?
43 Fragster
 
гуру
05.10.17
17:01
вот так работает:         
        Набор = РегистрыСведений.ИсторияСтатусовЗаявок.СоздатьНаборЗаписей();
        Набор.Отбор.Найти("Период").Установить(Выборка.Период);
        Набор.Отбор.Найти("Заявка").Установить(Выборка.Заявка);
        
        Запись = Набор.Добавить();
        ЗаполнитьЗначенияСвойств(Запись, Выборка);
        ЗаполнитьЗначенияСвойств(Запись, Выборка, "Период");
        
        //Запись.Период = Выборка.Период;
        Набор.Записать();
44 Fragster
 
гуру
05.10.17
17:01
8.3.10.2466
45 Fragster
 
гуру
05.10.17
17:02
(42) курсы валют - день
46 Numerus Mikhail
 
05.10.17
17:02
(45) Разницы вроде нет никакой
47 Fragster
 
гуру
05.10.17
17:03
проверьте на последней 8.3.10, у кого установлена
48 Fragster
 
гуру
05.10.17
17:03
плиз
49 Numerus Mikhail
 
05.10.17
17:06
(48)8.3.10.2580 - мой код из (41) работает.
50 Ёпрст
 
05.10.17
17:07
Так, тогда уж пиши:

//  ЗаполнитьЗначенияСвойств(Запись, Выборка);
        ЗаполнитьЗначенияСвойств(Запись, Выборка, "Период,Заявка,Еще какой реквизит");
51 Ёпрст
 
05.10.17
17:08
У тя мот в выборке 2 поля Период ?
52 Numerus Mikhail
 
05.10.17
17:08
(51) А такое возможно?
53 Numerus Mikhail
 
05.10.17
17:08
(48) Проверил на регистре с периодичностью секунда - так же работает. Из выборки из запроса, а не структуры тоже заполняется.
54 Fragster
 
гуру
05.10.17
17:09
(50) и потом при добавлении новых полей переписывать? нет уж спасибо. как раз чтобы не делать подобного и простыни из полей, и прописал ЗаполнитьЗначенияСвойств.
55 Fragster
 
гуру
05.10.17
17:10
и простыни из полей => простыни из присваиваний значений полей
56 ptiz
 
05.10.17
17:11
Усё работает.
Что такое у тебя "Выборка"?
57 Fragster
 
гуру
05.10.17
17:12
(56) выборка из результата запроса
58 Numerus Mikhail
 
05.10.17
17:12
(57) Может просто в (0) ты забыл обновить конфигурацию? Странно, что оно не заполняется
59 Numerus Mikhail
 
05.10.17
17:13
(57) или это какой-то системный кэш 1с. Попробуйте выключить и включить (с)
60 Fragster
 
гуру
05.10.17
17:15
(59) закомментил строку из (43) со вторым заполнитьзначениесвойств - опять перестало работать. вряд ли кэш. скорее неопубликованная ошибка платформы. сейчас буду обновлять платформу на (49)
61 ptiz
 
05.10.17
17:17
(57) Покажи запрос, может там поле хитросоставное какое-нибудь?
62 Fragster
 
гуру
05.10.17
17:18
(61) в запросе всё хорошо
63 Cyberhawk
 
05.10.17
18:48
Прошло уже вдвое больше постов после правильного ответа, а они все мыкаются...