Странное поведение ЗУП в SQL-ном варианте
Добрый день!
Имеем ЗУП.3.1.8.246. В SQL-ной базе странности - не работает документ Отпуск - выдает ошибку.
Документ ""Отпуск" - закладка "Дополнительные отпуска" - устанавливаем "V" "Предоставить дополнительный отпуск" - и далее ошибка: Поле объекта не обнаружено.
Если разбираться, то проблема возникает в процедуре
&НаКлиенте
Процедура ДополнительныйОтпускПриИзменении(Элемент)
ОсновнойИлиДополнительныйОтпускПриИзмененииНаСервере();
ВыполнитьРасчетИПерезаполнениеНачислений();
КонецПроцедуры
При выполнении первой строки ОсновнойИлиДополнительныйОтпускПриИзмененииНаСервере(); выдается ошибка.
При этом эту же базу, загружаю в файловую базу - и там все работает.
Это было вчера!
И далее... продолжение... сегодня прихожу на работу - начинаю разбираться в проблеме - а документ уже отрабатывает корректно (при чем во всех SQL-ных базах, в которых вчера еще не работало)... Что это может быть?
загадка какая-то...
Имеем ЗУП.3.1.8.246. В SQL-ной базе странности - не работает документ Отпуск - выдает ошибку.
Документ ""Отпуск" - закладка "Дополнительные отпуска" - устанавливаем "V" "Предоставить дополнительный отпуск" - и далее ошибка: Поле объекта не обнаружено.
Если разбираться, то проблема возникает в процедуре
&НаКлиенте
Процедура ДополнительныйОтпускПриИзменении(Элемент)
ОсновнойИлиДополнительныйОтпускПриИзмененииНаСервере();
ВыполнитьРасчетИПерезаполнениеНачислений();
КонецПроцедуры
При выполнении первой строки ОсновнойИлиДополнительныйОтпускПриИзмененииНаСервере(); выдается ошибка.
При этом эту же базу, загружаю в файловую базу - и там все работает.
Это было вчера!
И далее... продолжение... сегодня прихожу на работу - начинаю разбираться в проблеме - а документ уже отрабатывает корректно (при чем во всех SQL-ных базах, в которых вчера еще не работало)... Что это может быть?
загадка какая-то...
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) ошибка переключалась на код в общем модуле "ОбщегоНазначенияБЗК"
// Получение значения свойства объекта по полному пути к данным.
//
// Параметры:
// Объект - Произвольный - Форма, объект справочника, документа и т.п..
// ПутьКДанным - Строка - Например, для формы может быть: "Объект.Ссылка".
//
// Возвращаемое значение:
// Произвольный - Полученное значение.
// "ТекущиеДанныеТаблицыНедоступныНаСервере" - если при обходе возникла ошибка "Текущие данные таблицы недоступны на сервере".
//
Функция ЗначениеРеквизитаПоПутиКДанным(Объект, ПутьКДанным) Экспорт
МассивИмен = СтрРазделить(ПутьКДанным, ".");
ВГраница = МассивИмен.ВГраница();
Коллекция = Объект;
Для Индекс = 0 По ВГраница - 1 Цикл
Коллекция = Коллекция[МассивИмен[Индекс]];
Если ТипЗнч(Коллекция) = Тип("ТаблицаФормы") И ВРег(МассивИмен[Индекс+1]) = ВРег("ТекущиеДанные") Тогда
Возврат "ТекущиеДанныеТаблицыНедоступныНаСервере"; // Обход ошибки "Текущие данные таблицы недоступны на сервере".
КонецЕсли;
КонецЦикла;
Возврат Коллекция[МассивИмен[ВГраница]];
КонецФункции
переходила на строку Возврат Коллекция[МассивИмен[ВГраница]];
как-будто Элемент не может найти ПутьКДанным?
// Получение значения свойства объекта по полному пути к данным.
//
// Параметры:
// Объект - Произвольный - Форма, объект справочника, документа и т.п..
// ПутьКДанным - Строка - Например, для формы может быть: "Объект.Ссылка".
//
// Возвращаемое значение:
// Произвольный - Полученное значение.
// "ТекущиеДанныеТаблицыНедоступныНаСервере" - если при обходе возникла ошибка "Текущие данные таблицы недоступны на сервере".
//
Функция ЗначениеРеквизитаПоПутиКДанным(Объект, ПутьКДанным) Экспорт
МассивИмен = СтрРазделить(ПутьКДанным, ".");
ВГраница = МассивИмен.ВГраница();
Коллекция = Объект;
Для Индекс = 0 По ВГраница - 1 Цикл
Коллекция = Коллекция[МассивИмен[Индекс]];
Если ТипЗнч(Коллекция) = Тип("ТаблицаФормы") И ВРег(МассивИмен[Индекс+1]) = ВРег("ТекущиеДанные") Тогда
Возврат "ТекущиеДанныеТаблицыНедоступныНаСервере"; // Обход ошибки "Текущие данные таблицы недоступны на сервере".
КонецЕсли;
КонецЦикла;
Возврат Коллекция[МассивИмен[ВГраница]];
КонецФункции
переходила на строку Возврат Коллекция[МассивИмен[ВГраница]];
как-будто Элемент не может найти ПутьКДанным?
А само поле реально есть в конфигурации?
Не уверен что ошибка связана именного клиент серверной версией.
Не пробовали выгрузить в *.dt и развернуть непосредственно файловую базу и проверить то же самое.
Если ошибка выпадет аналогичная, то советую отладчиком поглядеть что программа там не находит. Можно кстати попробовать поставить обновление, и внимательно проверить при обновлении именно объекты которые относятся к данной ошибке, возможно некоторые реквизиты при обновлении не включаются в объединение
Не уверен что ошибка связана именного клиент серверной версией.
Не пробовали выгрузить в *.dt и развернуть непосредственно файловую базу и проверить то же самое.
Если ошибка выпадет аналогичная, то советую отладчиком поглядеть что программа там не находит. Можно кстати попробовать поставить обновление, и внимательно проверить при обновлении именно объекты которые относятся к данной ошибке, возможно некоторые реквизиты при обновлении не включаются в объединение
(2) именно так и делали. Выгрузила в dt - загрузила локально в файловую базу - там все работает!
Повторила процедуру с серверной базой - загрузила в нее из того же dt - ошибка проявляется.
Ушла домой в раздумьях. Сегодня прихожу. Начинаю разбираться - работает во всех базах!!! Что это было?
Повторила процедуру с серверной базой - загрузила в нее из того же dt - ошибка проявляется.
Ушла домой в раздумьях. Сегодня прихожу. Начинаю разбираться - работает во всех базах!!! Что это было?
(7) кто и что делал с этой базой - я не в курсе - первый раз ее вижу. Но говорят, что раньше все работало, а вчера вот проблема проявилась. И так интересно: сделали SQL-копию рабочей базы - в ней ошибка тоже проявилась. в файловой базе - ошибка не проявляется.
Утром перегружали агента SQL - видимо, это помогло!!!!
Утром перегружали агента SQL - видимо, это помогло!!!!
(15)
Взглянул я на ваш скрипт. Скрипт снесет содержимое двух папок(%AppData%\1C\1Cv8; %LOCALAPPDATA%\1C\1Cv8), прихватив с собой дефолтную папку tmplts (AppData\Roaming\1C\1cv8\tmplts), в которую 80% ставят шаблоны обновлений конфигурация, да и для кучи настройки пользователя в самой 1с. Дело конечно ваше, но к использованию не советовал бы.
Взглянул я на ваш скрипт. Скрипт снесет содержимое двух папок(%AppData%\1C\1Cv8; %LOCALAPPDATA%\1C\1Cv8), прихватив с собой дефолтную папку tmplts (AppData\Roaming\1C\1cv8\tmplts), в которую 80% ставят шаблоны обновлений конфигурация, да и для кучи настройки пользователя в самой 1с. Дело конечно ваше, но к использованию не советовал бы.
Да сразу оговорюсь что чистится кэш того пользователя из под которого запускается данный скрипт
Прикрепленные файлы:
83 - ОчисткаКеша.bat
(28) Чудес не бывает. Вариантов несколько.
1. В клиент-серверном варианте и в файловом по разному отрабатываются модули. Если бы было криво написано - база так и не ожила бы. Значит не оно.
2. Залипший кэш 1С. Все указывает на него. Но - перезагрузка агента скуля повлияла бы на него чуть менее, чем никак.
Релиз достаточно свежий. Версия платформы свежая?
3. Какой-то залипший кэш SQL? Не сталкивался, ну да каких только чудес не бывает? Но почему он влиял и на другую скульную базу?
4. Я бы поставил на какую-то багу в управлямой форме, которую создал или пользователь или все-же есть какой-то программист.
1. В клиент-серверном варианте и в файловом по разному отрабатываются модули. Если бы было криво написано - база так и не ожила бы. Значит не оно.
2. Залипший кэш 1С. Все указывает на него. Но - перезагрузка агента скуля повлияла бы на него чуть менее, чем никак.
Релиз достаточно свежий. Версия платформы свежая?
3. Какой-то залипший кэш SQL? Не сталкивался, ну да каких только чудес не бывает? Но почему он влиял и на другую скульную базу?
4. Я бы поставил на какую-то багу в управлямой форме, которую создал или пользователь или все-же есть какой-то программист.
(30) платформа 8.3.12. Дело в том, что все рабтало! И вдруг - перестало. При этом, как говорят, никто ничего с базой не делал. Документ тот же самый остался - но вчера он не работал, а сегодня - он же - заработал! Т.е. неправильный код - отпадает: а ночью никто не менял код - точно!
вот на кэш SQL - больше всего подозрений.... Может при копировании базы SQL - копируется и кэш????
вот на кэш SQL - больше всего подозрений.... Может при копировании базы SQL - копируется и кэш????
было тоже самое на допотпусках в релизах этом же и ниже. чистили кешу перезаписывали виды начислений по допотпускам, причем перещелкиванием в закладке где налоги описываются - помогало, после очередного обновления опять вылезало.
пока не определилась это баг или фича или индусские криворукие програмеры.
зачем столько теложвижений для кешы? в доппараметрах запуска 1с /Clearcache достаточно.
пока не определилась это баг или фича или индусские криворукие програмеры.
зачем столько теложвижений для кешы? в доппараметрах запуска 1с /Clearcache достаточно.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот