Имя: Пароль:
1C
1С v8
УФ чайник
0 Масянька
 
12.02.19
15:41
День добрый!
Вопрос чайника (ногами не бить и комменты оставить при себе!!!):
УФ, есть реквизиты формы - НачалоПериода и КонецПериода.

&НаКлиенте
Процедура КонецПериодаПриИзменении(Элемент)

    Если ЗначениеЗаполнено(Объект.КонецПериода) Тогда
        КонецПериода = КонецДня(Объект.КонецПериода);
        Объект.КонецПериода = КонецПериода;
    КонецЕсли;
    
КонецПроцедуры


Почему так?
Если нет Объект.КонецПериода = КонецПериода; - на форме не изменяется.
Спасибо.
1 nva_15
 
12.02.19
15:44
Реквизит на форме и реквизит объекта - разные объекты.
2 Масянька
 
12.02.19
15:46
(1) Коню понятно.
Только коню не понятно - они (реквизит на форме и реквизит объекта) не связаны?
3 Ник080808
 
12.02.19
15:46
(2) нет
4 Ник080808
 
12.02.19
15:47
(2) форма чего у вас? Если справочника/документа, то реквизиты объекта на форме доступны через Объект.ИмяРеквизита, а реквизит формы это реквизит самой формы и не связан с объектом вообще.
5 nva_15
 
12.02.19
15:48
(2) По названию - нет. Если нужно на форму вынести реквизит объекта, то берем мышь и тащим его туда. В итоге источником данных для элемента формы будет реквизит объекта. Создавать для этого реквизит формы не нужно.
6 Ник080808
 
12.02.19
15:48
(2) если вы создали обработку и добавили реквизиты ей в самом объекте то на форму вытягиваете объект.реквизит и реквизит формы вам не нужно отдельно создавать.
7 Масянька
 
12.02.19
15:49
Внешняя форма.
8 Масянька
 
12.02.19
15:49
(6) Так и появились.
9 Масянька
 
12.02.19
15:50
(7) Тьфу, блин, обработка.
10 Ник080808
 
12.02.19
15:51
(9) ну я так и думал) вы либо форму тогда реквизиты добавляйте в обрабтке не добавляйте, либо наоборот. Дублировать их не нужно
11 nva_15
 
12.02.19
15:51
Так КонецПериода - это реквизит формы или просто переменная?
12 Ник080808
 
12.02.19
15:52
(9) и да. В упрформах лучше использовать поле стандартныйпериод вместо выбора периода в обычных формах
13 FIXXXL
 
12.02.19
15:53
(2) смотри у реквизита ПутьКДанным
14 Ник080808
 
12.02.19
15:55
(13) она сделала как все обычноформенные при переходе на упр - создала обработку, добавила реквизиты начало периода конец периода. создала форму, и добавила форме реквизиты начало периода и конец периода, вместо того что бы вытащить из объект.реквизит
15 Сияющий в темноте
 
12.02.19
15:56
Есть реквизиты обработки,а есть реквизиты формы,они никак не связаны.
простр,реквизиты обработки в управляемых формах мало для чего пригодны,т.к.они на сервере не живут и для двух форм одной обработки будут разные.
16 Масянька
 
12.02.19
15:56
17 Масянька
 
12.02.19
15:57
(13) Объект.КонецПериода
18 nva_15
 
12.02.19
15:57
У формы есть элементы - то, что на экране показывается. У элемента формы есть источник данных - ПутьКДанным, как-то так. И еще у формы есть реквизиты, это переменные формы, их тоже можно вывести на экран и прописать им источник данных.
19 ChMikle
 
12.02.19
15:59
(17) ЭтотОбъект.КонецПериода попробуйте
20 nva_15
 
12.02.19
16:00
(16) В списке реквизитов формы КонецПериода отсутствует. Значит, это просто переменная внутри той процедуры.
21 Масянька
 
12.02.19
16:02
(20) Внимательнее...
22 Масянька
 
12.02.19
16:03
(19) Где пробовать?
23 mTema32
 
12.02.19
16:03
(22) В коде.
24 mTema32
 
12.02.19
16:05
&НаКлиенте
Процедура КонПериодаПриИзменении(Элемент)
    
    КонПериода = КонецДня(КонПериода);
    
КонецПроцедуры



Вот так у меня работает. Вы перемудрили реквизитами формы и обработки.
25 DmitriyDI
 
12.02.19
16:07
(0) не понятно в чем вопрос мб конец периода тип дата и он в принципе не может быть концом дня? и состав даты надо сделать в обработке дата и время?
26 Масянька
 
12.02.19
16:09
(25) Коню понятно.
27 DmitriyDI
 
12.02.19
16:11
(26)
&НаКлиенте
Процедура КонецПериодаПриИзменении(Элемент)
    Если ЗначениеЗаполнено( Объект.конецпериода) Тогда
        Объект.конецпериода = конецДня(Объект.конецпериода);
    КонецЕсли;
    
КонецПроцедуры


Так изменяется?
28 Сияющий в темноте
 
12.02.19
16:11
А ежу,видимо,нет ^_^
29 Сияющий в темноте
 
12.02.19
16:12
конец дня должен ставится там,где значение используется,а пользователю давать выбор только даты,а то они вам навводят.
30 Масянька
 
12.02.19
16:13
(28) Не знакома...
31 Масянька
 
12.02.19
16:14
(24) Сделала новую обработку. Один реквизит.
&НаКлиенте
Процедура ПростоДатаПриИзменении(Элемент)
    ПростоДата = КонецДня(ПростоДата);
КонецПроцедуры
Результат - https://pastenow.ru/859337dd96bb2964ee0615f8cfa30d2c
32 mTema32
 
12.02.19
16:16
Так ПростоДата - это реквизит формы?
33 mTema32
 
12.02.19
16:17
Добавьте реквизит формы "ПростоДата" в форме. И мышкой перетащите в левый столбец.
34 DmitriyDI
 
12.02.19
16:18
код в (0) рабочий, видимо обработчик событий не наложен на элемент.
35 Масянька
 
12.02.19
16:18
(33) https://pastenow.ru/56c69bcdc0b4997d74d4efba8a1c28cc
На форму сам сел (при создании формы).
36 RomanYS
 
12.02.19
16:19
(31) В ОФ контекст основного реквизита был доступен в форме напрямую. В УФ это не так, для доступа к реквизитам основного реквизита нужно писать имя этого реквизита (как правило "объект")
37 mTema32
 
12.02.19
16:20
(35) Еще раз. Добавьте реквизит  формы(!), а не реквизит обработки. Это разные вещи.
38 Масянька
 
12.02.19
16:20
39 Масянька
 
12.02.19
16:22
(36) :((((((((((((((((((((((((((((((((((((((((((((
40 mTema32
 
12.02.19
16:22
(38) В правой верхней колонки, где внизу подписано "Реквизиты" оставьте в покое "Объект". Вверху есть кнопка добавить. Вот туда нужно ткнуть, назвать соответственно и перетащить в "Элементы".
41 RomanYS
 
12.02.19
16:23
(31) вообще должно было ошибку выдать: "Преобразование значения к типу Дата не может быть выполнено"
42 DmitriyDI
 
12.02.19
16:23
(38) так сказали уже если это реквизит объекта то обращаемся через Объект., если это реквизит формы то можно бех Объект..
43 RomanYS
 
12.02.19
16:24
(39) такова жизнь)
44 Garykom
 
гуру
12.02.19
16:43
Старая путается научиться новым трюкам?
45 Garykom
 
гуру
12.02.19
16:43
(44) *пытается
46 Hillsnake
 
12.02.19
16:44
(39) оказываю помощь застрявшим в 7.7 (хорошая надпись)
47 takefive
 
12.02.19
16:49
А.. Э... тут вот какие буковки у Вас?
Элемент.Формат редактирования
Реквизит.Части даты
48 Масянька
 
12.02.19
16:55
(44) В (0) написано: комменты оставить при себе.
С недержанием - к врачу.
49 Масянька
 
12.02.19
16:56
(46) Спасибо.
Буду иметь ввиду.
50 novichok79
 
12.02.19
17:26
части даты, не?
и почему нельзя сразу написать, вместо этого

КонецПериода = КонецДня(Объект.КонецПериода);
Объект.КонецПериода = КонецПериода;

вот это

Объект.КонецПериода = КонецДня(Объект.КонецПериода);

ахтунг, перерасход памяти ))))) а ваще советую глянуть форму того же отчета ТОРГ-29 в УТ 11, судя по скринам у вас она.