Имя: Пароль:
1C
1C 7.7
v7: Семерочники, вопрос по Константам: одна из похожих (в конфе) не запоминает значение
0 aka AMIGO
 
05.12.19
22:13
В конфигурации подобных констант - 10.
Значение их = Перечисление.Булево, Да или Нет
9 штук верхних меняются, как положено, устанавливаю либо Да, либо Нет
Для всех получаю сообщение "Константа изменена с Да на Нет, или там наоборот, но всегда правильно.
А вот эта 10-я, последняя, при всех равных прочим условиях и реквизитах - принимает только одно значение "Нет" !
Во втором посте выведу скрины, в первом вроде-б не получается..
1 aka AMIGO
 
05.12.19
22:15
2 2S
 
05.12.19
22:16
Права?
3 aka AMIGO
 
05.12.19
22:20
Выбор - педалькой, выбираю "Да"
https://i.paste.pics/0d7b1bad3e8ba2c2bb2cf4dc4f530afb.png

Результат выбора:
https://i.paste.pics/0e9569c9f70ae4e9e9e364030eef7786.png
опять "Нет"!!

(2) - Чтение и изменение - как и в других, я работаю с этими правами, суперАдминистратор1
https://i.paste.pics/772beb641aeb3ae48ed894a625227e2c.png
4 АНДР
 
05.12.19
22:22
А что про неё в 1cv7.dd(s) написано?
5 2S
 
05.12.19
22:22
В глобальнике ничего нет по обработке данной константы?
6 АНДР
 
05.12.19
22:23
(5) Подписка в 7.7?
7 aka AMIGO
 
05.12.19
22:24
(4) Сейчас гляну, минуточку..

(5) Да нет никакого упоминания..
8 2S
 
05.12.19
22:25
(6) я могу ошибаться, но вроде был глобальный обработчик изменения значения константы
9 2S
 
05.12.19
22:27
Призаписиконстанты() вроде
10 welwel
 
05.12.19
22:27
(5) + можно для интереса в отладчике посмотреть в событии приизменении что там после модификации
11 2S
 
05.12.19
22:28
Прикольно ковыряться в закромах памяти, а вспоминая 77, когда практики более 2х лет нет)
12 aka AMIGO
 
05.12.19
22:30
(4) её в DD нет

(9) в ПриЗаписи/Константы(..) она не упомянута.

Пытался я её закодировать туда, и насильно изменить на нужное значение - получаю ошибку
13 2S
 
05.12.19
22:30
Пересоздавай дд
14 АНДР
 
05.12.19
22:32
(4), (6) Да, забыл я 7.7. :(
(13) - констант в нем нет, там один файл для констант и периодических реквизитов.
15 aka AMIGO
 
05.12.19
22:33
(13) хм.. сейчас попробую..
16 welwel
 
05.12.19
22:34
Может индексы обновить?
17 aka AMIGO
 
05.12.19
22:35
(14) Есть 1SCONST.DBF
Попробую открыть Excel"ем
18 2S
 
05.12.19
22:35
(15) точно, была мысль про таблицу
Амиго, тии делал?
19 aka AMIGO
 
05.12.19
22:36
(16) Обновлял, тоже приходило в голову..
(18) да
20 welwel
 
05.12.19
22:36
(12) а что за ошибка при попытке изменить?
21 aka AMIGO
 
05.12.19
22:43
(20) Минуточку..
Для начала - вот код, вызывающий ошибку:
Процедура ПриЗаписиКонстанты(ИмяКонстанты,Значен)
...
    Если ИмяКонстанты = "ИзмСчетПриНаличПодчиненных" Тогда
        Если Значен= Перечисление.Булево.Да Тогда
            //Константа.УстановитьАтрибут("ИзмСчетПриНаличПодчиненных",Перечисление.Булево.Да);
            Константа.ИзмСчетПриНаличПодчиненных=Перечисление.Булево.Да;
        Иначе
            //Константа.УстановитьАтрибут("ИзмСчетПриНаличПодчиненных",Перечисление.Булево.Нет);
            Константа.ИзмСчетПриНаличПодчиненных=Перечисление.Булево.Нет;
        КонецЕсли;
        
    КонецЕсли;
КонецПроцедуры
22 2S
 
05.12.19
22:44
Амиго, приехали. Если у тебя Нет, так всегда Нет и будет
23 2S
 
05.12.19
22:44
Условие измени
24 aka AMIGO
 
05.12.19
22:45
А вот ошибка:
Константа.ИзмСчетПриНаличПодчиненных=Перечисление.Булево.Да;
{Глобальный модуль(4623)}: Ошибка обновления записи

(22) погодь, погодь.. где у меня всегда "Нет"-то?
25 aka AMIGO
 
05.12.19
22:46
(23) Перестаю потихоньку соображать.. какое условие-то поставить? вместо моих..
26 welwel
 
05.12.19
22:48
(21) отладчиком там значение глянуть можно перед записью
А менять внутри обработчика не позволяет, там наверно только статусвозврата(0) можно для отказа
27 2S
 
05.12.19
22:48
И я торможу
А если константа = значен просто?
28 2S
 
05.12.19
22:50
29 aka AMIGO
 
05.12.19
22:50
(22) Друже, я попадаю в оператор условия - со значением "Да", и вот результат - в посте (24) Значен = Да

(27) сейчас попробую.. минуточку..
30 welwel
 
05.12.19
22:51
(26) + проверить в отладчике в приизменении статусвозврата() на выходе
31 GreyK
 
05.12.19
22:55
(29) Код в (21) вообще не нужен, всё должно работать штатно.
32 sidalexsandr
 
05.12.19
22:56
(21) вставь в ветку иначе оператор сообщить и попробуй изменить
33 welwel
 
05.12.19
22:56
А что в свойствах константы на вкладке дополнительные?
34 aka AMIGO
 
05.12.19
23:00
(27) Константа.ИзмСчетПриНаличПодчиненных=Значен;
{Глобальный модуль(4624)}: Ошибка обновления записи

Не проходит..

(31) Именно так! во всех подобных константах изменяется правильно..

(33) Там доступен маркер "Периодический", там пусто, как и у всех остальных
https://i.paste.pics/aef4ad6c935aaf346d8ab9931d3cf932.png
35 welwel
 
05.12.19
23:00
(30) + или можно в призаписиконстанты в конец
Сообщить(значение) ;
Сообщить(статусвозврата ())
36 welwel
 
05.12.19
23:02
(34)Константа.ИзмСчетПриНаличПодчиненных=Значен;
такое в призаписи непозволительно
37 GreyK
 
05.12.19
23:02
(34) Удали и создай по новой.
38 2S
 
05.12.19
23:02
Амиго, а без этого кода тоже не меняется значение?
39 aka AMIGO
 
05.12.19
23:04
(36) Да..

(38) именно сыр-бор загорелся сегодня у главбушки, мол, торчит НЕТ, выбираю Да, в результате - Нет.. хоть ты тресни..
40 aka AMIGO
 
05.12.19
23:05
+39 вот я и стал экспериментировать с кодом.. Его не было
41 GreyK
 
05.12.19
23:05
(36) Попробовал, согласен.
42 2S
 
05.12.19
23:06
(39) обработкой пробовал поменять значение?
43 aka AMIGO
 
05.12.19
23:07
(35)
...
        Сообщить(Значен);
        Сообщить(СтатусВозврата());
    КонецЕсли;
КонецПроцедуры

В окне сообщений:
Да
1
44 aka AMIGO
 
05.12.19
23:08
(42) Нет, не пробовал.
Для начала, может удалить, да создать заново.. это тоже действенно иногда.
45 GreyK
 
05.12.19
23:09
(43) Не мучайся, в (36) ответ. А если не работает штатно, тогда (41) попробовать.
46 aka AMIGO
 
05.12.19
23:13
(42)
//*******************************************
Процедура Сформировать()
Константа.ИзмСчетПриНаличПодчиненных = Перечисление.Булево.Да;
КонецПроцедуры

Не меняет!..
47 aka AMIGO
 
05.12.19
23:14
(45) Мда.. Штатно не работает. Пробую удалить, хоть это и долго
48 welwel
 
05.12.19
23:14
(43) значит тогда можно попробовать (42)
Там (36) как раз можно
И до и после вставить
сообщить (константа.ИзмСчетПриНаличПодчиненных)
49 2S
 
05.12.19
23:16
Тип точно верный указан?
50 aka AMIGO
 
05.12.19
23:16
(49) Да..
51 welwel
 
05.12.19
23:17
Действительно, удалить может константу и скопировать с работающей нормально константы
52 GreyK
 
05.12.19
23:18
(46) А ты строчки в ПриЗаписиКонстанты заремил перед проверкой штатного режима?
53 aka AMIGO
 
05.12.19
23:19
(52) Да.
54 aka AMIGO
 
05.12.19
23:19
(51) Пробую.. минуточку, мужики..
55 welwel
 
05.12.19
23:20
(52) в (43) на выходе нормально так-то, не должно влиять
56 aka AMIGO
 
05.12.19
23:25
Блин.. Вот ведь! Работает!

удалил старую, создал новую - выбираются и Да и Нет - по-желанию..
Вот это глюк.. мой, видимо :)

Ладушки, мужики, спасибо огромное за участие, спокойной ночи вам!
Удачи всем! :))
57 Злопчинский
 
06.12.19
00:30
в таблице у тебя на эту константу - почемуто ДВЕ записи
при чтениии - показе - показывает
58 Злопчинский
 
06.12.19
00:31
(57) такой вариант можно использовать как защиту от несанкционированной смены настроек.
59 Злопчинский
 
06.12.19
00:31
при чтении - показывает значение из одной записи. а при записи - пишет в другую запись.
60 Злопчинский
 
06.12.19
02:55
(46) точно-точно... тихо похихикиваю...
61 victuan1
 
09.12.19
05:11
(56) Всё очень просто.
1cv7.dd и 1сv7.md от разных баз 1С.
Такое бывает, если где-то на стороне в копию мд-щника базы-донора была добавлена новая константа. А потом этот измененный мд-шник был скопирован в исходную базу 1С тупым копированием, а не через режим "Объединение конфигураций".
62 Злопчинский
 
09.12.19
14:47
(61) и как это влияет на сабж?
63 Kigo_Kigo
 
09.12.19
14:50
(61) (62) Да никак, Амиго пересоздавал ДД-шник, я так понял эта константа зависла в режиме редактирования
64 Ёпрст
 
09.12.19
14:56
(63) в словарике не хранятся значения констант
65 Ёпрст
 
09.12.19
14:57
а так, открыть 1sconst и посмотреть, что там, с этой константой на самом деле
66 Kigo_Kigo
 
09.12.19
15:12
(64) А причом тут словарик? в (61) говорит что в словарике дела, я ему сказал, что с самого начало - словарь пересоздали, я говорю про режим редактирования, попробуй войди в редактирования константы на одной машине, и попробуй ее отредактировать на другой, получишь (0), то есть подвис режим редактирования- как то
67 Злопчинский
 
09.12.19
22:33
то есть никто не обратил внимания и не проверил то что я написал...?
68 Cthulhu
 
10.12.19
00:11
внутренний ID завдоился. Две записи в таблице с таким ID. одну - меняет, другую - показывает. Нарывался на такой глюк в справочниках не раз. Исправлял успешно.
1) получи внутр.ID константы
2) скопируй таблиу коснстант "в сторону".
3) xBase-объектом перебери в копии таблицы (см.п.2) и посмотри чколько у тебя там таких ID-ов и как выглядят эти записи.
пп.1-3 можно повторить до-после изменения (в диалоге) и сравнить - что показывается а что изменяется. ну и можно в принципе ismarked в дубликатах установить и пометить на удаление...
69 Cthulhu
 
10.12.19
00:16
в (68) имеется ввиду - в дубликатах. оставив одну "кошерную" запись (в качестве "кошерной" может выступать в принципе любая из них)
прим.: кстати, подобный глюк чаще всего был отловлен при редактировании справочника дважды-трижды-подчиненного (точнее при записи в него новых элементов из обработки в процессе активного многопользовательского использования такой правки)... типа "инвентаризации" - подчиненный "пересчеты" - подчтиненный "пересчитанные ячейки" - подчиненный "посчитанная номенклатура" (тмц+кво)..... стараюсь избегать такого уже давно (и как показывает практика - правильно делаю)
70 fikuskaktus
 
12.12.19
07:48
(0) периодическая константа
71 fikuskaktus
 
12.12.19
07:49
.Установить(<Дата>,<Значение>)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn