Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Глючит ЗаполнитьЗначенияСвойств или я?

Глючит ЗаполнитьЗначенияСвойств или я?
Я
   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
всё верно он тебе пишет
   Fragster
 
3 - 05.10.17 - 16:33
(1)(2) вопрос в том, почему заполнитьзначениясвойств её не заполнило
   Ёпрст
 
4 - 05.10.17 - 16:33
Выборка.Период = ?
   Fragster
 
5 - 05.10.17 - 16:34
(4) ну на картинке же нарисовано
   Mankubus
 
6 - 05.10.17 - 16:34
(0) а какое значение в Отбор.Период?
   Fragster
 
7 - 05.10.17 - 16:34
буквы совпадают, без подъёбов с русской/латинской раскладкой
   Ёпрст
 
8 - 05.10.17 - 16:34
(3) у тя ж отбор стоит по периоду
   Ёпрст
 
9 - 05.10.17 - 16:35
Период = ?
   Fragster
 
10 - 05.10.17 - 16:35
(6) это тоже видно на картинке

вот рабочий код:
        Набор = РегистрыСведений.ИсторияСтатусовЗаявок.СоздатьНаборЗаписей();
        Набор.Отбор.Найти("Период").Установить(Выборка.Период);
        Набор.Отбор.Найти("Заявка").Установить(Заявка);
        Запись = Набор.Добавить();
        ЗаполнитьЗначенияСвойств(Запись, Выборка);
        Запись.Период = Выборка.Период;// вот без этой строки не работает

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

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

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

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


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

        Набор.Записать();
   Fragster
 
44 - 05.10.17 - 17:01
8.3.10.2466
   Fragster
 
45 - 05.10.17 - 17:02
(42) курсы валют - день
   Numerus Mikhail
 
46 - 05.10.17 - 17:02
(45) Разницы вроде нет никакой
   Fragster
 
47 - 05.10.17 - 17:03
проверьте на последней 8.3.10, у кого установлена
   Fragster
 
48 - 05.10.17 - 17:03
плиз
   Numerus Mikhail
 
49 - 05.10.17 - 17:06
(48)8.3.10.2580 - мой код из (41) работает.
 
 Рекламное место пустует
   Ёпрст
 
50 - 05.10.17 - 17:07
Так, тогда уж пиши:

//  ЗаполнитьЗначенияСвойств(Запись, Выборка);

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


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