I have one form in a PHP (5.2.9-1) application that causes IIS (Microsoft-IIS/6.0) to throw the following error when POSTed:
The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access.
It’s an HTTP 405 status code. All other forms in the application work, so I believe that the IIS ‘verbs’ setting for PHP pages is correct.
This is a customer’s server, which I have no access to for verifying settings or testing code. All I can do is send the customer replacement files. Other customers on IIS servers have no such issue.
The form is perfectly straightforward:
<form method="post" action="index.php">
... fields ...
</form>
What can cause IIS to throw that error on one form only, but work fine on others?
hakre
189k51 gold badges426 silver badges824 bronze badges
asked Sep 9, 2009 at 14:50
I managed to get FTP access to the customer’s server and so was able to track down the problem.
After the form is POSTed, I authenticate the user and then redirect to the main part of the app.
Util::redirect('/apps/content');
The error was occurring not on the posting of the form, but on the redirect immediately following it. For some reason, IIS was continuing to presume the POST method for the redirect, and then objecting to the POST to /apps/content
as it’s a directory.
The error message never indicated that it was the following page that was generating the error — thanks Microsoft!
The solution was to add a trailing slash:
Util::redirect('/apps/content/');
IIS could then resolve the redirect to a default document as is no longer attempting to POST to a directory.
answered Sep 10, 2009 at 9:50
drewmdrewm
1,9731 gold badge15 silver badges22 bronze badges
I am deploying VB6 IIS Applications to my remote dedicated server with 75 folders. The reason I was getting this error is the Default Document was not set on one of the folders, an oversight, so the URL hitting that folder did not know which page to server up, and thus threw the error mentioned in this thread.
Mike G
4,1829 gold badges45 silver badges65 bronze badges
answered Jun 10, 2011 at 10:39
Boyd WhiteBoyd White
711 silver badge1 bronze badge
The acceptable verbs are controlled in web.config (found in the root of the website) in <system.web><httpHandlers>
and possibly <webServices><protocols>
. Web.config will be accessible to you if it exists. There is also a global server.config which probably won’t. If you can get a look at either of these you may get a clue.
The acceptable verbs can differ with the content types — have you set Content-type headers in your page at all ? (i.e. if your Content-type was application/json then different verbs would be allowed)
answered Sep 9, 2009 at 15:11
AndiihAndiih
12.2k10 gold badges55 silver badges88 bronze badges
2
I don’t know why but its happened when you submit a form inside a page to itself by the POST
method.
So change the method="post"
to method="get"
or remove action="anyThings.any"
from your <form>
tag.
Mark Ursino
31k11 gold badges50 silver badges83 bronze badges
answered Feb 29, 2012 at 19:26
BobbyBobby
291 bronze badge
1
It sounds like the server is having trouble handling POST requests (get and post are verbs). I don’t know, how or why someone would configure a server to ignore post requests, but the only solution would be to fix the server, or change your app to use get requests.
answered Sep 9, 2009 at 14:56
0
We just ran into this same issue. Our Cpanel has expanded from PHP only to PHP and .NET and defaulted to .NET.
Log in to you Cpanel and make sure you don’t have the same issue.
answered Aug 10, 2018 at 18:51
I had this issue with a facebook application that I was developing for a fan page tab. If anyone faces this issue with a facebook application then
1-goto https://developers.facebook.com
2-select the application that you are developing
3-make sure that all the link to your application has tailing slash /
my issue was in the https://developers.facebook.com->Apps->MYAPPNAME->settings->Page Tab->Secure Page Tab URL, Page Tab Edit URL, Page Tab URL
hope this will help
answered Apr 3, 2014 at 9:49
WaqlehWaqleh
9,5318 gold badges64 silver badges102 bronze badges
As drewm himself said this is due to the subsequent redirect after the POST to the script has in fact succeeded. (I might have added this as a comment to his answer but you need 50 reputation to comment and I’m new round here — daft rule IMHO)
BUT it also applies if you’re trying to redirect to a page, not just a directory — at least it did for me. I was trying to redirect to /thankyou.html. What fixes this is using an absolute URL, i.e. http://example.com/thankyou.html
answered Sep 11, 2014 at 8:40
Doug McLeanDoug McLean
1,27912 silver badges26 bronze badges
i had to change my form’s POST to a GET. i was just doing a demo post to an html page, on a test azure site. read this for info: http://support.microsoft.com/kb/942051
answered Feb 25, 2015 at 19:53
An additional possible cause.
My HTML page had these starting tags:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
This was on a page that using the slick jquery slideshow.
I removed the tags and replaced with:
<html>
And everything is working again.
answered Sep 8, 2015 at 16:43
John MJohn M
14k29 gold badges89 silver badges139 bronze badges
I have one form in a PHP (5.2.9-1) application that causes IIS (Microsoft-IIS/6.0) to throw the following error when POSTed:
The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access.
It’s an HTTP 405 status code. All other forms in the application work, so I believe that the IIS ‘verbs’ setting for PHP pages is correct.
This is a customer’s server, which I have no access to for verifying settings or testing code. All I can do is send the customer replacement files. Other customers on IIS servers have no such issue.
The form is perfectly straightforward:
<form method="post" action="index.php">
... fields ...
</form>
What can cause IIS to throw that error on one form only, but work fine on others?
hakre
189k51 gold badges426 silver badges824 bronze badges
asked Sep 9, 2009 at 14:50
I managed to get FTP access to the customer’s server and so was able to track down the problem.
After the form is POSTed, I authenticate the user and then redirect to the main part of the app.
Util::redirect('/apps/content');
The error was occurring not on the posting of the form, but on the redirect immediately following it. For some reason, IIS was continuing to presume the POST method for the redirect, and then objecting to the POST to /apps/content
as it’s a directory.
The error message never indicated that it was the following page that was generating the error — thanks Microsoft!
The solution was to add a trailing slash:
Util::redirect('/apps/content/');
IIS could then resolve the redirect to a default document as is no longer attempting to POST to a directory.
answered Sep 10, 2009 at 9:50
drewmdrewm
1,9731 gold badge15 silver badges22 bronze badges
I am deploying VB6 IIS Applications to my remote dedicated server with 75 folders. The reason I was getting this error is the Default Document was not set on one of the folders, an oversight, so the URL hitting that folder did not know which page to server up, and thus threw the error mentioned in this thread.
Mike G
4,1829 gold badges45 silver badges65 bronze badges
answered Jun 10, 2011 at 10:39
Boyd WhiteBoyd White
711 silver badge1 bronze badge
The acceptable verbs are controlled in web.config (found in the root of the website) in <system.web><httpHandlers>
and possibly <webServices><protocols>
. Web.config will be accessible to you if it exists. There is also a global server.config which probably won’t. If you can get a look at either of these you may get a clue.
The acceptable verbs can differ with the content types — have you set Content-type headers in your page at all ? (i.e. if your Content-type was application/json then different verbs would be allowed)
answered Sep 9, 2009 at 15:11
AndiihAndiih
12.2k10 gold badges55 silver badges88 bronze badges
2
I don’t know why but its happened when you submit a form inside a page to itself by the POST
method.
So change the method="post"
to method="get"
or remove action="anyThings.any"
from your <form>
tag.
Mark Ursino
31k11 gold badges50 silver badges83 bronze badges
answered Feb 29, 2012 at 19:26
BobbyBobby
291 bronze badge
1
It sounds like the server is having trouble handling POST requests (get and post are verbs). I don’t know, how or why someone would configure a server to ignore post requests, but the only solution would be to fix the server, or change your app to use get requests.
answered Sep 9, 2009 at 14:56
0
We just ran into this same issue. Our Cpanel has expanded from PHP only to PHP and .NET and defaulted to .NET.
Log in to you Cpanel and make sure you don’t have the same issue.
answered Aug 10, 2018 at 18:51
I had this issue with a facebook application that I was developing for a fan page tab. If anyone faces this issue with a facebook application then
1-goto https://developers.facebook.com
2-select the application that you are developing
3-make sure that all the link to your application has tailing slash /
my issue was in the https://developers.facebook.com->Apps->MYAPPNAME->settings->Page Tab->Secure Page Tab URL, Page Tab Edit URL, Page Tab URL
hope this will help
answered Apr 3, 2014 at 9:49
WaqlehWaqleh
9,5318 gold badges64 silver badges102 bronze badges
As drewm himself said this is due to the subsequent redirect after the POST to the script has in fact succeeded. (I might have added this as a comment to his answer but you need 50 reputation to comment and I’m new round here — daft rule IMHO)
BUT it also applies if you’re trying to redirect to a page, not just a directory — at least it did for me. I was trying to redirect to /thankyou.html. What fixes this is using an absolute URL, i.e. http://example.com/thankyou.html
answered Sep 11, 2014 at 8:40
Doug McLeanDoug McLean
1,27912 silver badges26 bronze badges
i had to change my form’s POST to a GET. i was just doing a demo post to an html page, on a test azure site. read this for info: http://support.microsoft.com/kb/942051
answered Feb 25, 2015 at 19:53
An additional possible cause.
My HTML page had these starting tags:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
This was on a page that using the slick jquery slideshow.
I removed the tags and replaced with:
<html>
And everything is working again.
answered Sep 8, 2015 at 16:43
John MJohn M
14k29 gold badges89 silver badges139 bronze badges
Путеводитель: Часть 1. Вступление ● Часть 2. Речевой барьер ● Часть 3. Ошибки в формах ● Часть 4. Ошибки на сервере ● Часть 5. Рука помощи
01 Важным элементом взаимодействия сайта с пользователем являются формы ввода данных (или просто формы), а также отдельные их элементы. Форма может быть представленна одной кнопкой OK или же целым набором текстовых полей, списков выбора, чекбоксов и радиобаттанов. Сегодня я буду говорить именно о втором случае, когда элементов много.
«Хорошая форма — это форма, которая заполняется быстро и легко, даже если в ней много элементов»
02 Что представляет из себя хорошая форма? Хорошая форма — это форма, которая заполняется быстро и легко, даже если в ней много элементов. Быстрота заполнения формы зависит от того, насколько хорошо пользователь понимает, как её заполнять. Это сравнимо с заполнением бланков в какой-нибудь организации. Только, если в случае с бумажками, вам помогает красивая девушка, то здесь должна помоч правильная подача ошибок и их предотвращение.
03 Я разделяю все формы на активные и пассивные. Отличие этих форм в том, что активные сразу предупреждают пользователя о допущенной ошибке, а пассивные выдают ее только после отправки запроса. Сказать, какие из них лучше, будет плохим тоном, потому что и те и другие актуальны на данный момент. Пассивные формы используются обычно в сервисах, рассчитанных на широкий контингент пользователей, т. к. некоторые пользователи умышленно отключают поддержку технологий, на которых основываются активные формы (JavaScript). Для каждого вида есть свои правила подачи ошибок, которых я отчасти касался в предыдущих статьях и о которых я вспомню сегодня. Ну что ж, приступим.
«Каждая ошибка по возможности должна быть предотвращена»
04 Предотвращение ошибок в пассивных формах. Недавно я опять переосмысливал устройство регистрационной формы в Gmail. В этой пассивной форме меня привлекли следующие вещи. Во-первых, в ней отсутствует выделение обязательных для заполнения полей. Совершенно ясно, что здесь должно заполняться каждое поле (хотя зачем я должен указывать свою фамилию?), тем не менее, это может породить ненужные ошибки и затянуть процесс заполнения формы. Возможно, стоило написать на видном месте, что все поля обязательны для заполнения. Во-вторых, Google перепутали пояснительный текст с ошибкой:
Форма регистрации аккаунта в Gmail
Примеры, это, конечно, хорошо, но их явно не достаточно. Как вариант, текст ошибки должен был выглядеть следующим образом: «Поле заполнено неправильно», а то, что выдает Gmail сейчас, должно было быть написано под или над полем. С одной стороны это хороший метод, но с другой есть риск превратить интерфейс в нечеловечный. Представьте себе, что все ошибки будут вида: «Поле заполнено неправильно»,— брр:
Форма регистрации аккаунта на Free-lance.ru
По сему, рекомендую использовать это только в маленьких пассивных формах, а для больших форм применять другое решение. Взгляните на неправильно заполненное поле пароля:
Форма регистрации аккаунта в Gmail
Зачем дублировать информацию? Суть второго метода в том, чтобы подсветить красным пояснительный текст и выдать его за ошибку. Таким образом пользователь не будет думать, как верно заполнить поле, а сразу узнает это. Мне кажется, если бы дизайнеры Gmail использовали эти рекомендации, то я бы заполнил форму быстрее. Каждая ошибка по возможности должна быть предотвращена. Запомните это.
05 Подача ошибок в пассивных формах. Здесь действуют рекомендации, приведённые в предыдущих статьях (во Вступлении и Речевом барьере). Давайте вспомним их:
— необходимо использовать привязанность ошибок к их причинам или размещать их в ожидаемом месте (иначе: размещать их с неправильно заполненным полем);
— если нет возможности использовать привязанность, использовать цветовое кодирование (иначе: выделять одним цветом ошибочное поле и выноску);
— писать текст ошибки только на языке интерфейса сайта;
— формулировать ошибку четко, не используя литературных оборотов и неправильных словесных последовательностей.
«Главное правило активной формы: она должна посылать запрос лишь один раз за случай»
06 Организация активной формы. Итак, начнем с хорошего примера:
Форма загрузки изображений на Flickr.com
Главное правило активной формы: она должна посылать запрос лишь один раз за случай. Это достигается путем анализа на лету введённых в форму данных и мгновенной выдачи ошибки, а также выключением кнопки Отправить. Если кнопка отправить включается до того, как все ошибки исправлены, то такая форма не представляет большой ценности и не намного улучшает процесс её заполнения:
Форма отправки заяквки в Бизнес-линч
Я узнал о том, что моя фотография больше, только после того, как нажал на Отправить, которая почему-то включилась.
07 Предостерегать же пользователя от ошибок в этом случае можно по-разному. Использовать ли навороченные поп-ап окна, в которых, при наведении на поле будет показываться пояснение, для придания больше заметности или просто написать снизу, что в логине можно использовать только латинские буквы от A до Z, зависит от ваших задач и фантазии:
Первый шаг регистрации на Photobucket.com
08 Основные правила подачи ошибок в активной форме не отличаются от правил пассивной формы. Единственное, у вас появляется возможность для эксперементов и создания новых интересных решений подачи ошибок. Это, опять же, зависит от вашей фантазии.
Оригинал статьи можно найти в моём жж.
Роман Горшков (FUEL)
Обновлено: 12.02.2023
Любое программное обеспечение время от времени может выдавать различные сбои. Не исключено, что при работе с программными продуктами линейки «1С:Предприятие 8.3» вы можете столкнуться с ошибками.
Ошибка в «1С» может быть следствием непредвиденного отключения питания, неправильного завершения сеанса, «кривого» кода самописной программы, нарушения логической целостности базы, нехватки памяти, человеческого фактора и других причин. После подобных сбоев программа может не открыться или запуститься в режиме «Конфигуратор», также возможны ошибки в ходе работы с определенными командами.
Для решения этих проблем вы можете обратиться в компанию, обслуживающую вашу систему «1С», или же попробовать разобраться самостоятельно, если это относительно простая ошибка «1С». Для этого нужно уметь правильно диагностировать причину сбоя и хотя бы немного понимать особенности работы системы «1С». Надеемся, что в этом вам поможет наша статья, посвященная разбору наиболее типичных ошибок в «1С» и способу их исправления.
Рассмотрим распространенные ошибки при работе с «1С» 8.3:
- Ошибка доступа
- Неверный формат хранилища
- С одного ПК заходит, с другого нет
- Внутренняя ошибка «1С» компоненты dbeng
- Неправильное отображение блоков формы
- База открывается в конфигураторе, не получается зайти в пользовательский режим
- При определенном действии система переключается на код в конфигуратор
- Система работает только при входе с определенного пользователя
- Ошибка «1С», связанная с таблицами SQL
Обращаем ваше внимание!Обращаем ваше внимание!
Перед любыми действиями с базой мы рекомендуем сделать архивную копию. Если база не открывается в режиме «Конфигуратор», скопируйте папку с базой и выполняйте все операции на копии.
При этом, конечно же, релиз вашей программы должен быть актуальным. Некоторые ошибки легко устраняются сразу после установки обновления программы.
Ошибка доступа
Подобная ошибка «1С» может возникнуть, если у вашей учетной записи недостаточно прав для доступа к определенному действию, которое доступно только ограниченному числу пользователей. Чтобы решить эту проблему, достаточно зайти в режим конфигуратора и изменить роль выбранного профиля во вкладке «Администрирование – Пользователи».
Неверный формат хранилища
С одного ПК заходит, с другого нет.
Для решения этой проблемы попробуйте выполнить следующие действия:
- для начала проверьте в «Проводнике» – видит ли он базу. Возможно, к папке с базой не предоставлен общий доступ;
- попробуйте очистить кэш. Для этого необходимо перейти в папку, где хранятся временные файлы. В Windows 7 и выше папка находится по адресу: C:UsersUsernameAppDataLocal1C. Для Windows ХP: Local SettingsApplication Data1C ;
- зайти под другим пользователем. Можно использовать любой доступный профиль (лучше всего администратора).
Внутренняя ошибка «1С» компоненты dbeng
Если у вас нет времени самостоятельно разбираться в технических особенностях системы и при этом вы хотите всегда быть уверенным в работоспособности ваших программ – мы готовы помочь! Поддержка «1С» и другие услуги по настройке «1С» доступны удаленно или с выездом специалиста в ваш офис.
Неправильное отображение блоков формы
Такая ошибка «1С» может быть следствием разных факторов. Чтобы вернуть программу к работоспособности, попробуйте последовательно выполнить несколько команд:
- очистить кэш. Для этого необходимо перейти в папку, где хранятся временные файлы (путь к папке описан в пункте 3). Зачастую такая процедура помогает вернуть работоспособность программы «1С»;
- войти под другим пользователем. Можно использовать любой доступный профиль (лучше всего администратора);
- зайти в базу данных с другого ПК. Это действие позволит исключить ошибку, связанную с работой системы на определенном оборудовании.
База открывается в конфигураторе, не получается зайти в пользовательский режим
При определенном действии система переключается на код в конфигуратор
Для проверки стоит по традиции сначала очистить кэш. Если это действие не помогло, то скорее всего ошибка в коде программы. Это особенно актуально для самописных и нетиповых программ, но иногда такая ошибка встречается и в типовых. Если ваша конфигурация нетиповая, то проблема может быть связана с неправильным обновлением системы.
Система работает только при входе с определенного пользователя
Для устранения неполадки попробуйте настроить права пользователя. Для этого потребуется зайти в режим конфигуратора и изменить роль выбранного профиля во вкладке «Администрирование – Пользователи». Затем не забудьте почистить кэш.
Ошибка «1С», связанная с таблицами SQL
Подобная ошибка «1С» может возникнуть на стороне сервера в момент, когда системе не удается считать данные таблицы SQL. Неполадка может быть связана с повреждением таблиц или с неправильной настройкой сервера. Если ситуация сложная, то есть риск потери данных из базы без возможности восстановления. Поэтому мы настоятельно рекомендуем пользователям своевременно создавать архивные копии базы данных.
Не стоит паниковать – достаточно позвонить в нашу компанию. Специалисты «1С-Архитектора бизнеса» всегда готовы помочь вам в решении любых вопросов по работе с программами «1С».
Подведем итоги
Ошибка в «1С» может произойти по самым разным причинам. В этой статье мы не смогли бы описать все возможные ошибки, но постарались рассмотреть наиболее типичные и распространенные среди пользователей.
Если вашу проблему не удалось решить, обращайтесь к нашим специалистам – мы проконсультируем по стоимости услуг и постараемся оперативно помочь в любой ситуации.
В информационных базах на платформе 1С могут возникнуть множество различных ошибок:
нарушение логической/физической целостности базы, ошибки пользователей, «кривой» код разработчика и многое другое.
Причин может быть множество: отключили свет, и не было источника бесперебойного питания, или вечер пятницы удался, и пользователь уже и не может вспомнить в понедельник, что он натворил такого.
Во-первых, стоит задать несколько уточняющих вопросов пользователю:
1) Релизы платформы/конфигурации.
4) Возникает ли если запустить 1с с другого компьютера/от другого пользователя? Это даст нам пищу для размышлений – сможет ли помочь очистка кэша, настройка прав, или очистка настроек пользователя.
Теперь немного о самих ошибках и том как их решать.
Общее:
Часть ошибок возникает при использовании нелицензионного ПО (windows, 1C и т.д.).
Распространенный пример – ломаная платформа. Один из патчей взламывает конкретную версию платформы, поэтому после установки новой версии платформы и попытке зайти в базу можно увидеть окно «Не обнаружено свободной лицензии».
Если Вы встретили ошибку в первый раз — возможно, кто-то уже ее встречал —
поищите в google, возможно кто-то уже с этим сталкивался и решил проблему, и Вы не потратите лишних пару часов своего времени.
Релиз конфигураций должен быть актуальным (в первую очередь для конфигураций из которых сдается регламентированная отчетность), неспроста на линии консультаций практически всегда предлагают вначале обновиться, а потом уже смотреть дальше.
Актуальный релиз платформы — у каждой конфигурации написано, какой релиз платформы рекомендован для работы с этой конфигурацией.
Технологический журнал позволяет протоколировать все события 1С:Предприятия (или часть, используя фильтр).
Про него можно прочитать здесь и здесь.
. ВАЖНО
Перед любыми действиями с базой — сделать архивную копию!
Если база не открывается в конфигураторе — скопировать папку с базой и выполнять все операции на копии!
1) База вообще не открывается ни в пользовательском режиме, ни в конфигураторе.
-
Самое быстрое, что можно сделать — очистить временные файлы (удалить базу из списка баз и подключить заново)
- Также можно попытаться зайти в базу от другого пользователя.
- Если база файловая, то стоит запустить утилиту для тестирования физической целостности базы chdbfl. Она находится в папке:
C:Program Files (x86)1cv88.x.x.xxxbinchdbfl.exe
- Если база sql-ная то тестирование средствами sql.
2) Если база при запуске уходит в дамп.
- Откройте свойства экрана. Это можно сделать через Панель управления, или просто щелкнув правой кнопкой мыши по любому месту рабочего стола, свободному от окон и значков, и выбрав пункт контекстного меню «Свойства».
- В открывшемся окне настройки дисплея перейдите на закладку «Параметры» и нажмите кнопку «Дополнительно».
- В открывшемся окне свойств видеокарты перейдите на вкладку «Диагностика».
- Передвиньте движок «Ускорение» в крайнюю левую позицию («нет») и нажмите «Применить» или «Ок». Аппаратное ускорение отключено. Изменения вступят в силу после перезагрузки системы.
- Откройте Панель управления (Пуск — Панель управления).
- Найдите и откройте элемент «Экран».
- В левой части открывшегося окна щелкните по ссылке «Настройка параметров экрана».
- В открывшемся окне нажмите на ссылку «Дополнительные параметры».
- Перейдите на вкладку «Диагностика» и нажмите кнопку «Изменить параметры».
- В открывшемся окне передвиньте движок в крайнее левое положение («нет») и нажмите «Ок». Если UAC включен, придется подтвердить, что изменения санкционированы пользователем. Аппаратное ускорение отключено. Изменения вступят в силу после перезагрузки системы.
В Windows 7 в некоторых случаях кнопка «Изменить параметры» будет неактивна. В этом случае отключить аппаратное ускорение невозможно, так как видеокарта и ее драйвер не поддерживают манипуляции аппаратным ускорением.
4) При каком-то действии выкидывает на код в конфигуратор.
- Для проверки стоит очистить кэш.
- Если не помогло то скорей всего ошибка в коде — особенно актуально для нетиповых и самописных конфигураций, но встречается иногда и в типовых.
Если конфигурация нетиповая, то тут либо обновление прошло некорректно или разработчик дорабатывавший конфигурацию не предусмотрел все возможности пользовательских ошибок – защита от дурака (если это возможно!).
Если типовая, то возможно ошибка в релизе.
В любом случае стоит пробежать в отладчике и посмотреть что не так.
5) Под одним пользователем дает что-то сделать, под другим нет.
- Настройки прав пользователей.
- Настройки пользователя.
- Очистка кэша.
6) С одного ПК заходит, с другого нет.
- Проверить в проводнике видит ли базу – может к папке с базой не предоставлен общий доступ.
- Очистка кэша.
- Зайти под другим пользователем.
7) Я ничего не делал/делала но у меня все сломалось
- Если смогут подсказать что именно «не делали» и когда, то можно воспользоваться
Недостаточно памяти.
Был у меня случай, пришел клиент, говорит, при закрытии месяца вылетает ошибка «Недостаточно памяти». Взялся я за эту проблему. Думал, что легко, сначала добавил оперативки — ошибка. Было 2 гигабайта, стало 4, а все равно 1с-ке мало. Размер файла подкачки менял — ошибка, переустановка системы (поставил Windows 7) дало только временный результат, где-то на неделю. Перепробовал все. Спустя некоторое время решение было найдено.
Решение
На клиентском компе запустить командную строку от имени администратора, прописать там следующее:
BCDEdit /set increaseuserva xxxx — вместо хххх пишите объем виртуального адресного пространства в мегабайтах, т.е. сколько нужно памяти под работу приложений. По умолчанию 2 гига. Вообще в 32-разрядных операционных системах выделяется 4 гигабайта: 2 — на приложения и 2 на нужды самой ОС. Я выбрал 3000 (т.е. CDEdit /set increaseuserva 3000). Однако система может подглючивать. Особенно, если у вас 2 гига оперативки, как у меня. Это для ОС семейства Windows Vista, 7, Windows 2008.
Для Windows XP Windows 2003 пишем
/3GB /userva=xxxx (xxxx в МБ в диапазоне 2048 — 3072) в файле boot.ini, рекомендуемый максимум значений userva 2900–3030.
9) Элементы форм налезают друг на друга и имеют неправильное расположение.
10) Ошибка СУБД Внутренняя ошибка компоненты dbeng8
- Ошибка связана с различием кода разных версий платформы, когда пользователи пытаются использовать файловый вариант. Для клиент-серверного варианта при запуске происходит контроль и работа с разными версиями платформы в принципе невозможна.
Решение: обновиться до актуального релиза на всех рабочих местах.
Если не помогло, тогда делаем следующее:
-
Тестирование и исправление
11) Ошибка в платформе 8.3.4.428
- В версии 8.3.4.428 платформы «1С:Предприятие» обнаружена критичная ошибка, возникающая при реструктуризации данных. Данная ошибка локализована и будет исправлена в следующей версии платформы.
12) Конфликт блокировок при выполнении транзакции:
Microsoft OLE DB Provider for SQL Server: Could not continue scan with NOLOCK due to data movement.
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=3, Severity=C, native=601, line=1
Конечно список далеко не полный, так что буду рад, если его дополнят в комментариях.
Специальные предложения
В случае, когда база открывается только в Конфигураторе, может помочь выгрузка данных с последующей загрузкой в новую «нулевую» базу. Не панацея, конечно, но иногда выручало.
спасибо большое автору за предоставленный материал, очень для меня познавательно, положу в закладки
При любой непонятной фигне чистить кэш потом разбираться.
У меня пользователи уже научены что сначала давят СервисОчистить кэш и перезапустить программу а потом уже звонить и жаловаться.
Хорошая статья! По первому пункту могу добавить. Если не получилось ничего из перечисленного, можно воспользоваться программкой Tool_1CD и с ее помощью удалить записи в таблице configsave. Только это мне и помогло в свое время.
1 пункт. Как же можно выгрузить в *.dt, если по условию не загружается конфигуратор?
8. пункт это не решение. Увеличение до 3Гб памяти под процесс зачастую не помогает. Решение — это 64-разряда для клиента и для сервера.
Вообще в 32-разрядных операционных системах выделяется 4 гигабайта: 2 — на приложения и 2 на нужды самой ОС.
Строго говоря, 4 гигабайта это адресное пространство 32-разрядных систем, а не «выделяется». Из которых MS еще что-то резервирует под аппаратную часть, плюс еще ограничивает каждый процесс 2 Гигами.
9. Проще сделать «Восстановить положение окна Alt-Shift-R»
Многократно повторенный совет использовать chdbfl.exe довольно сомнителен. Утилита известна тем, что зачастую добивает базу окончательно.
(6)(9) — присоединяюсь. С программными лицензиями проблемы возникают гораздо чаще.
Статья классная, я плюсанул. Одно но «Часть ошибок возникает при использовании нелицензионного ПО (windows, 1C и т.д.).» — очень сомнительное предложение.
Terve!R; user705520_admin; roman8115; virtmon; Sophus; Bukaska; JesteR; buganov; for-elenak; plmshka; Sergafan10; + 11 – 1 Ответить
(9) Aspire1C,
Скорее это относится к карявым патчам в которых «что-то не учли»
(0)
Статья хорошая, хотя у нас с одним клиентом, в клиент-серверном варианте, возникла ошибка, которая не была описана ни где в интернете (по крайней мере я не нашёл):
При попытки открыть форму справочника или сделать запрос хотя бы к одному его полю — рабочий сервер 1С 8.3 падает и перезапускается. Тут ни чиска кешев, ни dt, ни чекдб в скуле, ни выгрузка-загрузка через файловую базу (с проверкой chdbfl и тестированием-исправлением) не помогают Хотя в файловом варианте всё работало отлично.
(9) Aspire1C,
Скорее это относится к карявым патчам в которых «что-то не учли»
Там учитывать нечего.
Но из за повального спроса, их часто снабжают дополнительным потребительским сервисом — троянами.
Если в процессах висит что-то типа rundll32 C:windowstemppagefile.sys — это вот оно.
(9) Aspire1C, Описал частый пример с ломаной платформой.
(26) Aspire1C, да, часто это ошибка, возникшая вследствие незнания администратором специфики механизмов лицензирования 1С/HASP.
Это не статья. Это перечень условно известных проблем с не всегда корректными рекомендациями по их решению.
Далее по пунктам:
0) Кэш (и Local, и Roaming) чистим в первую очередь. И при возможности перезапускаем серверы приложения и СУБД.
1) Правильное решение — технологический журнал.
2) Приведена только одна из возможных причин, к тому же не самая частая. (проверьте в системном логе ошибок GDI). И даже в этом случае лучшее решение — обновлять драйвера видео. Наблюдается это только со старыми дровами встроенного видео Intel. А вообще правильное решение — технологический журнал.
3) Правильное решение — технологический журнал
4) Не нужно гадать — сразу идем в отладчик.
5) Верно.
6) Скорее всего, это какая-то проблема связи либо авторизации. В случае с файловой базой первичная рекомендация верная, а при клиент-серверной помогут всяческие пинги, телнеты, анализ системных логов и опять же — технологический журнал.
7) Не забыть написать служебку о саботаже рабочего процесса пользователем. В следующий раз пользователь будет помнить, что он делал. А так да, ЖР, минимальный ТЖ (excp, excpcntx) и логи.
Вообще-то в современных конфигурациях механизмы, требовательные к памяти, обычно выполняются на сервере. Может помочь оптимизация проблемных запросов. А в некоторых случаях поможет только сервер x64. Ну и о фрагментации адресного пространства памяти не забываем, спасет плановый перезапуск рабочих процессов.
9) Не факт. В УФ может быть виноват браузер, в ОФ — кривые привязки элементов формы.
10) Тоже не факт. Сбойная база к такой ошибке может приводить.
11) Версия платформы отозвана. Решение — только поднимать базу из бэкапа.
12) С чего вы вообще взяли, что конфликт блокировок — это ошибка? Это показатель некорректной работы СУБД или логики конфигурации, и dbcc checkdb Вас от этого не спасет.
«Конфликт блокировок» бывает двух видов:
а) таймаут — тут нужно выяснять, почему не удалось наложить блокировку за отведенное время.
б) дедлок — тут нужно анализировать порядок наложения блокировок, и далеко не всегда эту проблему удается решить «малой кровью».
Любая программа, установленная на компьютер, может время от времени работать неправильно. Периодические сбои, которые приводят к невозможности использования ПО, называются ошибки. Чтобы суметь диагностировать и устранять ошибки в 1С, пользователь должен хотя бы немного разбираться в особенностях работы программ. Наличие минимальных знаний позволяет решать проблемы самостоятельно.
Прежде чем рассматривать основные разновидности ошибок, стоит заметить, что они отличаются между собой по происхождению. Приложение может привести к физическому или логическому сбою. В результате 1С просто не запускается или начинает работать в режиме «Конфигуратор». Пользовательский режим бывает недоступен или, при использовании определенных команд, будет появляться сбой.
Чтобы научиться быстро исправлять ошибки в 1С необходимо изначально их проанализировать. Часто во всплывающем окне написана суть некорректного поведения, что помогает решить проблему.
Причины появления ошибки в 1С
Разберем основные моменты, связанные с частым появлением сбоев при работе с базой данных. Они возникают в разных ситуациях, и определить их истинную причину не всегда возможно.
Одна из самых частых причин нарушение работы связанна с компьютером, на который установлена база данных 1С. Рабочая область может автоматически закрываться из-за нехватки оперативной памяти на сервере. Все возникающие неисправности должны быстро устраняться. В противном случае есть вероятность потери данных.
Часто возникающие ошибки 1С
Все имеющиеся сбои выводят на экран разные уведомления. Одинакового текста не бывает. Чтобы проще ориентироваться, разделим существующие ошибки 1С на следующие пункты:
- Недостаточно памяти.
- Ошибка доступа.
- Ошибка формата потока.
- Ошибка СУБД: Файл базы данных поврежден.
- Неправильное отображение блоков формы.
- Внутренняя ошибка компоненты dbeng.
- Dump при запуске.
- Неверный формат хранилища.
- Ничего не работает.
Для того, чтобы научиться исправлять возникающие ошибки, рассмотрим каждый пункт по отдельности.
Недостаточно памяти
Подобный сбой проявляется только в том случае, если на выполнение операций с программой выделено мало оперативной памяти. Приложение не может обрабатывать большие объемы информации, поэтому выдает «Недостаточно памяти 1С». Это случается при формировании отчета, обработки «тяжелого» файла, обновлении конфигурации и т.д. Причина – мощности компьютера недостаточно.
Пользователь может самостоятельно решить проблему с памятью. По умолчанию операционная система выделят фиксированное значение гигабайт на обслуживание приложения: 32 bit ОС – 2 Гб, 64 bit – 4 Гб.
Увеличить размер выделенной памяти можно вручную. Для этого запускается адресная строка (Пуск – Выполнить, вводиться фраза cmd). После нажатия «Ентер» достаточно ввести фразу bcdedit /set increaseuserva 4096 и подтвердить действие (клавиша «Enter»). Цифра 4096 – новый выделяемый объем «оперативки». Выполняется перезагрузка системы. Проблема должна быть устранена.
Ошибка доступа
Она возникает, если учетная запись не имеет достаточно прав. Проявляется при выполнении определенного действия, которое доступно только ограниченному кругу пользователей. Для исправления ситуации достаточно изменить роль выбранного профиля в конфигураторе (вкладка «Администрирование – Пользователи»). В некоторых случаях это увеличивает безопасность базы данных, если необходимо защитить файлы от изменения сторонними людьми.
Ошибка формата потока
Когда пользователь только запускает программу, на экране может появиться окно сбоя. Оно предлагает завершить работу или перезапустить. Причиной выступает некорректное завершение работы приложения.
Устранение подобной ошибки 1С выполняется простой чисткой кэша. Для этого необходимо перейти в папку, где хранятся временные файлы. В Windows 7 и выше она находится по адресу C:UsersUsernameAppDataLocal1C или C:UsersUsernameAppDataRoaming1C. Для Windows ХР другой путь – Local SettingsApplication Data1C. Все файлы, начинающиеся на 1cv8, кроме «1Cv8.1CD» полностью удаляются.
Если «Ошибка формата потока» возникает в процессе работы, то нужно провести тестирование (Администрирование – Тестирование и исправление), выбрать первые 2 галочки и запустить процесс.
Ошибка СУБД: Файл базы данных поврежден
Если всплывает информационное окно с подобной надписью, неисправность базы данных решается тестированием файла и всей информационной базы. Такое мероприятие может проводиться 2 способами:
- Запуск утилиты chdbfl.exe. Эта программа предназначена для того, чтобы проверять целостность базы данных при совместном ее использовании с информационной базой. Данный метод хорош тем, что дает возможность решать сбои даже в тех ситуациях, когда конфигуратор запустить невозможно. Сначала выполняется резервное копирование информации. В папке, где установлен 1С (директория bin) находится файл chdbfl.exe. Он запускается, в окне прописывает путь к файлу базы данных и ставится галочка, чтобы провести исправление ошибок. Нажимается кнопка «Выполнить». После завершения процесса все должно заработать. Если нет – используется конфигуратор.
- Через конфигуратор. Нужное окно вызывается после нажатия «Администрирование – Тестирование и исправление». На экране появляется форма, где выставляются галочки на следующе строчки: «Реиндексация таблиц…», «Проверка логической целостности…», «Проверка ссылочной…», «Реструктуризация таблиц…», «Тестирование и исправление» и 2 раза «Создать объекты». Нажимается кнопка «Выполнить». После завершения процедуры сбой устраняется.
Неправильное отображение блоков формы
Такая неисправность возникает от разных факторов. Чтобы привести программу к нормальной работоспособности, пользователю необходимо последовательно выполнить несколько команд. После проведения каждой проверяется устранение сбоя:
Если приведенные методы не помогают, рационально будет провести обновление платформы.
Внутренняя ошибка компоненты dbeng
Dump при запуске
Возвращение 1С в рабочее состояние проводится простым обновлением MS Visual Studio (Visual C++) и дополнительными манипуляциями. Чтобы отследить конкретный файл, в котором возникает ошибка, открывается «Просмотр событий». Для этого пользователь переходит в «Панель управления – Система и безопасность – Администрирование». С левой стороны раскрывается «Журнал Windows – Приложение».
На экране появляется список ошибок и точное расположение поврежденного файла. После установки новой версии MS Visual Studio (Visual C++) с папки System32 копируется одноименный файл dll и вставляется в папку платформы 1С. Проблема решилась.
Неверный формат хранилища
Ничего не работает
Если программа перестала нормально работать без видимых причин, значит пользователю придется самостоятельно искать неисправность. Для восстановления работоспособности базы данных проводятся следующие мероприятия:
- чистится кэш;
- открывается файл chdbfl.exe из папки установки приложения и выполняется исправление;
- выполняется запуск «Конфигуратора» для тестирования и исправления сбоев;
- обновление «1С».
Если это не критичная ошибка, она должна исправляться при установке актуальной версии программного комплекса. В остальных ситуациях необходимо пользоваться помощью профессиональных мастеров, которые отлично понимают принцип подобных продуктов.
В статье описаны возможные ошибки, возникающие при обмене данными между программами 1С, а также варианты решения этих ошибок.
Общие ошибки, возникающие в 1С при работе с XML
Не установлен MS XML Core Services 4.0
На компьютере не установлен Microsoft XML Core Services 4.0, используемый «1С:Предприятием 8» для работы с XML.
Попробуйте установить Microsoft XML Core Services 4.0. При установке «1С:Предприятия 8» Microsoft XML Core Services 4.0 устанавливается автоматически.
Ошибка разбора XML
Ошибка, возникающая при синтаксическом анализе данных XML в процессе чтения. Все ошибки, определенные в SAX2, трансформируются в данную ошибку, генерируемую платформой «1С:Предприятие 8».
Проверьте правильность оформления и синтаксис данных XML.
Ошибочный порядок записи XML
Методы записи содержимого документа XML вызываются в неправильном порядке. Например, запись атрибута вызывается после записи текста элемента.
Текст XML содержит недопустимые символы
Записываемый текст XML содержит недопустимые символы.
Текст XML должен соответствовать требованиям к XML.
Недопустимое имя XML
Записываемое имя XML содержит недопустимые символы.
Имя XML должно соответствовать требованиям к XML.
Пустое значение URI допустимо только для пространства имен по умолчанию
Производится попытка записать соответствие пространства имен, в котором URI пространства имен, представленному пустой строкой, соответствует непустой префикс.
Значение URI пространства имен должно соответствовать рекомендации Namespaces in XML.
Переопределение пространства имен по умолчанию для текущего элемента XML недопустимо
Текущий записываемый элемент не относится ни к какому пространству имен. Поэтому для него недопустимо определение непустого пространства имен по умолчанию.
Переопределение пространства имен по умолчанию для элемента, не относящегося ни к какому пространству имен – запрещено.
Ошибка преобразования данных XML
Ошибка возникает вследствие нарушения структуры передаваемых данных.
Значения данного типа не могут быть представлены в XML
Производится попытка записи в XML значения, для типа которого не определена процедура записи в XML. Или производится попытка чтения из XML значения неизвестного типа или типа, для которого не определена процедура чтения из XML.
Ошибка данных XML
Ошибка возникает при получении некорректных данных из источника XML или же в случаях неудачного считывания из базы данных содержимого объекта, данные которого должны быть прочитаны из источника XML: блокировка объекта или же отсутствие прав на чтение данного объекта.
Например, чтение существующего элемента справочника: если элемент справочника является группой, а было прочитано то, что является элементом, будет сгенерирована данная ошибка.
Если вышеперечисленные способы не привели к устранению ошибки, то необходимо проверить целостность данных информационной базы.
Ситуации, возникающие при обмене данными в рамках распределенной информационной базы в 1С
Узел не является узлом распределенной ИБ
При вызове одного из методов встроенного языка, относящегося к распределенной ИБ, значение переданного параметра — узла плана обмена — не принадлежит плану обмена с установленным признаком «Распределенная информационная база».
Необходимо убедиться в правильности передаваемого в метод параметра.
Начальный образ может быть выгружен только во вновь созданную или пустую ИБ
По указанному месторасположению начального образа уже существует другая информационная база.
Необходимо убедиться, что при создании начального образа указано место, в котором не существует информационной базы.
Ошибка формата представления изменений
Попытка приема изменений от неизвестной конфигурации
Искажены изменения конфигурации!
Конфигурация узла распределенной ИБ не соответствует ожидаемой!
Изменения конфигурации не могут быть получены из подчиненного узла распределенной ИБ
Из главного узла распределенной ИБ получены изменения конфигурации
Из главного узла получены изменения конфигурации.
Данные не входят в состав плана обмена
Если не нашли решения своих ошибок или хотите воспользоваться услугами экспертов для настройки обмена данными между программами 1С, проверки и исправления ошибок, звоните в офисы Первого Бита.
Читайте также:
- Программа для рабочего стола для андроид
- Как открыть панель управления в 1с
- Как вставить в excel данные в ячейки
- Программа для дуалшок 4 на виндовс 10
- Сервис регистрации ошибок 1с
У меня есть приложение ASP.NET 2.0, которое отлично работает в нашей локальной среде. При публикации на тестовом сервере мы получаем периодические ошибки на сервере.
Вот самые распространенные:
Заполнение недействительно и не может быть удалено. Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительных сведений об ошибке и ее происхождении в коде.
Детали исключения: System.Security.Cryptography.CryptographicException: Заполнение недействительно и не может быть удалено.
Ошибка источника:
Необработанное исключение было создано во время выполнения текущего веб-запроса. Информацию о происхождении и местонахождении исключения можно определить с помощью трассировки стека исключений ниже.
Трассировки стека:
[CryptographicException: заполнение недействителен и не может быть удален.]
System.Security.Cryptography.RijndaelManagedTransform.DecryptData (Byte [] inputBuffer, Int32 inputOffset, Int32 inputCount, Byte [] и outputBuffer, Int32 outputOffset, PaddingMode paddingMode, Boolean fLast) +1545747
System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock (Byte [] inputBuffer, Int32 inputOffset, Int32 inputCount) +257
System.Security.Cryptography.CryptoStream.FlushFinalBlock () +30 System.Web.Configuration.MachineKeySection.EncryptOrDecryptData (логическое fEncrypt, Byte [] buf, модификатор Byte [], Начало Int32, длина Int32, логическое значение useValidationSymAlgo) +164
System.Web.UI.Page.DecryptString (String с) +83
System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest (HttpContext контекст) +148
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () +358 System.Web.HttpApplication.ExecuteStep (IExecutionStep шаг, логическое значение и завершено синхронно) +64
Это происходит при запросе конкретного запроса WebResource.axd.
Другая ошибка, которую мы наблюдаем, заключается в следующем:
Проверка MAC состояния просмотра не удалась. Если это приложение размещено в сети Ферма или кластер, убедитесь, что конфигурация указывает тот же ключ проверки и проверки алгоритм. AutoGenerate нельзя использовать в кластере. Описание: необработанное исключение произошло во время выполнение текущей сети запрос. Просмотрите трассировку стека для получения дополнительной информации об ошибке и откуда оно взялось в коде.
Сведения об исключении: System.Web.HttpException: проверка MAC состояния просмотра не удалась. Если это приложение размещено на веб-ферме или кластере, убедитесь, что в конфигурации указан один и тот же ключ проверки и алгоритм проверки. AutoGenerate нельзя использовать в кластере.
Эта ошибка иногда возникает при публикации формы.
Теперь, прежде чем вы перейдете к очевидному (обычному) ответу на эту ошибку, подумайте вот о чем:
- Приложение развернуто на Windows Server 2003 на IIS6.
- Это НЕ на веб-ферме. Здесь используется только один веб-сервер.
- Удостоверение пула приложений — это пользовательская учетная запись службы, и я запустил
aspnet_regiss -ga <username>
на сервере. Нет эффекта.
3 ответа
Лучший ответ
Ошибка связана с тем, что ваш домен приложения был перезапущен / перезапущен. Когда это происходит, приложение и машинный ключ устанавливаются на автоматический режим, это изменяется. Это влияет на расшифровку информации в URL-адресах ресурсов (.axd). Установка фиксированного ключа машины предотвратит повторение этого.
Пожалуйста, проверьте это для получения дополнительной информации по аналогичному случаю (объяснение связано с проблемой с проверкой состояния просмотра, но причина та же): http://www.developmentnow.com/blog/InvalidViewstate+Or+Unable+To+Validate+Data+Error.aspx
Я тоже довольно долго думал об этом. После того, как я увидел этот вопрос, он снова меня задал: Это попытка взломать безопасность моего сайта ASP.Net?… на которую я только что ответил примерно так же. У меня было ощущение, что это было связано с некоторым перезапуском чего-то, потому что, когда мы опубликовали что-то, что переработало приложение, ошибка показывалась в журнале, но у меня не было другого источника, указывающего его связь (сегодня я нашел этот случай на invalidviewstate из-за машинный ключ поменять :))
Пс. выше, наконец, объясняет это на одном сервере
24
Community
23 Май 2017 в 15:34
Эта проблема возникает, когда сообщение создается до полной загрузки страницы в браузере. Взгляните на этот вопрос .
1
Community
23 Май 2017 в 14:48
Бен,
Что касается вашей первой проблемы, я обнаружил, что это немного больше соответствует тому, что вы видите, поскольку проблема возникает спорадически. Вы можете найти полное объяснение этого на http: // www. codeproject.com/KB/security/Cryptor.aspx#aes.
Что вам действительно нужно сделать, так это установить для RijndaelAlg.Padding значение PaddingMode.ISO10126, PaddingMode.PKCS7 или PaddingMode.ANSIX923. Любое из этих трех значений должно работать при условии, что вы используете одно и то же значение при шифровании и дешифровании. Другие значения будут работать с некоторыми данными, но не со всеми данными. Приведенный выше URL объясняет, почему.
Я не понимаю, почему Microsoft предоставляет варианты, которые иногда не работают, или, по крайней мере, почему они по умолчанию не выбирают надежный вариант.
0
JohnL
22 Ноя 2008 в 09:17