Очередное собрание ошибок. Прочитай и не делай так::Журнал СА 6.2009
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
20.12.2019г.
Просмотров: 1235
Комментарии: 0
Dr.Web: всё под контролем

 Читать далее...

04.12.2019г.
Просмотров: 1257
Комментарии: 0
Особенности сертификаций по этичному хакингу

 Читать далее...

28.05.2019г.
Просмотров: 3785
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 4008
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 3203
Комментарии: 0
Django 2 в примерах

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Очередное собрание ошибок. Прочитай и не делай так

Архив номеров / 2009 / Выпуск №6 (79) / Очередное собрание ошибок. Прочитай и не делай так

Рубрика: Администрирование /  Ошибки сисадмина

Андрей Луконькин

Очередное собрание ошибок
Прочитай и не делай так

Непосредственное удаление

Чаще всего ошибка встречается в «самописных» (не типовых) конфигурациях. Несмотря на имеющуюся возможность, которую предлагает платформа, я бы рекомендовал отключать у пользователей права на непосредственное (интерактивное) удаление справочников и документов, даже у роли «Полные права». Не всегда пользователь точно знает, что удаляемый объект не связан ни с какими другими объектами базы данных (если не произведет поиск ссылок на объект). Поэтому в базе могут появляться некорректные записи, нарушающие целостность данных. Например, записи такого вида:

<Объект не найден> (103:ad3d0015176230fe11de4a92be828136)

Важно! Если у роли убраны также права «Удаление» и «Интерактивное удаление помеченных», то станет невозможным использование штатного механизма удаления помеченных объектов.

Ошибочное указание в проводке счета, являющегося группой

Актуально для «1С:Предприятия 7.7». При описании проводок документа иногда ошибочно указывает не счет, а группу счетов, что не допустимо.

Например:

Операция.НоваяПроводка();

Операция.Дебет.Счет=СчетПоКоду("23");

Операция.Дебет.Затраты=Затраты;

Операция.Кредит.Счет=СчетПоКоду("10");

Операция.Кредит.Материалы=Материалы;

Операция.Кредит.МестаХранения=МестаХранения;

Операция.Количество=Количество;

Операция.Записать();

Здесь счет по кредиту задан 10-й (материалы). Правильно было бы указать счет, корреспондирующий со счетом, не являющимся группой – 10.1 или 10.6.

В «1С:Предприятие 8» ситуация с проводками несколько иная. У каждого счета есть признак «Запретить использовать в проводках», которым может управлять сам пользователь. Поэтому ограничением для использования счета в проводках является только данный признак.

Ошибся – повтори ввод снова

Интересную ситуацию я обнаружил в вопросе пользователя на одном из форумов. Оказывается, не всегда платформа корректно отрабатывает ввод текста программы. Приведу конкретный пример.

Отбoр = НoвыйСтруктура("Номенклатура",ЭлементНоменклатуры);

Видим явную ошибку, после оператора «Новый» по ошибке пропущен пробел. Казалось бы, куда уж проще вставить пробел. Но нет, добавление пробела не приводит к нужному результату! Получаем строку кода, написанную корректно с точки зрения синтаксиса, но платформа не воспринимает оператор «Новый» как зарезервированное слово.

Отбoр = Нoвый Структура("Номенклатура",ЭлементНоменклатуры);

Синтаксический контроль выдаёт ошибку:

Отбoр=Нoвый<<?>>Структура("Номенклатура",ЭлементНоменклатуры);

Остаётся только удалить и набрать снова вручную

«Новый», и только после этого получаем желаемый результат:

Отбoр = Нoвый Структура("Номенклатура",ЭлементНоменклатуры);

Платформа должна быть однообразной

Не раз я слышал фразы вроде «Да какая разница, какая платформа, ведь работает же!». В «1С:Предприятии 8» этот вопрос практически закрыт, т.к. отслеживаются версии платформы при подключении к одной базе данных. В «1С:Предприятии 7.7» иногда используют одновременно 25 и 27 релиз платформы. Чем это чревато?

В принципе сюрпризов можно ждать где угодно. Начиная от внезапного пропадания документов и заканчивая невозможностью использования отчетов, созданных на 27-й платформе, на клиентах с установленной 25-й платформой. Кроме того, различие платформ неблагоприятно сказывается при работе с распределенными базами данных:

DistUplErr 5 "SQL State: 23000 Native: 2601 Message:

[Microsoft][ODBC SQL Server Driver][SQL Server]

Невозможно вставить повторяющуюся ключевую строку в объект

""dbo.CJ5959"" с уникальным индексом ""ID"". 

SQL State: 01000 Native: 3621 Message:

[Microsoft][ODBC SQL Server Driver][SQL Server]

Выполнение данной инструкции было прервано.

Если вы не желаете видеть подобные ошибки, то не поленитесь, установите на всех компьютерах одинаковые платформы.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru