Перестают Отображаться Документы

  • Автор темы Автор темы Dewa1s
  • Дата начала Дата начала
D

Dewa1s

День добрый уважаемые.
Несколько месяцев назад немного изменили форму документа (буквально добавили 1 поле с юнид документа и кнопку, которая открывает документ с соответствующим юнид).
После этого начало происходить прекрасное:
В представлении отображаются документы и ответные доки к ним.
В 6 утра отрабатывает агент, который проходит по рабочим заданиям и проверяет, сколько им осталось до конца, в поле "дней до окончания" уменьшает цифру на 1, сохраняет изменения и рассылает авторам отчеты. Агент работает с 2008 года и нареканий к нему небыло. С новым полем не взаимодействует ни как.
После пересохранения документов этим агентом все ответные документы, которые он обработал, пропадают из представления. Они остаются в базе, они видны в других представлениях, в них можно зайти, но как ответные доки они отображаться перестают везде. Поле $Ref присутствует и не изменяется.
Особенности:
1)Пропадают только документы, созданные день назад. Тобишь сегодня не отображаются вчерашние, завтра не будут отображаться сегодняшние.
2)Если ответные документы пересохранить - они начинают везде отображаться. Путем научного тыка было установлено, что при пересохранении к документам добавляется поле $Links, грешил на него, но в иерархии много ответных документов, у которых этого поля нет и которые нормально отображаются
3)А вот это из колеи выбивает окончательно: Если создать дубль этого представления(банальное ctrl+c & ctrl+v), и затем зайти в него - все документы видны нормально, однако завтра сегодняшние документы пропадут в обоих представлениях.

По этому шаблону работает несколько баз на нескольких разных серверах - везде появилась та же самая проблема после изменения формы.
Если проблема в форме - почему помогает пересохранение представления?
Если дело в представлении - почему на следующий день новые документы пропадают и в новом представлении, и в старом?
Сервак перезагружали, кэш чистили, шаблон обновляли\пересохраняли, базы новые по нему создавали - проблема остается во всех базах.
Подскажите, куда копать, кому звонить, на кого орать, что делать?

А, и еще пункт - пересохранение в ручную помогает 100%, однако пересохранение агентом - через раз. Бывает нужно 3-4 раза его запустить, прежде чем начнут отображаться все документы. Это дикий велосипед, жрущий тучу времени, однако пока что других решений данной проблемы не найдено...
 
компьютед би форм не делается перед сохранением
может кто-то изменил форму с основного на респонс на респонс?
 
Еще добавлю:В представлении в формуле отбора не используются манипуляции с полем $Ref?
Поле $RefOptions есть в документах или на форме?
 
Спасибо, что откликнулись.
ToxaRat, если вы имеете ввиду ComputeWithForm - изначально в агенте его небыло, после появления ошибки я пробовал добавить - не помогло, только агент начал в несколько раз медленнее выполняться.
OKEN, нет, формула отбора предельно простая - SELECT (form="firstdoc" | form="task" | form="outdoc" | form="secdoc")&delivereddate="", никаких хитрых манипуляций нет.
Есть несколько подобных шаблонов (разница буквально в несколько полей\столбцов в представлениях, под нужды разных дочерних предприятий делали), там абсолютно аналогичные формулы отбора и прочее - у них все нормально, проблема именно в базах, работающих на шаблоне с новой кнопкой.

Хотя когда я сейчас озвучил это все и сам же прочитал, вроде как становится очевидно, что свет клином именно на этой злополучной кнопке сходится. Мож конфликт какой, мож еще фигня какая-нить неведомая... Думаю, прежде чем доставать окружающих, все таки стоит сперва отправиться на поклон к начальству и попытаться их убедить хотя бы на денек разрешить мне её снести и попытаться восстановить все, как было.
Спасибо еще раз, порою выговориться бывает полезно, посмотрим, что получится...
 
индекс видов не вынесен на отдельный диск, там есть место, он не покоцан?
 
индекс видов не вынесен на отдельный диск, там есть место, он не покоцан?
только сегодня хотел отписаться :lovecodeby:
Проблема в данном случае действительно оказалась с индексами, вчера с утреца сам до этого допетрил, шифт+F9 и аналогичное действие на сервер-сайде помогает 100%, но только на сутки опять же.
Сегодня будем более тотально искать причину тупняка, но это уже хоть что-то.
Хотя все равно непонятно, почему тупят только базы с новым шаблоном, причем даже после того, как их откатили на старый шаблон... при этом если в другие базы внести изменения точь в точь как в новом шаблоне в ручную - тупняка нет, но если обновить по шаблону - тупняк есть и он останется, даже если шаблон откатить обратно на более старый.
 
Простите, наврал походу. Сейчас при мне сносили индексы у представления, базы и вообще все на сервере(sic!), включая полнотекстовые, и создавали заново - доки не появились.
Shift+F9 из клиента - все доки отобразились у всех клиентов.
Может просто у меня уже ум за разум заходит и я не туда свои ручки тяну? Какой самый кошерный способ выполнить аналог Shift+F9 для представления на стороне сервера?
 
Ну... есть еще Ctrl + Shift + F9, если не путаю. Обновление всех вьюх, но с клиента.
А на сервере.. Задача UpdateAll кажется.
 
пришла мысля - мобуть там формула отбора на время завязана
 
вот еще забавный факт из жизни нашего городка: Shift+F9 обновляет индексы и все нормально, а вот Ctrl+Shift+F9 эффекта никакого не дает вообще.
Давайте попробую подробнее расписать, как все выглядит - мож у меня глаз замылился и я чего не вижу...
Вот так выглядит база после перестройки представления:
original.JPG
Это, можно сказать, эталон, в котором отображаются все ответные доки.
А вот скрин из реплики этой же базы, в котором Шифт+Ф9 не запускался
replica.JPG
Пропали все ответные документы одного типа. остались только информашки, разница между ними и пропавшими - поле punkttype, которое является набором переключателей.
Теперь следим за руками - если зайти в дизайнер, открыть в нем это представление из реплики -
replica_editor.JPG
эта дрянь отображает все документы как надо.
При этом, не смотря на то, что на основной базе документы уже отображаются, на реплике они отображаться не будут в этом представлении ни завтра, ни послезавтра.
Теперь о представлении подробнее:
Последнее изменение представления датировано 2011 годом, формула отбора документов:
SELECT (form="firstdoc" | form="task" | form="outdoc" | form="secdoc")&delivereddate=""
Первый столбец, отвечающий за иконки:
@If(form="firstdoc"|form="secdoc"& express="1";124;form="task";@If(punkttype="1";37;punkttype="2";150;11);"")
- тоже ничего особо интересного
Второй столбец, отвечающий за ответные документы:
Код:
ttext1:=("КИ "+"; Автор: "+tasksigner+"; контрольный срок: "+@Text(@Date(dateto))+" ("+@Text(dayover)+")"):("Исполнитель: "+@If(otvisp!="";@Implode(otvisp:isp;",");@Implode(isp;","))):("Задание: "+subject):(@If(state="2";"ИСПОЛНЕН: "+@Text(@Date(completedate));"НА ИСПОЛНЕНИИ"));
ttext2:=("КИ "+"; Автор: "+tasksigner+" Дата: "+@Text(punktdate)):("Адресат: "+(@Implode(infoadresat;";"))):("Содержание: "+subject);
@If(form="task";@If(punkttype="3";ttext2;ttext1);("Док. №"+" "+docregnum+" от "+@Text(docregdate)):("Автор/(Адресат): "+@Implode(authorfio;";")+" ("+@Implode(adrfio;";")+")"):("Тема: "+subject))
Для справки - пробовал менять этот код на отображение одного поля без всякой логики - эффекта нуль.
Не уверен, что есть смысл показывать остальные столбцы - там вообще ничего интересного.
Обновили по шаблону 2 базы на разных серверах, создали эти злосчастные документы - на следующий день они не пропали. Разница между базами с пропадающими и непропадающими документами - в пропадающих создается много таких документов, в наших свежеобновленных же по 4-5 документов в день такого типа. Сегодня отработаем версию о связи пропадания документов с количеством подобных в базе - сделаем копию базы с пропадающими документами и копию нормальной, скопируем в них документы из косячной и создадим штук 5-10 новых. Посмотрим, чего получится...
 
Может вам пасхальное яйцо заложили с проверкой на изменение дизайна. Кто разработчик приложения?
На форме есть Readers поля? Какие у них значения? Посмотрите внимательно, что меняет агент. Смотрите все строки где есть = или ReplaceItemValue, AppendValue, New NotesItem
У вас случаем не два одноименных представления в базе?
 
В общем.
В среду снесли все индексы и создали заново - никакой реакции небыло.
В четверг я разразился постом выше, а начиная с пятницы проблема исчезла, хотя в четверг я кроме шифт+ф9 и ктрл+шифт+ф9 нихрена не жамкал. Хотя эти комбинации использовал и раньше и они не особо помогали.
Возможно рецептом исправления сей порнографии было удаление индексов + обновление всех представлений... еще пару дней надо понаблюдать, чтобы сказать точно...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!