|
v7: Как установить 2 значения периодического реквизита за 1 раз? | ☑ | ||
---|---|---|---|---|
0
NoobiC
10.09.14
✎
10:36
|
Привет. Не могу понять, в справочнике есть периодический реквизит1, его надо поставить в 1 на текущую дату, и в 0 на дату, через месяц. Руками получается сделать, т.е. значение видно и на будущую дату, а вот программно - нифига. Только последнее значение записывает... помогите, плиз.
Вот фрагмент кода процедуры "ПриЗаписи": В свойствах реквизита стоит"ручное изменение" ИспользоватьДату(ТекущаяДата()); Реквизит1 = 1; ИспользоватьДату(ДобавитьМесяц(ТекущаяДата(), 1), 1); Реквизит1 = 0; Записать(); |
|||
1
Chum
10.09.14
✎
10:38
|
ИспользоватьДату(<?>,);
Синтаксис: ИспользоватьДату(<Дата>,<УстСразу>) Назначение: Установить дату выборки периодических реквизитов справочника. Возвращает: Текущее значение используемой даты (на момент до исполнения метода). Параметры: <Дата> - значение типа дата. <УстСразу> - необязательный параметр. Число: если 1, то дата, переданная в качестве параметра, будет установлена уже в текущей выборке; если 0 - то дата, переданная в качестве параметра, будет установлена при следующем открытии выборки. Значение по умолчанию - 0. . |
|||
2
Chum
10.09.14
✎
10:39
|
<УстСразу>
И еще момент: периодический реквизит можно установить если сам элемент уже записан. Второй вариант: использовать объект Периодический |
|||
3
Svetka
10.09.14
✎
10:39
|
Метод ИспользоватьДату() можно 1 раз применить
|
|||
4
NoobiC
10.09.14
✎
10:42
|
(2) в форме записываемого элемента же нельзя? Или записать, а потом в модуле формы создавать Объект?:)
(3) ну вот так примерно и понял:( |
|||
5
Ёпрст
10.09.14
✎
10:49
|
(4) не используй ИспользоватьДату. Тогда получится.
Или через объект Периодический |
|||
6
Svetka
10.09.14
✎
10:58
|
http://www.mista.ru/tutor_1c/sprav.htm#periodic
про объект Периодический |
|||
7
Boroda
10.09.14
✎
11:04
|
Можешь еще для примера глянуть процедуру "ЗаписатьЗначения" из Обработка.ЗаписьПериодическихРеквизитов (ТиС)
|
|||
8
NoobiC
10.09.14
✎
11:18
|
Спасибо всем большое. Получилось так: (фрагмент кода)
Записать(); Спр = СоздатьОбъект("Справочник.Справ1"); Спр.НайтиЭлемент(ТекущийЭлемент()); Пер = СоздатьОбъект("Периодический"); Пер.ИспользоватьОбъект("Реквизит1", Спр.ТекущийЭлемент()); Спр.Реквизит1.Установить(ТекущаяДата(), 1); Спр.Реквизит1.Установить(ДобавитьМесяц(ТекущаяДата(), 1), 0); |
|||
9
Boroda
10.09.14
✎
11:20
|
Мог бы и проще сделать:
// это убрать Спр = СоздатьОбъект("Справочник.Справ1"); Пер.ИспользоватьОбъект("Реквизит1", ТекущийЭлемент()); |
|||
10
Ёпрст
10.09.14
✎
11:23
|
(9) всё еще проще
Записать(); // Спр = СоздатьОбъект("Справочник.Справ1"); // Спр.НайтиЭлемент(ТекущийЭлемент()); // Пер = СоздатьОбъект("Периодический"); // Пер.ИспользоватьОбъект("Реквизит1", Спр.ТекущийЭлемент()); Спр.Реквизит1.Установить(ТекущаяДата(), 1); Спр.Реквизит1.Установить(ДобавитьМесяц(ТекущаяДата(), 1), 0); |
|||
11
Boroda
10.09.14
✎
11:29
|
(10) Да, просмотрел! :)
ТС же дальше и не использует созданный им же периодичский объект. |
|||
12
NoobiC
10.09.14
✎
11:58
|
Спасибо :).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |