Имя: Пароль:
1C
1С v8
Волшебная синтаксическая ошибка
0 Frida171186
 
11.02.19
15:49
Ребята! Хелп! сил больше уже нет. после обновления платформы на самописной конфе у разных пользователей в разное время вылезает синтаксическая ошибка. Вот функция, открывается по запросу из процедуры ПриОткрытии формы элемента справочника:

&НаСервереБезКонтекста
Функция ПроверитьНаличиеДействующихДМС(Пациент)
    РезультатПроверки = Новый Структура;
        
    ПроверкаВСписке = Новый запрос;
    ПроверкаВСписке.Текст =
     "ВЫБРАТЬ
     |    СпискиПациентовДМССрезПоследних.СтраховаяКомпания,
     |    СпискиПациентовДМССрезПоследних.Договор,
     |    СпискиПациентовДМССрезПоследних.СтраховаяПрограмма Как Программа,
     |    СпискиПациентовДМССрезПоследних.Пациент
     |ИЗ
     |    РегистрСведений.СпискиПациентовДМС.СрезПоследних(&ТД, ) КАК СпискиПациентовДМССрезПоследних
     |ГДЕ
     |    СпискиПациентовДМССрезПоследних.Включен
     |    И СпискиПациентовДМССрезПоследних.Пациент = &Пациент";
    ПроверкаВСписке.УстановитьПараметр("ТД",ТекущаяДата());
    ПроверкаВСписке.УстановитьПараметр("Пациент",Пациент);
    
    Рез = ПроверкаВСписке.Выполнить().Выгрузить();
    
РезультатПроверки.Вставить("ЕстьВСпискахПрикрепленных",Рез.Количество()>0);
...

Вот в этом куске РегистрСведений.СпискиПациентовДМС.СрезПоследних(&ТД, ) КАК СпискиПациентовДМССрезПоследних просто не читает ".С". До этого бывало и в других местах в документах и обработках, просто не читает некоторые буквы в коде.

Куда бы ковырнуть? мы уже все перепробовали. Спасает только перепечатать нечитаемое слово и динамически обновить. В конфе работает одновременно около 100 и более пользователей
1 Frida171186
 
11.02.19
15:54
Сама ошибка https://yadi.sk/i/TmoH7C2zxYeXzA
2 Волшебник
 
11.02.19
15:55
чистить кэш
3 Frida171186
 
11.02.19
15:56
(2) чистили. не помогает. чистили штатно у пользователей, продолжает вылезать. даже массовая очистка по компам при включении. через некоторое время выскакивает снова.
4 Волшебник
 
11.02.19
15:57
(3) Плохо чистили кэш!!!
5 Волшебник
 
11.02.19
15:57
Правильная очистка кэша производится в трёх местах. В трёх!
6 Frida171186
 
11.02.19
15:58
не помогает ни очистка кэша, ни переустановка платформы заново, может пропасть сама, если не открывать эти объекты минут 10, например
7 Frida171186
 
11.02.19
15:58
(5) назовите третий, если я что не понимаю. кеш очищен на сервере, и на клиенте в двух местах
8 Волшебник
 
11.02.19
16:13
rmdir "%AppData%\1C\1Cv8" /S /Q
    rmdir "%LOCALAPPDATA%\1C\1Cv8" /S /Q
    rmdir "%AppData%\1C\1Cv82" /S /Q
    rmdir "%LOCALAPPDATA%\1C\1Cv82" /S /Q
9 Frida171186
 
11.02.19
16:20
(8) спасибо, но с XP мы давно не работаем
10 Cyberhawk
 
11.02.19
16:21
Автор баклан какой-то. Ему готовый рецепт дают, он про какую-то ХР хрень порет, показывая свое невежество ))
11 Frida171186
 
11.02.19
16:22
(10) если вы про тот "батничек", то подобный мы уже запускали - НЕ ПОМОГАЕТ
12 Cyberhawk
 
11.02.19
16:24
Может кряк на очередном новом релизе платформы такой баг дает?
13 Cyberhawk
 
11.02.19
16:24
Или там буква C на латинском
14 sergeyspb13
 
11.02.19
16:26
... мы уже все перепробовали. Спасает только перепечатать нечитаемое слово и динамически обновить. В конфе работает одновременно около 100 и более пользователей

так может еще не обновилась
15 Frida171186
 
11.02.19
16:28
(12) у нас нет кряков, лицензия. Буквы все русские
16 Cyberhawk
 
11.02.19
16:28
Обновить нединамически и с ключом -Dynamic-
17 Frida171186
 
11.02.19
16:29
(14) не обновилось что конкретно то?( Обновление конфы проходит практически каждый день в нерабочее время. Выполняли тестирование и исправление. Все возможные способы уже перепробовали
18 Frida171186
 
11.02.19
16:30
(16) а после этого почистить всем кэш?
19 palsergeich
 
11.02.19
17:15
Самый простой и тупой способ - скопировать форму / модуль.
Старый объект удалить, новый назвать как старый.
Внутренние id поменяются, по идее если это кеш - должно уйти.
Но я сколько работаю ни разу такой ошибки не видел. Может таки платформа?
20 timurhv
 
11.02.19
17:16
Приплыли, мне кажется, я теперь все баги платформы видел :) (0) Какая версия 1С, SQL?
21 kofeinik
 
11.02.19
17:27
У меня периодически всплывало подобное, но редко, и чистка кэша тут не помогает. Комментирую строку, потом через какое-то время убираю комментарий. Сама ошибка в модуле менеджера справочника, а вылезало при обмене РИБ. Проявлялось на платформе 2580, сейчас второй месяц на 1644, пока ни разу не было. Конфа - нетленка на бсп.
22 Aswed
 
11.02.19
17:41
(9) УбилоНах))))))))))))))))))))))
23 Nyoko
 
11.02.19
18:03
открой в конструкторе запрос и сохрани еще раз
24 Frida171186
 
11.02.19
18:39
(20) платформа 1644, sql 2016, а конкретно какая я не помню сейчас
25 Frida171186
 
11.02.19
18:39
(21) у нас сейчас как раз 1644
26 Frida171186
 
11.02.19
18:40
(19) проблема в том, что объектов в этом справочнике около 200т, страшно так экспериментировать
27 Frida171186
 
11.02.19
18:41
(22) зато посмеялись)))
28 palsergeich
 
11.02.19
19:48
(26) Так это модуль формы а не реквизит справочника.
29 palsergeich
 
11.02.19
19:48
Даже реструктуризации не будет
30 RomaH
 
naïve
12.02.19
07:17
(0) а код символа какой?
(25) РИБ - есть?
никого не обидели?
если не баг платформы (или ОС) - то как можно символ поменять на другой? - напрямую в таблицах SQL
или выгрузкой/загрузкой конфы в файлы
31 dmpl
 
12.02.19
07:34
С железом все в порядке? Серверов сколько?
32 Frida171186
 
12.02.19
07:59
(31) один сервер 1с, и отдельный сервер sql. пробовали переносить базу данных на отдельный sql сервер, не помогло (раньше было все на одном серваке)
33 Кондидат В
 
12.02.19
08:06
А использовать англ. синонимы не поможет? (знаю, что костыль)
34 Frida171186
 
12.02.19
08:09
(30) Если вы имеете в виду ASCII, то в данном случае не читается .С, значит 46 и 145. Если я вас не правильно поняла -подскажите, что имелось в виду. РИБ нет, все пользователи с рабочих мест подключаются в одну базу. никого не обижали))) вариант загрузки-выгрузки в файлы пока не пробовали, спасибо за идею. ошибка началась после обновления на 1513 (т.е. вроде как уже с С++ runtime library), переход на 1644 не помог, готовимся обновить на 8.3.14.1565
35 Frida171186
 
12.02.19
08:16
(33) т.е. вместо СрезПоследних написать SliceLast?
36 Кондидат В
 
12.02.19
08:18
(35) да
37 Кондидат В
 
12.02.19
08:19
+(36) ну и коммент написать для будущих поколений, почему так :-P
38 RomaH
 
naïve
12.02.19
08:20
(34) имел в виду - скопировать текст
РегистрСведений.СпискиПациентовДМС.СрезПоследних(&ТД, )
когда там ошибка (до перебивки)
и посмотреть коды символов
не предположить "значит 46 и 145." - а программно преобразовать
39 Frida171186
 
12.02.19
08:20
(37) сейчас попробуем)
40 dmpl
 
12.02.19
08:41
Кстати, поле Пациент разве не измерение? Почему оно не в параметрах виртуальной таблицы?
41 RomaH
 
naïve
12.02.19
08:58
(40) - это самый простой вопрос

мы пришли к тому, что срез последних в этом РС вообще не нужен (история не нужна)
хранится только текущее состояние
42 cons24
 
12.02.19
10:18
И на хрена тогда вызывать срезпоследних?!
43 Frida171186
 
12.02.19
10:30
(42) выше представленный текст к моему вопросу никакого отношения не имеет
44 Windyhead
 
12.02.19
10:44
(34) У меня на  Платформе 8.3.13.1513 и Ут 11.4 творилась какая то необъяснимая мистика, промучался неделю , откатился на 8.3.12.1714 и все шикарно работает.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой