Имя: Пароль:
1C
1С v8
Открывается старый вариант исправленного отчета/обработки.
0 GreyTim
 
04.05.15
15:53
Есть клиент-серверная 8.2. Делаем отчет/обработку в конфигураторе. Открываем в предприятии, все работает. Вносим какие-любо изменения в конфигураторе, открываем в предприятии повторно, и видим, что работает  предыдущий алгоритм. Можно добавить новую надпись на форму, при открытии ее не будет. Последний вариант отчета/обработки в конце концов каким-то непонятным образом отроется, хотелось бы узнать причины такого поведения.
1 Масянька
 
04.05.15
15:55
(0) Как открываешь?
2 МойКодУныл
 
04.05.15
15:56
Отчет внешний, или обновляетесь каждый раз?
Или кеш, или не обновили, или не переоткрыли.
3 GreyTim
 
04.05.15
15:59
(1) Файл - открыть.
4 GreyTim
 
04.05.15
16:00
(2) Отчет внешний, открываю банально через меню Файл.
5 Масянька
 
04.05.15
16:01
(3) Не из списка внешних? Именно через Файл - Открыть?
Тогда - точно открываешь сохраненный? Может быть копия?
6 МойКодУныл
 
04.05.15
16:02
(5) или не была закрыта предыдущая версия. Тогда он тупо переключается на нее, не перезагружая в память
7 GreyTim
 
04.05.15
16:04
(5) Открываю и именно указывая файл непосредственно и выбираю его из сохраненных путей. Результат одинаковый.
8 Масянька
 
04.05.15
16:05
(7) При открытии вставь сообщалку и проверь. ИМХО, просто не тот файл.
9 МойКодУныл
 
04.05.15
16:05
(7) Попробуй сохранить в файл с другим именем, посмотри что выйдет.
Или для чистоты  закрой сеанс 1С и открой заново. Может реально не закрываешь старую версию отчета в предприятии.
10 GreyTim
 
04.05.15
16:06
(6) Вообще закрывал, но, даже если так, то как сбросить на нужный вариант? В пятницу плюнул на эту хрень, вылезади не существующие ошибки из того самого предидущего варианта, сегодня пришел, открыл и все заработало. Ппц, блин.
11 GreyTim
 
04.05.15
16:07
(8) Так сообщалка может быть в коде, но не срабатывать собственно из-за сабжа.
(9) Переоткрывание ИНОГДА помагает.
12 GreyTim
 
04.05.15
16:09
Блин, я ожидал, что проблема известная. Жаль, что нет, значит,  я явно что-то упускаю...
13 Масянька
 
04.05.15
16:09
(11) А в самой базе ты его не сохраняешь (в списке внешних)?
14 GreyTim
 
04.05.15
16:12
(13) Нет. Речь идет про повседневные разработки. Написал, открыл-проверил. Подписал, открыл-проверил. Как-то так.
15 Рэйв
 
04.05.15
16:15
Два варианта.
1. Форму не закрыли-переоткрыли
2. Демоническому обновлению -слава!
16 GreyTim
 
04.05.15
16:18
(15) Да все может быть. Обычно самые неадекватные вещи рождаются из-за мелочей, которые упускаешь.
17 Рэйв
 
04.05.15
16:22
(16)Я тебе больше скажу:-)
Человек думающий от человека чавкающего тем и отличается, что "оказывсется он чтото не знает и это писец как интересно."
18 poligraf
 
04.05.15
16:22
(0) Лет много такое поведение изредка попадается.
На 8.2 точно уже было. На 8.1 не уверен.

Крайне редко. Но спасает только закрытие конфигуратора, предприятия и открытие заново.
Обработку лучше пару раз сохранить, но вроде потерь в ней я не замечал.

Грешу на кэш системы, 1С вроде как ни при чем...
19 GreyTim
 
04.05.15
16:29
(18) Уффф, ну, хоть у кого-то тоже это было )) Да закрытие/открытие всего зачастую помагает. И есть такой момент, что полезно делать небольшую паузу между нажатием на "Записать" и открыванием обработки. Походу имеет место быть процесс записи-компиляции. Это так, то, что замечал.
20 Рэйв
 
04.05.15
16:37
(19)Пентаграммы рисовать не пробовали?
21 Defender aka LINN
 
04.05.15
16:55
(0) УФ?
22 МойКодУныл
 
04.05.15
16:55
Чудес не бывает. Или действительно глючит винда, чего не замечал, или все дело в волшебных пузырьках.

Замечал, что отчеты, написанные на шаблоне типового отчета с ИТС, (старом, для толстых форм) глючат. Там форма больно мудреная и много чего кэшируется\сохраняется в настройках пользователя походу. Тогда помогает переименовать отчет(Имя отчета, не файла), типа кеш сбрасывается.
23 ДенисЧ
 
04.05.15
16:59
На УФ такое замечал.
Лечил или перезапуском 1с, или нажатием 5-7 раз Ctrl-S
24 GreyTim
 
04.05.15
17:10
(21) Да
25 GreyTim
 
04.05.15
17:12
(23) Спасибо. На счет 5-7 раз записать, тоже замечал.
26 Фрэнки
 
04.05.15
17:28
Для себя нашел очень простое лечение такого "глюка" - а это глючит кэш, который создает платформа.

Решение: всегда записывать изменяемый отчет или обработку в "Дополнительные внешние отчеты/обработки"
При попытке открывать этот отчет, всякий раз в момент выполнения процедуры, файл с отчетом/обработкой копируется во временный файл на машину клиента с новым именем-индентификатором файла (генерит это имя сама платформа через метод). С таким "перезапускаемым" файлом никаких проблем в кэше не бывает - уникальное имя спасает.
27 Любопытная
 
04.05.15
17:31
(25) Главное - не сохранять изменения в момент отладки. Или по окончании отладки пересохранять еще раз. Этого обычно хватает. С отчетами хуже, особенно если в предприятии изменили вариант и сохранили его. Тут иногда приходится перезаписывать отчет на новое место с изменением имени отчета. Ну или можно просто кэш почистить конечно, но тогда все настройки сбросятся вроде как. Делать это ради одного отчета не всегда хорошо
28 Фрэнки
 
04.05.15
17:33
(25) да просто каждый раз меняй имя файла отчета/обработки, если не хочешь сохранять его во внешние.
29 Фрэнки
 
04.05.15
17:35
(27) Я в справочник для "Дополнительных внешних..." сохраняю. Уникальность при открытии отчета предусмотрена теми, кто разработал процедуры запуска отчета из этого справочника
30 DJ Anthon
 
04.05.15
18:07
два раза сохраняй, известный глюк. сохраняй с добавлением-удалением символа.
31 DJ Anthon
 
04.05.15
18:08
просто проходит через кэш за два шага, лично мне так кажется. когда писал об этом глюке лет пять назад, меня назвали идиотом. выскакивает редко, закономерностей не вижу.
32 Serg_1960
 
04.05.15
18:09
(0) Шутки кэша известные как перекрестные/взаимные/циклические ссылки.

Наиболее характерная ошибка - передача куда-либо ссылок на форму или элементы формы. И не надо забывать, что закрытие экранной формы вовсе не означает её удаление из памяти. Объекты существуют в памяти (и повторно используются) пока есть ссылки на них в других объектах
33 DJ Anthon
 
04.05.15
18:11
(32) вопрос в том, что найти эти объекты крайне трудно. и в 1С могли бы убрать тупые неинформативные диалоги при обновлении типа "существуют объекты блаблабла". нет бы их список вывести, у нас так-то и нормальные мониторы могут быть, не только 800-600. и звук на окончание любой операции добавить.
34 Serg_1960
 
04.05.15
18:15
Их не надо искать далеко :) Циклические ссылки создаются и используются в самой обработке (это логично, ибо это ведь она застревает в кэше). Решение, кстати, тоже давно рекомендовано: принудительная очистка всех переменных со ссылочными значениями после их использования (при выходе из процедур и функций).
35 DJ Anthon
 
04.05.15
18:17
(34) они могут остаться в объектах конфигурации, внутренних кэшах и т. д.
36 Serg_1960
 
04.05.15
18:24
(35) Могут и остаются (эффект утечки памяти). Но наша задача не устранение всех пороков платформы, а куда более скромнее - очистить используемые ссылки в конкретной обработке. Этого, как правило, достаточно.
37 Любопытная
 
04.05.15
18:25
(29) Каждый раз подключать - это долго. Проще через файл-открыть, пока оно на стадии допиливания находится, а потом уже окончательную версию в базу запихивать
38 mikeA
 
04.05.15
20:20
(30) лучше не символа, а строки, можно пустой
39 Defender aka LINN
 
04.05.15
20:26
(24) Тогда боян.
1. Закрываем обработку в Предприятии.
2. Сохраняем в Конфигураторе.
...
PROFIT!!!

При нарушении последовательности имеем (0)
40 DJ Anthon
 
05.05.15
13:27
(39) да ладно. и закрывая обработку, я напарывался на такую хрень. редко, правда..
41 mistеr
 
05.05.15
14:07
(32) +1

И другой случай, когда бывает (0): Конфигуратор запущен под админом, а Предприятие - нет. Или наоборот.
42 Einzelhaft
 
05.05.15
14:11
Было такое когда открывал с ресурса на сетевом диске, на котором включены автономные файлы. И кэш неплохо бы почистить.
Ошибка? Это не ошибка, это системная функция.