|
|
|
Дата в периодических реквизитов | ☑ | ||
|---|---|---|---|---|
|
0
Новичок
18.03.09
✎
22:29
|
Здрасте. Помогите плиз решить вот такую задачу:
Есть в справочнике Адреса периодический реквизит Трубка. в него вбиты данные, например, дата значение 01.01.04 да 01.01.06 нет 01.01.08 да В процедуре выполняется следующее Период=01.01.05 Знач=Адрес.Трубка.Получить(Период);//получаем значение т.е. ДА Вопрос: как получить точную дату, т.е. нужно чтобы некому идентификатору ДАТ присвоилось в этом примере значение 01.01.04. Если период был бы например 01.01.07, то ДАТ=01.01.06. Возможно ли это сделать вообще?? |
|||
|
1
Привратник
18.03.09
✎
22:31
|
объект периодический
выбратьзначения получитьзначение |
|||
|
2
Guk
18.03.09
✎
22:31
|
Возможно. Я правда не совсем понял чего ты хочешь, но возможно...
|
|||
|
3
Новичок
18.03.09
✎
22:33
|
Значение выбирается, а вот возможно ли выбрать точную дату этого знчения??
|
|||
|
4
Новичок
18.03.09
✎
22:34
|
Если да, то как это реализовать??
|
|||
|
5
ДенисЧ
18.03.09
✎
22:35
|
(4) читай (1), медитируй, вникай...
|
|||
|
6
Привратник
18.03.09
✎
22:35
|
Перебираешь все значения с начала. Находишь первое, которое больше заданного. Смотришь на одно значение назад. Получаешь искомое.
|
|||
|
7
Новичок
18.03.09
✎
22:38
|
(6) У меня не стоит проблема нахождения значения, главная проблема с датами. Мне нужна точная дата, когда было установлена это значение....
|
|||
|
8
Guk
18.03.09
✎
22:40
|
(7) разве (1) это не разрешает? правда в твоем примере, зная значение ты получишь список дат. короче, чего тебе надо?...
|
|||
|
9
ДенисЧ
18.03.09
✎
22:40
|
(7) Не... У тебя другая проблема...
|
|||
|
10
Новичок
18.03.09
✎
22:41
|
Всё вник... К концу дня уже тупею.... Тема закрыта. Спасибо (1)
|
|||
|
11
Новичок
19.03.09
✎
01:05
|
Вот такой вот вопрос:
ПроектИст=СоздатьОбъект("Периодический"); ПроектИст.ИспоьзоватьОбъект("ПроектИстория",СпрК.ТекущийЭлемент()); Пр=ПроектИст.ЗначениеНаДату(период);//здесь все ок Пр=да Пр=ПроектИст.Значение;// а вот здесь почему-то ничего не присваивается, хотя //должно тоже самое, что и в предыдущем или я ошибаюсь? ДатаУст=ПроектИст.ДатаЗнач;//и здесь ничего не берет |
|||
|
12
КонецЦикла
19.03.09
✎
01:10
|
Пер.ИспользоватьОбъект("ДатаСертификата",СпрТек);
Пер.ДатаЗнач=НаДату; Пер.Значение=ДатаСертификата; Пер.Записать(); |
|||
|
13
Новичок
19.03.09
✎
01:18
|
мне наоюорот надо из периодического реквизита, взять значение и дату по текущему периоду. Пр=ПроектИст.Значение;ДатаУст=ПроектИст.ДатаЗнач; - эти функции не помогают, они ничего не берут :(
|
|||
|
14
Новичок
19.03.09
✎
01:41
|
Ну и почему удалили мои сообщения??
|
|||
|
15
GROOVY
модератор
19.03.09
✎
01:44
|
(14) Извините, это ошибка технического порядка. Посты восстановятся как только будет такая возможность.
|
|||
|
16
КонецЦикла
19.03.09
✎
01:55
|
(13) Аналогично, может пора щелкнуть на дядьку в кепке?
|
|||
|
17
Новичок
19.03.09
✎
10:10
|
(16) Не понял.... Какая дядька??
|
|||
|
18
Ёпрст
гуру
19.03.09
✎
10:11
|
(17) открой пофигуратор и посмотри на панель меню - там есть мужик в кепке.. все ответы он знает.
|
|||
|
19
Новичок
19.03.09
✎
10:15
|
Да я смотрел уже Синтак-Помощник. Все делаю так, как там сказано.... Я никак не могу понять почему ДатаЗнач и Значение у меня не берут данные, которые прописаны в реквизите. Он просто не видит его, указывает что там ничего нет...
|
|||
|
20
Новичок
19.03.09
✎
10:18
|
Если использовать функцию ВыбратьЗначения, и пустить цикл
Пока ПроектИст.ПолучитьЗначение()=1 Цикл Пр=ПроектИст.Значение; Датаус=ПроектИст.ДатаЗнач; КонецЦикла когда смотрюб в отладчике, он зависает на этом цикле, и также ничего не присваивает............. |
|||
|
21
Ёпрст
гуру
19.03.09
✎
10:21
|
(20) ПроектИст.ИспользоватьОбъект есть в коде?
|
|||
|
22
Новичок
19.03.09
✎
10:24
|
(21)
Конечно... в самом начале ПроектИст.ИспользоватьОбъект("Проект",Спр.ТекущийЭлемент()); В отладчике смотрел, всё ок, присваивается 1 |
|||
|
23
Жан Пердежон
19.03.09
✎
10:24
|
ПроектИст=СоздатьОбъект("Периодический");
ПроектИст.ИспоьзоватьОбъект("ПроектИстория",СпрК.ТекущийЭлемент()); ПроектИст.ОбратныйПорядок(); ПроектИст.ВыбратьЗначения(НачДата, период); Если ПроектИст.ПолучитьЗначение()=1 тогда Знач = ПроектИст.Значение; Дат = ПроектИст.ДатаЗнач; КонецЕсли; |
|||
|
24
Новичок
19.03.09
✎
10:28
|
(23)
Делал так. Знач = ПроектИст.Значение;//здесь ничего не присваивается, в отладчике смотрел знач=" " Дат = ПроектИст.ДатаЗнач;//здесь Дату присваивается следующее " . . " |
|||
|
25
Новичок
19.03.09
✎
10:33
|
(23)
И еще часто ругается что перед ПолучитьЗначение нужон ИспользоватьОбъект, хотя эта функцмя уже есть... |
|||
|
26
Жан Пердежон
19.03.09
✎
10:33
|
(24) а НачДата наверно сделали = период?
|
|||
|
27
Новичок
19.03.09
✎
10:35
|
(26)
НачДата у меня ничего не стоит, а период="01.01.09" В период.реквизите есть данная с датой 01.01.06 и со значением ДА |
|||
|
28
Новичок
19.03.09
✎
10:37
|
(26)
Единственная функция которая работает это Пр=ПроектИст.ЗначениеНаДату(период); Но мне надо узнать и дату этого значения, а не только само значение, поэтому эту функцию я использовать не могу... |
|||
|
29
Shaman100M
19.03.09
✎
10:38
|
Тут видимо, дословно надо.
ПроектИст=СоздатьОбъект("Периодический"); ПроектИст.ИспоьзоватьОбъект("Трубка",Адрес.ТекущийЭлемент()); ПроектИст.ОбратныйПорядок(1); ПроектИст.ВыбратьЗначения(, период); Если ПроектИст.ПолучитьЗначение()=1 тогда Сообщить("" +ПроектИст.Значение); Сообщить("" +ПроектИст.ДатаЗнач); КонецЕсли; |
|||
|
30
Новичок
19.03.09
✎
10:42
|
(29) Зачем мне сообщать то?? Мне же дальше эти данные в работе программы понадобиться.... Поэтому мне надо именно присваивовать к каким-нибудь переменным.
|
|||
|
31
Жан Пердежон
19.03.09
✎
10:43
|
(30) ну не сообщай - используй дальше, в чем проблема-то???
|
|||
|
32
Новичок
19.03.09
✎
10:45
|
(31) Посмотри (23). Как их использовать, если к ним ничего не присваивается??!! Смотрел в отладчике, никак ничего не хочет присваивать(
|
|||
|
33
Новичок
19.03.09
✎
10:46
|
(31) т.е. (24) посмотри
|
|||
|
34
Жан Пердежон
19.03.09
✎
10:48
|
и что там смотреть?
откуда я знаю, что у тебя в БД? откуда я знаю, какой у тебя код до и после? предлагаешь протелепатировать и найти у тебя там ошибку? Вот полностью рабочий код на справочнике "Валюты", ошибку ищи у себя: Процедура Сформировать() ПроектИст = СоздатьОбъект("Периодический"); ПроектИст.ИспользоватьОбъект("Курс",ВыбВалюты.ТекущийЭлемент()); ПроектИст.ОбратныйПорядок(); ПроектИст.ВыбратьЗначения(, ВыбДата); Если ПроектИст.ПолучитьЗначение()=1 тогда нЗнач = ПроектИст.Значение; нДата = ПроектИст.ДатаЗнач; КонецЕсли; Сообщить(""+нЗнач+" "+нДата); КонецПроцедуры |
|||
|
35
Новичок
19.03.09
✎
10:54
|
(34)
"и что там смотреть? " Ну я там писал уже в чем главная проблема "откуда я знаю, что у тебя в БД? " в БД у меня вбито что-то наподобие (0) "откуда я знаю, какой у тебя код до и после? " Код ДО и ПОСЛЕ не имеют значения, так как главная проблема в присваении "предлагаешь протелепатировать и найти у тебя там ошибку?" Вот это редко кто в наше время может сделать) "Вот полностью рабочий код на справочнике "Валюты", ошибку ищи у себя:" По этому рабочему коду я и делал, но проблема все равно выходит. Если б не было проблем таких (мб какая-нить не точность мешает, к-ую я никак не могу заметить) я б сюда не писал. Всё равно СПАСИБО за помощь. |
|||
|
36
Ёпрст
гуру
19.03.09
✎
11:16
|
Знач = ПроектИст.Значение;//здесь ничего не присваивается, в отладчике смотрел знач=" "
Еще бы... нефик юзать зарезервированные ключевые слова. |
|||
|
37
Новичок
19.03.09
✎
13:21
|
Дат = ПроектИст.ДатаЗнач;//здесь Дату присваивается следующее " . . "
а про это что скажете?? здесь тоже ничего не присваивается... |
|||
|
38
Ёпрст
гуру
19.03.09
✎
13:23
|
(37) Больше кода.
|
|||
|
39
Новичок
19.03.09
✎
13:54
|
(38) В (24) написано
|
|||
|
40
Ёпрст
гуру
19.03.09
✎
14:00
|
(39) весь код показывай. начиная с СоздатьОбъект("Периодический") ...
|
|||
|
41
Ёпрст
гуру
19.03.09
✎
14:00
|
+40 телепаты в отпуске.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |