Имя: Пароль:
1C
1C 7.7
v7: Не читается периодическая константа, возвращает 0
0 Vladal
 
31.01.12
16:33
1С 7.7.027, база скульная, скуль 2005.

Зверёк подкрался незаметно.
Создал новую периодическую константу, т.к. баз много, первое заполнение этой константы сделал по OLE - интерактивно вижу, что значение есть, дата записи 01.01.2011.

А прочитать не могу - возвращает ноль.

СтавкаНалога = Константа.МояКонстанта.Получить(РабочаДата());

То же самое и в отладчике, и в табло Предприятия.

Другие периодические константы - получает. Например, Константа.СтавкаЕСВ.Получить(РабочаДата()) = 38,52%

Соответственно и объект Периодический не отлавливает её значения:

Процедура Периодический()
   Пер = СоздатьОбъект("Периодический");
   Пер.ИспользоватьОбъект("НачислениеЕСВБольнИнвалиды");
   Пер.ВыбратьЗначения('01.01.2008', '31.12.2012');
   Пока Пер.ПолучитьЗначение() = 1 Цикл
       Сообщить("На дату " + пер.ДатаЗнач + " константа имеет значение " + Пер.Значение);
   КонецЦикла;
КонецПроцедуры // периодический

Даже не заходит в цикл.

Кудой рыть?
1 vde69
 
31.01.12
16:35
рыть в сторону даты 2049 года или еще выше
2 G-Re
 
31.01.12
16:38
(1)+ Да, просто отобрази ВЕСЬ объект Периодический - Дата, Значение. Сразу увидишь кривые даты или что-нибудь еще.
3 Vladal
 
31.01.12
16:39
Нет, значений только одно.
Вручную удалил все и снова поставил , заработало. Странно.
4 Vladal
 
31.01.12
16:40
Но не во всех базах. По ходу дело в чем-то другом.
5 Vladal
 
31.01.12
16:40
(1) У меня начало рабочего столения 1952 год.
6 Tatitutu
 
31.01.12
16:48
(6) язык системы ОС = русский (у тебя стоит Украинский)
7 Vladal
 
31.01.12
17:06
(6) Гиде смотреть? Сам сервер англицкий, кодовая страница Cyrilic_ca_sa
8 Rie
 
31.01.12
17:08
(7) А что есть Cyrilic_ca_sa? Должно быть Cyrilic_ci_as.
9 ЧеловекДуши
 
31.01.12
17:09
Лучше порыть в диалоге, там то вообще какие даты?
Сделай скрин :)
10 Vladal
 
31.01.12
17:13
(8) Да. так и есть. Я админа не расслышал сначала.

(9) http://s018.radikal.ru/i521/1201/5a/065eead18826.png
11 Rie
 
31.01.12
17:14
(10) А переиндексировать базу - не пробовал?
12 Vladal
 
31.01.12
17:15
(11) Нет, не пробовал.
13 Rie
 
31.01.12
17:17
(12) Попробуй. Раз картинка, как в (10) - имеет смысл.
14 Vladal
 
31.01.12
17:22
(13) Переиндексировал - не то. Всеравно нули.
Сейчас выгрузку-загрузку сделаю.
15 Vladal
 
31.01.12
17:35
нихт...
16 Rie
 
31.01.12
17:36
(15) Что - нет? Не помогло или больше нет ошибки? :-)
17 Vladal
 
31.01.12
17:44
(16) Нет = не помогло. В скульной базе сделал выгрузку-загрузку - ничего.
Сделал хагрузку в новую пустую файловую - така сама.
18 Vladal
 
31.01.12
17:46
А когда в файловой удалил все значения константы и вручную заполнил - взлетело.
19 Vladal
 
31.01.12
17:47
как вариант - удалить эту константу из метаданных, потом снова добавить.
20 Rie
 
31.01.12
17:48
(19) А непосредственно в таблице - не смотрел, что там с этой константой творится?
21 Vladal
 
31.01.12
17:49
(20) Напрямую в скуле? Нет, не смотрел. Прав нет.
22 Classic
 
31.01.12
17:54
(21)
На файловую наверняка права есть :)
23 Vladal
 
31.01.12
18:02
(22) И что? Куда смотреть?
В файловой после загрузки та же проблема.
Вручную удалил все значения и ввёл вручную снова - прочиталось.
24 Rie
 
31.01.12
18:03
(23) В файловой - в 1SCONST
25 Rie
 
31.01.12
18:04
+(34) Только идентификатор знать надо... Была бы 1С++ у тебя - проще было бы.
26 Vladal
 
31.01.12
18:04
(24) Спасибо, я в курсе. Куда смотреть - в смысле на какие поля еще, кроме того значения, где 8.41 записано?
27 Vladal
 
31.01.12
18:05
(25) В будущее смотришь ;)
28 Rie
 
31.01.12
18:07
(26) Идентификатор вычислить - и затем отфильтровать по нему.
Пофантазирую немного - есть другая запись на ту же дату, но с грязью (например, какой-нибудь DOCID заполнен; или время указано). Вот и выбирает её. А как она туда попала - сие тайна великая есть.
29 Vladal
 
31.01.12
18:08
Нет. Я ставил только ручное изменение.
30 Vladal
 
31.01.12
18:12
Просмотрщиком DBF я нашел это значение.
|ID | Date     | partno| Value
|AN8|01.12.2011|   0   | 8.41
|AN8|01.02.2012|   0   | 8.41

Всё, как на экране.
31 Rie
 
31.01.12
18:20
(30) И других значений с тем же ID нет? Тогда весьма странно...
32 Vladal
 
31.01.12
18:20
(31) нет.
33 Vladal
 
31.01.12
18:44
в скуле посмотрел, нашел эти значения. Прибил, вручную внёс - нихт!
Тихонько это мне надоедает.

Удалил константу нафиг, в скуле её значения в таблице _1sconst остались.
Создал новую с другим имененем, заполнил поля - нормально всё работает!

Но то, что в скуле значения остались, насторожило.
Создал новую константу со старым имененем, запустил Предприятие - ОП-ЛЯ! Значения старые на те же даты и не читаются!

Т.е. новая константа с новым именем - программно читается.
Новая константа со старым именем - программно не читается, но интерактивно значения видно. После их изменения все равно не читается.
34 Vladal
 
31.01.12
18:45
Вопрос закрыт.
35 G-Re
 
31.01.12
21:36
(34) И что же все-таки было?
36 Vladal
 
02.02.12
16:40
(35) Был какой-то глюк в базах SQL. Зашли в каждую базу и вычистили значение вручную. После этого взлетело.

В файловой выгрузке взлетело сразу - смотрите (18).
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший