Ошибка при проведении документа в 1с
Клиент-серверный вариант работы в 1с ошибка при работе с документами
Тестируем клиент-серверный вариант 1с- УТ 10.3, у пользователей при проведении документа вылезает ошибка
Ошибка при выполнении обработчика - 'ПриЗаписи'
по причине:
: Ошибка при вызове метода контекста (Прочитать)
по причине:
Нарушение прав доступа!
Как всегда ,а у бухгалтерии все работает хорошо
Причем та же самая программа в файловом варианте и у менеджеров работает хорошо.
В чем может быть причина? какие доступы проверить?
Я бы начал с того, что открыл общий модуль "ЭлектронныеДокументыСлужебный", перешел к строке 8322 и выяснил, объект какого типа 1Ска пытается там прочитать. Оттуда и плясать в плане прав.
Если бы я не был программистом, я б наверное хирургом стал. Люблю, знаете ли, покопаться во всякой фигне непонятной.
судя по всему, просто у менеджеров не хватало доступа к роли Чтение электронных документов. Только странно почему в файловом варианте они могут работать без этой роли, а в клиент-серверном нет
может и есть , но я этого не знаю . Суть: установили Клиент-сервер,я просто выгрузила базу из файловой системы и загрузила в клиент-серверный вариант..И стали пытаться работать.А вспомнила есть разница. файловый вариант на 8.2 работает, а серверный уже на 8.3. Кстати, если клиент-сервер был на флешке ,то если его заберут, то наших баз там не останется?
Ты имеешь в виду ключ защиты? В ключе никаких баз нет. На него вообще ничего записать нельзя. Это таки не флэшка!
Климов Сергей, я вообще плохо представляю что такое Клиент-сервер вроде как программа через которую работает 1с. Принесли флешку вставили в компьютер, создали базы на этом клиент-сервере,залили туда наши базы.. И где оно теперь все находится загадка . Так как Клиент-сервер был в тестовом варианте его забирают, вот и переживаю что где находится..
я вообще плохо представляю что такое Клиент-сервер вроде как программа через которую работает 1с. Принесли флешку вставили в компьютер, создали базы на этом клиент-сервере,залили туда наши базы.. И где оно теперь все находится загадка . Так как Клиент-сервер был в тестовом варианте его забирают, вот и переживаю что где находится..
Если у вас заберут ключ от сервера 1С, то базы то у вас сохранятся, но работать с ними в файловом режиме вы не сможете, не открыть, не просмотреть.
Прежде чем отдать ключ сделайте выгрузку всех баз данных и загрузите в файловом режиме.
Проверьте все ли работает, после этого можете отдать ключ.
то базы то у вас сохранятся, но работать с ними в файловом режиме вы не сможете, не открыть, не просмотреть.
если опять вернут Клиент-сервер то по новой ничего регистрировать не надо спокойно продолжаем работать?
если опять вернут Клиент-сервер то по новой ничего регистрировать не надо спокойно продолжаем работать?
В клиент-серверном режиме реализуется трехуровневая архитектура, база данных в этом случае будет работать под управлением Системы Управление Базами Данных (СУБД).
Трехуровневая архитектура обеспечивает стабильность работы, надежность хранения данных, безопасность, отказоустойчивость + возможность использования ресурсов сервера. Клиент-серверный режим рекомендуется при работе с большими базами данных и при большом количестве клиентов и может дать ощутимый рост производительности. При небольшом кол-ве пользователей и небольших базах прироста производительности вы скорее всего не заметите, а в некоторых случаях может быть даже обратный эффект.
1С умеет работать под управлением одной из четырех СУБД: Linux PostgreSQL, Microsoft SQL Server, IBM DB2, Oracle Database
В большинстве случаев выбор стоит между PostgreSQL (т.к. можно установить бесплатно) и Microsoft SQL (т.к. это наиболее распространённый вариант с большим кол-вом специалистов способных обеспечить поддержку).
PostgreSQL - это вариант для энтузиастов, мы рекомендуем только в случае, если у вас есть свой специалист, который будет обеспечивать поддержку системы.
Ошибка в 1С 8.3 Нарушение прав доступа появляется при попытках обращения пользователя к объекту, прав на который у него нет. Очень часто это происходит при вводе нового пользователя в 1С, доработке программного кода и обновлении программы.
Прочитав эту статью, вы:
- узнаете, на что обращать внимание при возникновении ошибки;
- получите рекомендации по ее устранению;
- ознакомитесь с ответами экспертов БухЭксперт8 на вопросы, связанные с возникновением ошибки.
Причины ошибки
С ошибкой Нарушение прав доступа сталкиваются многие пользователи 1С после доработки программного кода и обновления программы. Возможные причины появления ошибки:
- обновление программы на новый релиз;
- попытка чтения или записи данных справочника, документа или регистра пользователем, не имеющим прав на объект;
- использование внешних обработок и отчетов без установки пользователю специальной роли;
- ошибка задания прав новому пользователю 1C.
Ошибка обновления
При обновлении программы текущая конфигурация 1С заменяется новой версией, в которой содержатся выполненные разработчиками доработки. Все изменения, внесенные перед публикацией нового релиза, тестируются, но время от времени ошибки все-таки случаются. Если это произошло, ошибки регистрируются в специальном реестре 1С и исправляются в последующих релизах.
При появлении ошибки Нарушение прав доступа после обновления программы нужно выполнить следующие действия:
Восстановите программу из копии и ждите исправления ошибки в следующем релизе обновления.
БухЭксперт8 советует всегда делать перед обновлением архивные копии базы данных. Это поможет восстановить базу при неудачном обновлении.
Нарушение прав доступа при чтении данных
В 1С существует набор специальных объектов Роль , которые описывают разрешенные действия пользователей. Роли задаются разработчиками в Конфигураторе 1С. При работе в 1С можно пользоваться только этим предопределенным набором. Самостоятельно ввести новую Роль без доработки Конфигурации невозможно.
Каждая Роль включает набор свойств для работы с объектами 1С. Они задают права на чтение, просмотр, изменение, редактирование и т. д. данных в справочниках, документах и регистрах программы.
Пользователь, которому назначили роль Чтение контрагентов , может считывать данные справочника Контрагенты , но при обращении к справочнику Банки получит ошибку Нарушение прав доступа .
Нарушение прав доступа при записи данных
При записи изменений данных в справочниках, документах и регистрах программа проверяет наличие соответствующих прав у пользователя также, как и при чтении данных,
Пользователь, которому назначена роль Добавление и изменение сотрудников , может редактировать данные справочника Сотрудники , но при попытке изменения данных банка получит ошибку Нарушение прав доступа .
Работа с внешними отчетами и обработками
Для работы с внешними отчетами и обработками пользователю нужно назначить одну из ролей:
- Полные права ;
- Интерактивное открытие внешних отчетов и обработок .
Как добавить роль Интерактивное открытие внешних отчетов и обработок , описано в статье Как добавить пользователю с правами Бухгалтер права запускать внешние отчеты и обработки?
Для исправления ситуации нужно добавить роль Интерактивное открытие внешних отчетов и обработок пользователю, работающему с внешней обработкой.
Добавление нового пользователя
При добавлении новых пользователей БухЭксперт8 рекомендует использовать типовые Профили группы доступа в 1С: раздел Администрирование — Настройки программы — Настройки пользователей и прав .
В 1С заложена автоматическая проверка прав того набора объектов 1С, который определяется профилем групп доступа:
Программа скроет все объекты, на которые у пользователя нет прав:
Чтобы ограничить возможность изменения документов определенным пользователям, можно даже не устанавливать специально Дату запрета изменения . Программа сама не даст сохранить изменения пользователям с ограниченными правами:
Использование типовых Профилей групп доступа сводит к минимуму риск возникновения ошибки.
Ответы на вопросы
Ошибка при проведении документа Реализация (акт, накладная)
Создали новую роль в Конфигураторе — только для документа Реализация (акт, накладная) . При записи документа программа отрабатывает правильно, а при проведении — выдает ошибку Нарушение прав доступа .
В чем может быть причина?
При записи документа должно быть установлено право изменения этого документа у пользователя. Но при проведении документа помимо него самого задействуются и другие объекты — создаются записи в различные регистры.
Если вы указали в новой роли право только на документ Реализация (акт, накладная) , этого недостаточно. По кнопке Дт/Кт уточните, какие регистры используются при проведении документа и добавьте их в новую роль с активными свойствами:
Ошибка при попытке открыть карточку контрагента под определенным пользователем
- «Справочник.Контрагенты.Форма.БП_ФормаЭлемента.Форма: Ошибка при вызове метода контекста НаборЗаписей.Прочитать() по причине: Нарушение прав доступа».
Ошибка связана с тем, что у пользователя, который отрывает карточку Контрагенты , нет прав на чтение данных из определенного регистра 1С.
Если в подробном описании ошибки программа не указывает регистр, при записи данных в который происходит ошибка, вам придется выяснить это самостоятельно. Для недоработанной типовой конфигурации Бухгалтерия 3.0 при открытии справочника Контрагенты могут использоваться:
- регистр бухгалтерии Хозрасчетный ;
- регистр бухгалтерии Курсы валют ;
- регистр бухгалтерии Наличие дублей у контрагентов ;
- и т. д.
Эти регистры включены в программный модуль справочника Контрагенты .
Проверьте, что у пользователя есть права на эти регистры. Более серьезный анализ ситуации выполняется по программному коду процедуры открытия формы справочника.
Эта работа требует особой подготовки и квалификации.
Ошибка при открытии внешнего отчета
При попытке открыть внешний отчет 1С появляется ошибка Нарушение прав доступа . Все остальные отчеты внутри программы открываются нормально. В чем может быть причина?
Для открытия внешних отчетов и обработок 1С необходимо добавить пользователю роль Интерактивное открытие внешних отчетов и обработок . После этого он сможет работать с внешним отчетом без ошибок.
См. также:
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
..Если контрагент нарушил условия договора, сумма санкций за такой проступок.ФСС ответил на этот вопрос Письме от 01.09.2020 N 14-15/7710-2216л.
(1 оценок, среднее: 5,00 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
С 1 мая — новые коды в платежках при переводе денег физлицам
Изменения в 2022 году, о которых нужно знать бухгалтеру
6-НДФЛ за 1 квартал 2022 в 1С
Санкции и контрмеры: как работать организации и ее бухгалтеру в новой реальности. Часть 2
Отчетность за 1 квартал 2022
Безумно рада встрече с Мариной Аркадьевной, настолько доступно и просто о сложном и наболевшем, что для меня это самый лучший учитель. Спасибо огромное, с нетерпением жду следующего семинара.
Умение исправлять ошибки в программе — задача более сложная, чем учет в ней хозяйственных операций. Этому не учат на курсах бухгалтеров и на курсах 1С. Но без этого умения вы не сможете сдавать правильную отчетность и успешно работать в программе.
Понимая это, БухЭксперт8 подготовил специальный сборник по возможным ошибкам 1С. И не просто сделал подборку своих экспертных статей, но и дал конкретные рекомендации по исправлению.
Ошибки в публикации сгруппированы по темам:
Каждую тему предваряет краткий обзор. Это поможет легко сориентироваться в предоставленной информации и отобрать только ту, что касается конкретных ошибок.
Информация этого сборника мега-полезна! Мы гордимся, что первыми из обучающих фирм представляем своим пользователям этот единый Путеводитель по ошибкам и их исправлению в 1С. Мы уверены, что он будет вашей «скорой помощью» в самых сложных ситуациях.
Административные
В данном разделе собрана информация о так называемых «административных» ошибках. Их объединяет, что вызваны они не ошибками программного кода 1С или некорректными действиями пользователей, а административными настройками.
1C Отчетность: не удалось расшифровать файл
Многие организации используют в 1С дополнительный сервис 1С-Отчетность , с помощью которого они обмениваются отчетами и прочими электронными документами с контролирующими органами без использования сторонних программ, что очень удобно. Но усложнение программы неизбежно приводит к ошибкам, с которыми нужно уметь справляться. В статье подробно разбирается ошибка Не удалось расшифровать файл.
1С удаление: указанная учетная запись уже существует
Внутренняя ошибка компоненты dbeng8
Причина ошибки Внутренняя ошибка компоненты dbeng8 — нарушение структуры базы данных. Это может быть вызвано различными ситуациями, например, некорректным закрытием 1С из-за отключения электроэнергии, сбоем работы сети и т. п. Ошибка может проявиться как при запуске программы, так и при ее закрытии или выполнении какого-нибудь действия.
Конфигурация узла распределенной ИБ не соответствует ожидаемой
Распределенная информационная база используется для организации работы филиалов и подразделений, позволяя обмениваться информацией между ними. Технология обмена между базами достаточно надежна, но время от времени ломается и она. В статье рассматривается ошибка Конфигурация узла распределенной ИБ не соответствует ожидаемой.
Компонента 1С: Печать штрихкодов не установлена на данном компьютере
Конфигурация базы данных не соответствует сохраненной конфигурации 1С
В статье описывается, что может быть этому причиной. Главное — не паниковать!
Лицензия не обнаружена. Не обнаружен ключ защиты программы
При покупке 1С в комплект поставки включается лицензия на данное программное обеспечение. Лицензия может быть представлена в виде аппаратного ключа — специальной флешки для установки в USB-порт компьютера или программного ключа лицензии — пинкода программной защиты.
В статье разбирается, почему программа может не видеть лицензию.
Нарушение прав доступа
Ошибка Нарушение прав доступа появляется при попытках обращения пользователя к объекту, прав на который у него нет. Очень часто это происходит при вводе нового пользователя в 1С, доработке программного кода и обновлении программы.
Нарушение целостности системы 1С
Начало сеанса с информационной базой запрещено
Недостаточно памяти 1С
Ошибка Недостаточно памяти 1С появляется при выполнении каких-то объемных операций, которые требуют определенного количества ресурса компьютера. Причем в обычном режиме программа 1С работает относительно нормально. В статье даются рекомендации по исправлению ситуации.
Ошибка Не найден файл внешней компоненты возникает при использовании в 1С дополнительных сервисов, например:
В статье на конкретном примере показывается, как решить проблему.
Не обнаружена установленная версия 1С Предприятия
Ранее ошибка Не обнаружена установленная версия 1С Предприятия могла появиться при смене платформы 1С: Предприятие с 8.2 на 8.3. Кроме того, ошибка может возникнуть вследствие некорректной установки 1С, при переустановке операционной системы и по иным причинам. Во всех этих случаях файл, отвечающий за запуск платформы 1CEStart.cfg, начинает работать некорректно.
Из статьи вы узнаете, что тут можно сделать.
Обнаружено неправомерное использование данного программного продукта
Ошибка 1С: Начало сеанса с информационной базой запрещено
Ошибка ввода пинкода. Пинкод не укомплектован
Ошибка при выполнении операции с информационной базой 1С 8.3
Один из самых страшных сценариев для пользователя при работе в 1С — невозможность войти в информационную базу. В статье разбираются причины возникновения ошибок с информационной базой и даются рекомендации по их исправлению.
Ошибка формата потока
Ошибка СУБД: файл базы данных поврежден
Ошибка Удаленный узел не прошел проверку в 1С связана с проверкой сертификатов. Начиная с Платформы 8.3.8, 1С при проверке использует те же сертификаты, что и операционная система Windows. Исходя из этого, можно с высокой долей вероятности утверждать, что ошибка связана не с самой 1С, а с настройками подключения к интернету.
У пользователя недостаточно прав на исполнение операции
Ошибка Недостаточно прав на исполнение операции появляется при использовании в программе разграничении прав на уровне пользователей. В статье разбирается пример ошибки и даются рекомендации по ее исправлению.
Установка запрещена на основании системной политики
Ошибка Этот хост неизвестен возникает при подключении к серверу 1С и связана с тем, что в процессе запуска базы не удается определить IP-адрес сервера. В статье даются рекомендации по ее исправлению.
Программные
Ошибки этой темы вызываются некорректным программным кодом. При описании ошибки наши эксперты не просто воссоздают ее саму, но и учат работать со встроенными инструментами 1С — Синтаксис-помощником 1С . В некоторых случаях для наглядности создают внешние обработки для демонстрации правильного и неправильного программного кода. А также дают навыки использования Отладчика в 1С и учат аналитической работе в Конфигураторе .
Информация бесценна для всех, кто пробует свои силы в написании внешних обработок и отчетов, а также для обычных пользователей, получающих подробную инструкцию по поиску и исправлению ошибок.
Записи регистра сведений стали неуникальными
Какой бы ни была причина появления этой ошибки, она говорит об одном: в регистре сведений есть запись с ключевыми параметрами, для которой имеется несколько значений, и программа 1С не знает: какая из этих записей правильная.
В статье дается подробная инструкция по поиску и исправлению ошибки.
Метод объекта не обнаружен
БухЭксперт8 подготовил в статье 3 примера формирования ошибки Метод объекта не обнаружен. Вы познакомитесь с Синтаксис-помощником 1С , узнаете причины появления ошибки и получите рекомендации для ее исправления с использованием встроенной справки 1С.
Неизвестный идентификатор формы
При работе с управляемыми формами 1С можно встретить ошибку Неизвестный идентификатор формы. Чаще всего ее причина — неправильное указание имени формы объекта в программном коде.
Недостаточно фактических параметров
Ошибка Недостаточно фактических параметров показывает, что в исполняемую функцию передано меньше параметров, чем необходимо для выполнения операции. Для анализа ошибки Бухэксперт8 подготовил специальный пример.
Из статьи вы узнаете, на что обращать внимание при появлении этой ошибки, и получите подробные рекомендации по ее исправлению.
Поле объекта недоступно для записи
Ошибка Поле объекта недоступно для записи появляется при доработках программного кода и обновлениях программы. БухЭксперт8 подготовил внешние обработки, содержащие ошибки и способы их исправления, которые вы можете скачать.
Поле объекта не обнаружено
При обновлении базы 1С, установке новой Платформы, внесении изменений в конфигурацию возможно появление ошибки Поле объекта не обнаружено. В зависимости от причины, вызвавшей эту ошибку, есть разные варианты ее устранения. О них вы узнаете из этой статьи.
Переменная не определена
Ошибка Переменная не определена указывает на то, что программа не может получить нужную информацию в исполняемом программном коде. Это может быть связано с обновлением или доработкой программы. В статье даются рекомендации по исправлению ошибки.
Печатная форма недоступна 1С 8.3 при вызове внешней печатной формы
При подключении внешних печатных форм в 1С может появиться ошибка Печатная форма недоступна. В статье рассматривается порядок действий по исправлению ошибки.
Слишком много фактических параметров
Ошибка Слишком много фактических параметров указывает, что при выполнении операции в процедуру ее обработки переданы лишние параметры. Проблема серьезнее, чем кажется на первый взгляд, поскольку не всегда это вызвано ошибками программного кода.
БухЭксперт8 подготовил подробный разбор причин появления ошибки и рекомендации по ее устранению.
Пользовательские
Большое количество забивается решеткой
Ошибка Большое количество забивается решеткой показывает, что при отображении данных места, отведенного под вывод результата, недостаточно. Ситуация возникает, если в свойствах ячейки отчета задано свойство размещения Забивать данные. Из статьи вы получите рекомендации для решения проблемы.
Значение поля номер не уникально
Ошибка Значение поля номер не уникально возникает при создании нового документа или справочника. При записи 1С автоматически присваивает объекту новый номер, но сохранить новые данные не может: где-то в журнале документов уже есть объект с таким же номером.
Причина этой ошибки чаще всего — ручное исправление номеров документов.
Конфликт блокировок при выполнении транзакции
Ошибка совместного доступа к файлу
Ошибка совместного доступа к файлу указывает, что к файлу, захваченному одним процессом, пытается обратиться другой процесс — например, при попытке одновременного использования одного файла разными пользователями в 1С. Пока пользователь, захвативший файл, не закроет его, попытка открыть файл другим пользователем будет блокироваться. В статье даются рекомендации для устранения ошибки.
При работе в 1С с сетевым принтером возможны ситуации, когда при запуске на печать отчета или печатной формы документа выдается ошибка печати. Ситуация усугубляется тем, что из приложений Word и Excel печать выполняется нормально. В статье даны рекомендации по исправлению ошибки.
Заключение
ПУТЕВОДИТЕЛЬ по ошибкам и их исправлению в 1С подготовлен командой профессионалов — консультантами и программистами БухЭксперт8. Сохраните эту страничку в социальных сетях или в закладках как шпаргалку. Пользуйтесь ею онлайн всегда, когда это будет необходимо.
Если вам понадобится дополнительная профессиональная помощь
в работе с 1С:Бухгалтерия 3.0
мы будем рады видеть вас на нашем курсе
Бухгалтерский и налоговый учет в 1С:Бухгалтерия 8 ред.3 от А до Я, ОСНО или УСН на ваш выборЕсли Вы еще не подписаны:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы Бухэксперт8, записи поддерживающих эфиров и вы сможете задавать любые вопросы по программе 1С.
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
Вы приобрели 1С 8.3 и готовитесь работать на ней или.«Технические» ошибки – это ошибки, которые допущенные не в счете-фактуре.Ниже вы можете просмотреть запись семинара на тему: "ТОП-9 горячих.Ниже вы можете просмотреть запись семинара на тему: "ТОП-9 горячих.
(1 оценок, среднее: 5,00 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
С 1 мая — новые коды в платежках при переводе денег физлицам
Изменения в 2022 году, о которых нужно знать бухгалтеру
6-НДФЛ за 1 квартал 2022 в 1С
Санкции и контрмеры: как работать организации и ее бухгалтеру в новой реальности. Часть 2
Отчетность за 1 квартал 2022
Безумно рада встрече с Мариной Аркадьевной, настолько доступно и просто о сложном и наболевшем, что для меня это самый лучший учитель. Спасибо огромное, с нетерпением жду следующего семинара.
(2+) вылетает вот на вот этой номенклатуре, у нее нет приходных накладных
(2) что-то мне не верится, что при обходе выборки вылетает именно на ВыборкаНоменклатура.Следующий(), при условии что ВыборкаНоменклатура - Выборка, а не какое-то там неопределенно)
(5) Конечно. Потому что вылетает при записи или проведении при выставлении Отказ в Истина.
Очевидно, что Исктимские выборки наcтолько суровы, что проводят документы при получении следующего элемента.
(5) Меня самого выбило из работы.
следующий шаг, и эта ошибка.
Почему поведение (0)?
Сейчас сделал базу, там тоже самое, но ошибки этой нет, и обход такой же выборки. Разбираюсь сейчас в чем дело.
поставьте точку останова по ошибке, либо на этой строчке и посмотрите перед вылетом, что в ней находится
(15) проверь соответствие типов реквизитов в документе и в регистре(чтобы ссылочный тип случайно не оказался строкой)
(14) это типовой порядок решения задачи при подготовке на Спеца по Платформе на пустой базе.
(18) Вылетает вот на этом, при добавлении позиции Бодиан Дианы
в данном случае ее нет на приходе, и должен сработать контроль остатков, что заявленного количества не хватает
но тут выбрасывает с неизвестной ошибкой в (0) .
добавляю хоть 1 Бодиан Дианы, чего нет на остатках, вылетает ошибка (0), а должна выходить ошибка контроля остатков.
Вот в этом мой вопрос. Я так понял это мой кармический глюк. Карма доедает меня. И скоро меня не станет, в этом мире и на этом форуме.
странно, сейчас стало выходить сообщить. Но вылетает в странном месте.
(26) Да, вот вспомнил вашу подсказку, что нет метода сообщить. И до меня дошло, что это именно так. Просто не выводится сообщить, я просто лох и все.
Но тут смотрю, снова не то что то.Вылетает же на цикле. Почему в проверку не заходит?!
(26) То есть вылетает если есть отрацательные остатки и срабатывает Отказ = Истина. Но вот почему я это не вижу, по шагам. А срывается, при появлении позиции в цикле, на которой нет остатка (((.
особо пока ничего не выяснил, но работает не понятно как ((((
(30) Да возможно сейчас почищу, но у меня какие то все моменты не поянтные.
(30) Сейчас займусь. По коду прост оне понятно что показывает. И в другой копии, несколько иначе работает я вот и запутался ((.
(34) То есть там написано как решить эту проблему что бы она не появлялась автоматически?
Пока я его почистил в ручную. И буду проверять сейчас.
(34) Сейчас я первый раз увидел что заходит в условие проверки остатков, срабатывает отказ и потом продолжить, как и должно было быть.
Но раньше, на шаге цикла именно срубалось все. Если это был кэш. То сейчас поправилось, я это увидел. Что было иначе. До очистки.
Спасибо за статью, буду ее изучать. И применять. А то это не дело с этим кэшем.
(34) После прочтения статьи, так и буду кэш чистить в ручную. Что этот бат файл делает не знаю. И на сколько он правильно сделан, тоже не знаю.
Использовать что то на свой страх и риск, нет желания. Страх сопровождает меня в сон, и приветствует при пробуждении и так. Я же с Искитима.
ОФФ: любопытные страдания излагает ТС, эпичные переживанию. Жаль не читает, что ему пишет. И делает всё на своей волне.
(40) Зачем решать задание извращенным методом? Какое это ФИФО, ЛИФО, если партия привязывается к абсолютно левому документу смены учетной политики, за такие решения руки отрывать надо по пояс!
(43) По поводу заданий, не имею возможности вызванным быть на дискуссию.
Этот код решений с авторитетного источника.
И если что то в нем не так.
Я даже не буду вы\являть что, и вдаваться в подробности.
Так как я лишь смотрю, и повторяю. тренируюсь.
В надежде на то что со временем разовью мышление и часть моментов будет очевидной.
Но вот. в данный момент. Я даже не вижу там того что ты тут говоришь.
И считаю что там все в порядке.
Двигаясь дальше в подготовке.
Возможно проходя это в следующие разы, буду встречаться с какими то очевидно не теми вещами. Наподобе того что говоришь тут ты.
Но сейчас я такого не вижу. и знать не знаю, Что что то тут не так.
Вопрос, был вообще в другом.
(41) > Вы флудераст?
Милота-то какая, Андрей выучил новое слово!
Правда еще традиционно не осознал, что оно значит и как это работает.
(46) Смогли бы, на моем месте. Когда бы вы поняли что вы превращены в решето. В прямом смысле. Весь в дырках. И они продолжают появляться регулярно и с новой силой. Вы смогли бы .
(50) Эмоции помогают при физических нагрузках. При нагрузках умственных эмоции только мешают. Спасибо за поддержку. Желаю заменить решето крепким туеском и быть более спокойным в поисках решений.
(51) Тут видите в чем дело.
от меня вообще ничего не зависит.
Я лишь желаю, хочу и делаю. С добром позитивно начинать каждый день. Устраняя что либо негативное.
На меня наваливается так, что дается понять. Что сейчас моими же руками, идет уничтожение моего мира. Меня и моих близких.
Причем, это было всю жизнь. Но сейчас дается понять, что ты не выгребешь. В смысле я. И меня честно шарашит, это не знаю как.
Я не буду вдаваться в подробности. Но, сам я из того что появляется. Заказывал только позитивное.
Ладно, спасибо вам и всем. Занимаюсь далее.
Как Вы думаете, что правильнее писать, например, в ОбработкаПроведения, если документ проводить нельзя?
(12) Исключение это обработка исключительной ситуации, когда выполнение кода может завершиться ошибкой исполнения. Это как микроскопом гвозди забивать, вам не кажется?
(16) конечно потеряется. вызов метода веб-сервиса просто завершится ошибкой, описание будет что то типа "документ не записан."
(13) Исключение выгодно использовать ,когда ошибку надо реально обработать. Например, необходимо внести информацию по ошибке и контексту в таблицу и по окончании процесса вывести ее пользователю.
(14) У ВызватьИсключение есть очень большой минус для групповой обработки - ломает транзакцию. Вместо того, чтобы записать/обработать 100500 элементов одной транзакцией приходится без нее в этом случае делать.
все зависит от случая .
мне больше нравится. Хотя я уверен что это не правильно (Есть такое мнение что все что мне нравится не правильно)
(23) в одной транзакции нужно обрабатывать только те данные в верность которых ты уверен на 1000 процентов.
(26) если мы проводим документ, а он не проводится (в результате проверок внутри обработки проведения) - это разве не исключительная ситуация?
(29) Целостность данных, конечно же. Но как побочный результат, можно слегка оптимизировать работу с БД.
Отказ = Истина; тоже генерирует исключение, только описание ошибки будет совсем не информативное: "Ошибка при вызове метода контекста (Записать): Операция не выполнена!"
(36) Что плюсы? Судя по вопросам, "Ты хочешь и Рыбку съесть и на стуле посидеть". Ты программист или Дворник?
"Будь мужиком, напиши свой обработчик ошибок!" :)
+(36) Ошибка "Не заполнен реквизит " Может быть всего лишь верхушкой Айзберга.
А ошибок может быть куева туча.
.
Но а ты со своим Исключением получишь только одну, да и то мало внятную, если напишешь в ошибку весь талмуд всех ошибок :)
(41) Читай (37). И программируй :)
Если лень, то пиши через Исключение.
.
Предлагаю написать по человечески в зависимости от потребности детализации ошибка на стороне Веб-Клиента :)
(44) Какое в опу нарушение целостности ,когда не обновлен/создан один из 100500 несвязанных элементов? А нагрузка на БД, если делать одной транзакцией будет меньше и отработает шустрее.
(44) Есть легенда, что на определенных объемах информации, через транзакцию быстрее пишутся данные.
Но есть и другая версия, о том, что при этой транзакции все курят бамбук. А так же если превысить определенный объем информации в транзакционном пакете, то скорость упадет куда больше ,чем простая запись :)
(45) связанные они или нет - неважно. к транзакционным системам есть требование атомарности, то есть или все изменения прошли, или ни одно.
"не даст проводить "роботом"" - это что за зверь?
(46) С учетом того, сколько времени отнимает встроенный язык, трансляция запросов и т.д. - кто-то правда задрачивает на оверхед от транзакционной машины в СУБД?
(52) Есть запись в журнал регистрации.
Опять же во многих случаях желательно проверить все ветки алгоритма. Вызов исключения приостанавливает выполнение.
(54) Конечно, это уже поставка от 1С, т.е. если документ не провелся, то получи исключение. Все нормально и логично. Я бы сказал ожидаемо :)
Если доступен флаг Отказ, то стараюсь нужно использовать его. Для случаев, когда Отказ недоступен можно использовать ВызватьИсключение.
+ установка Отказ в Истина не прерывает исполнения процедуры/функции.
(58) какой смысл в дальнейшем выполнении процедуры после того, как Отказ встал в Истина (транзакция полюбому отменяется)? Если только он в дальнейшем опять изменится на Ложь. Такое где нибудь применяется? В типовых точно нет.
(60) это конечно же тема отдельного разговора (выводить пользователю все найденные ошибки или только первую), так что давайте его на другой раз отложим. но извольте: пусть второй вариант опроса реализован чуть иначе: заведена отдельная переменная (например МойОтказ), а в конце процедуры ее значение анализируется и, если оно истинно, то уже вызывается исключение. ведь в этом случае второй вариант несет только плюсы?
(62) Сообщить вполне себе есть на сервере. Даже при вызове из фонового задания вполне работает. Даже то, что было запихано в Сообщить внутри фонового задания потом прочитать можно.
А вообще да, абстракции такие абстракции)
+(62) Отказ = Истина при выходе из ОбработкаПроведения точно так же все остановит, потому что Отказ = Истина это тоже генерация исключения.
(56) Если ты обрабатываешь исключение, то это просто перевод (goto) кода в обработчик исключение
Отказ это не исключение это ОтменитьТранзакцию
(64)
Да, согласный.
>Доступность:
>Сервер, толстый клиент, внешнее соединение.
Но суть в том, что ошибки которые мы хотим Сообщить, покажутся на клиенте только после окончания серверного вызова.
В этом плане, ИМХО, подход в бухе 7.7 (кажется) был самым правильным (после попытки провести отчет с результатом).
PS Все написанное мое личное мнение и может отличаться и других :)
(50) 10-25% процентов экономии порой. Не ахти-что, но иногда экономит лишние полчаса-час. Конечно, надо учитывать блокировки. А кто-то предлагает бездумно что-то использовать?
(63) Есть есть транзакция, то используется Отказ, если код выполняестся вне транзации - ВызватьИсключение.
(67) "Отказ это не исключение" - именно исключение. А откат транзакции это лишь следствие исключения. Если не веришь - попробуй в Попытка - Исключение записать объект, у которого в модуле объекта в "ПередЗаписью" стоит Отказ = Истина. Вывалишься в исключение.
(69) Как все запущено.
Если такой любитель наслаждаться сайд-эффектами - найди в коде все вызовы Новый БлокирвокаДанных и закомментируй. Тоже немало производительности выиграешь.
(74) Представляю, что ты скажешь на то, что я использую обновляю реквизиты документа прямым запросом :)
(72) Вообще то передЗаписью выполняется вне Транзакции.
Но это не суть. Смысл Отказа это установка флага ошибки.
Которое внутри процедуры не прекращает ход выполнения.
Но обрабатывается при выходе из предопределенной процедуры.
А дальше уже может вызываться исключение, Отмена Транзакции.
Смысл исключения перед отменой именно в немедленном прекращении процедуры с записью ошибки в журнал регистрации и вывода исключения для пользователя
Исключения которые перехватываются внутри процедуры это просто оператор перехода в обработчик исключения.
Возникает перед выполнением записи элемента справочника. Процедура-обработчик вызывается после начала транзакции записи, но до начала записи элемента справочника.
да флаг отмена вызывает отмену транзакции и исключение по выходе из процедуры.
ПередЗаписью модуля объекта выполняется уже в транзакции
Здравая мысль про запись в журнал регистрации (1-й вариант не пишет, 2-й пишет), это я как то упустил. Но все равно думаю это не очень существенно.
Но отмена например могла бы быть и результатом выполнения.
(86) Т.е. ты считаешь, что никогда и ни в коем случае, нельзя лезть в 1С прямыми запросами? И что же случится при этом? Мир рухнет, сатана вылезет из ада, солнце потухнет?
(79) Есть еще один минус исключений. Иногда невозможно полностью оттестить все ветки алгоритма, и например проведение записи документа ставишь в обработчик исключений.
Записываешь в ЖР, а пользователю сообщаешь что бы обратился к программисту.
То есть нужно еще разделять пользовательские исключения и исключения системы. В нормальных языках это регулируется классом ошибок.
Обычно при проведении интересно узнать все возможные причины отказа проведения, а не останавливаться на первой попавшейся.
А ведь этим темам не больше года.
Диагноз:
1. "Мальчик паталогически не переносит учебу" - т.е. на лицо банальная аллергия на на чтение документации
2. При этом самомнение - как у вчерашнего девственника, оценивающего свой сексуальный опыт
3. Первое и второе вместе - я бы тебе даже доступа в рабочую базу не дал.
(91) И что не так в этих темах? Ты уверен, что знаешь все? Уверен, что документация раскрывает все возможные проблемы? Я, например, не уверен.
А самомнение только у тебя. Т.к. твое представление о работе с транзакциями кажется единственно верным. А бедные быдлокодеры из шаражки Oracle напридумывали и используют такую ересь, как автономные транзакции. Не понимают своей ущербности :(
(91) Кстати, по мотивам v8: 1С 8.2 УФ. Событие НаКлиенте после отмены проведения. ,а тебе самому не показалось странным и нелогичным, что есть клиентское событие ПередЗаписью, серверное ПередЗаписьюНаСервере, но нет клиентского ПослеЗаписи? Мне вот показалось. Но у меня нет такого самомнения, чтобы быть уверенным в безвыходности этой ситуации :(
(92) Я уверен, что Вам объективно рано делать заявления, подобные (83) :)
А про вложенные транзакции - это ведь просто обертка над вторым коннектом к БД. Ваша "вложенная транзакция" не разделяет блокировок основной и т.д. И, что самое главное - описываемого Вами "ускорения" операций в транзакции Вы уже не получите - с таким же успехом, можете просто запускать фоновое задание в коде на встроенном языке и дожидаться его завершения из кода, выполняемого в транзакции - будет тоже самое.
Через эту штуку удобно делать всякие аудиторские записи, инкременты счетчиков за т.д - это да.
А за алгоритм вида "делаем построчный update, где не сделался - пропускаем" любой опытный ораклоид сперва оторвет Вам руки, а затем понесет директору служебку о Вашем несоответствии занимаемой должности :)
(94) "Я уверен, что Вам объективно рано делать заявления, подобные (83) " Т.е. Вы считаете ,что видели все и знаете обо всем? Печально, жить скучно, должно быть.
(95) Я видел достаточно, чтобы гордые рассказы об ускорении обработки за счет транзакций и прямые запросы к 1Сной базе вызывали у меня только facepalm. Остальное - Ваши домыслы
.
(94) "А про вложенные транзакции - это ведь просто обертка над вторым коннектом к БД." Вы это с постгрёй не путаете.
(96) Т.е. Вы мыслите исключительно основываясь на парадигме, что собеседник - дебил? Не спорю, это намного безопаснее и помогает избежать негативных последствий его действий, но вот в рациональности есть сомнения.
(97) https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/autonotransaction_pragma.htm - особенно много внимания уделяем разделу "Usage Notes" - про пересечения блокировок, дедлокам с вложенными транзакциями и т.д.
(98) Это зависит от того, что говорит собеседник. И как аргументирует свою точку зрения.
Читайте также: