Главная » Планиметрия » Ошибки в работе с 1с бухгалтерия. Наиболее частые ошибки «1С» и методы их исправления. Индекс находится за границами массива

Ошибки в работе с 1с бухгалтерия. Наиболее частые ошибки «1С» и методы их исправления. Индекс находится за границами массива

Совсем недавно, начиная с версии 3.0.43.50, в программе 1С:Бухгалтерия 8 редакция 3.0 в документ «Корректировка поступления» разработчиками добавлен новый вид операции Исправление собственной ошибки. Теперь документ позволяет не только регистрировать полученные от поставщика исправленные или корректировочные счета-фактуры и производить соответствующую корректировку в учете, но и исправлять допущенные работниками бухгалтерии технические ошибки. В данной статье мы на конкретном примере подробно рассмотрим, как можно исправить в бухгалтерском учете и в целях налогообложения ошибку, совершенную при вводе в программу сведений из первичного документа.

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

Рассмотрим пример

Организация «Рассвет» применяет общий режим налогообложения – метод начисления и Положение по бухгалтерскому учету (ПБУ) 18/02 «Учет расчетов по налогу на прибыль организаций». Организация является плательщиком НДС.

В январе 2016 года при вводе в программу первичного документа, предъявленного сторонней организацией акта об оказании услуг, бухгалтер-операционист допустил две ошибки. Во-первых, указал неверную стоимость услуги, а во-вторых, при регистрации полученного от поставщика счета-фактуры, ошибся в указании его номера. Полученный от поставщика акт об оказании услуг регистрируется в программе с помощью документа Поступление с видом операции Услуги. В графе «Сумма» табличной части документа вместо правильных 6 000 рублей было указано 5 000 рублей.

Полученный счет-фактура регистрируется в «подвале» документа путем указания его номера и даты. Вместо «настоящего» номера 7 был указан номер 1.
Расходы на приобретенную услугу в бухгалтерском учете относятся к общехозяйственным расходам (счет учета 26). Документ Поступление с вышеперечисленными ошибками и результат его проведения представлены на Рис. 1.


При проведении документ в бухгалтерском учете и в целях налогообложения прибыли учел стоимость услуг без НДС по дебету счета 26 «Общехозяйственные расходы», выделил по дебиту счета 19.04 «НДС по приобретенным услугам» сумму предъявленного поставщиком НДС в корреспонденции с кредитом счета 60.01 «Расчеты с поставщиками и подрядчиками». Также документ сформировал запись в регистр накопления НДС предъявленный, который является основанием для формирования записей в книгу покупок.

Следовательно, в результате допущенной ошибки при указании стоимости услуги в бухгалтерском учете и в целях налогообложения прибыли занижена сумма расходов, занижена сумма предъявленного НДС и занижена задолженность перед поставщиком.

Документ Счет-фактура полученный формируется в программе на основании документа Поступление и, как следствие, содержит неправильные сумму и сумму НДС.

Сформированный с неправильным номером документ Счет-фактура полученный приведен на Рис. 2.

В программе сумма НДС может приниматься к вычету либо с помощью регламентного документа Формирование записей книги покупок, либо непосредственно в документе Счет-фактура полученный, при включенном флажке Отразить вычет НДС в книге покупок датой получения.

Результат проведения документа Счет-фактура полученный приведен на Рис. 3.

Документ при проведении в бухгалтерском учете принял к вычету сумму НДС и сформировал запись в регистр НДС Покупки (в книгу покупок), соответственно, с заниженной суммой НДС и ошибочным номером счета-фактуры.
Книга покупок за первый квартал показана на Рис. 4.

Стоимость услуги была оплачена поставщику только в следующем квартале. Документ Платежное поручение был создан на основании ошибочного документа Поступление.

Проводка соответствующего документа Списание с расчетного счета, созданного при получении выписки с расчетного счета, показана на Рис. 5.

Наконец, в результате проведенной с поставщиком сверки взаиморасчетов, во втором квартале данная ошибка была обнаружена. Отчетность по НДС за первый квартал на данный момент уже была сдана.

Давайте вначале вспомним, как должна исправляться такая ошибка в бухгалтерском и налоговом учете.

В соответствии с п. 5 ПБУ 22/2010 «Исправление ошибок в бухгалтерском учете и отчетности», ошибка отчетного года, выявленная до окончания этого года, исправляется записями по соответствующим счетам бухгалтерского учета в том месяце отчетного года, в котором выявлена ошибка.

В соответствии с п. 1 ст. 54 НК РФ, при обнаружении ошибок (искажений) в исчислении налоговой базы, относящихся к прошлым налоговым (отчетным) периодам, в текущем налоговом (отчетном) периоде перерасчет налоговой базы и суммы налога производится за период, в котором были совершены указанные ошибки (искажения).

Правда из этого правила есть исключения. В соответствии с тем же самым пунктом НК РФ, налогоплательщик вправе провести перерасчет налоговой базы и суммы налога за налоговый (отчетный) период, в котором выявлены ошибки (искажения), относящиеся к прошлым налоговым (отчетным) периодам, когда допущенные ошибки (искажения) привели к излишней уплате налога.

Как мы уже говорили, в результате допущенной ошибки, была занижена сумма расходов. Следовательно, в целях налогообложения прибыли, была завышена налогооблагаемая база (прибыль) и, соответственно, это привело к излишней уплате налога. Поэтому исправления в целях налогообложения прибыли можно произвести в текущем отчетном периоде, как и в бухгалтерском учете.

А вот для того, чтобы разобраться, как нам поступить с НДС, мы обратимся к Постановлению Правительства Российской Федерации № 1137 от 26.12.2011 года. В соответствии с п. 4 Правил ведения книги покупок, при необходимости внесения изменений в книгу покупок (после окончания текущего налогового периода) аннулирование записи по счету-фактуре, корректировочному счету-фактуре производится в дополнительном листе книги покупок за налоговый период, в котором были зарегистрированы счет-фактура, корректировочный счет-фактура, до внесения в них исправлений.

Для исправления описанной нами ошибки мы воспользуемся документом Корректировка поступления и в качестве вида операции выберем Исправление собственной ошибки.

На закладке Главное необходимо выбрать основание – это тот документ поступления, в котором допущена ошибка, который мы будем корректировать (в нашем случае это документ Поступление (акт, накладная) № 1 от 11.01.2016 г.). Чуть ниже, при выборе основания, автоматически отражается ссылка на исправляемый документ Счет-фактура полученный и его реквизиты.

Нам необходимо исправить входящий номер (новое значение равняется 7). На данной закладке можно выбрать, где будет отражаться корректировка: только в учете НДС или во всех разделах учета (мы хотим внести исправления в бухгалтерский учет, в учет по налогу на прибыль и в учет НДС). Также можно выбрать счета для отражения доходов и расходов.

Заполненная закладка Главное документа Корректировка поступления представлена на Рис. 6.

Если для исправления ошибки, необходимо исправлять какие-то суммовые показатели, то тогда могут понадобиться закладки: Товары, Услуги, Агентские услуга.
Так как в нашем примере ошибка допущена при вводе в программу акта об оказании услуг, мы воспользуемся закладкой Услуги и укажем правильную цену – 6 000 рублей.
Закладка Услуги документа Корректировка поступления представлена на Рис. 7.

При проведении документ в бухгалтерском учете сторнирует ошибочную проводку по вычету НДС (Дт 68.02 - Кт 19.04) на сумму 900 рублей и сформирует правильную проводку на сумму 1 080 рублей. Дополнительно выделит по дебету счета 19.04 недостающую сумму предъявленного поставщиком НДС (180 рублей), увеличит по дебету счета 26 «Общехозяйственные расходы» в бухгалтерском и налоговом учете сумму расходов на услугу (1 000 рублей) и, соответственно, увеличит по кредиту счета 60.01 сумму задолженности поставщику (1 180 рублей).
Проводки документа Корректировка поступления представлены на Рис. 8.

Кроме проводок в бухгалтерском и налоговом учете документ сформирует записи в регистрах накопления по НДС.
В регистре НДС предъявленный (суммы НДС, предъявленные поставщиками) будет зафиксирован приход на правильную сумму НДС, и, так как эта сумма НДС непосредственно документом регистрируется в книге покупок, сразу же будет отражен ее расход.

В регистре НДС Покупки будут сформированы две записи. Первая запись - это сторно не правомерно принятой к вычету суммы НДС с ошибочным номером счета-фактуры. А вторая запись - это вычет правильной суммы НДС по счету-фактуре с правильными реквизитами. Так как исправления вносятся в прошлый налоговый период по НДС, в сформированных записях будет проставлен признак дополнительного листа и прописан соответствующий корректируемый период.
Сформированные документом Корректировка поступления записи в регистры накопления представлены на Рис. 9.

Также при проведении документа в программе будет создан (зарегистрирован) новый документ Счет-фактура полученный с пояснением «исправление собственной ошибки» (смотри Рис. 6). Данный документ можно просмотреть в списке документов Счет-фактура полученный. Ошибочный и исправленный документы показаны на Рис. 10.

Форма исправленного документа Счет-фактура полученный содержит дату исправления и ссылку на исправляемый документ. Также в форме документа присутствуют значения реквизитов полученного от поставщика счета-фактуры до исправления ошибки и после ее исправления (Рис. 11).

Давайте, для проверки корректности наших действий, сформируем книгу покупок за первый квартал – налоговый период, в котором была допущена ошибка.
В формируемом нами отчете укажем нужный период. В настройках отчета включим флажок «Формировать дополнительные листы» и укажем вариант формирования – за текущий период.
Настройки отчета Книга покупок показаны на Рис. 12.

Посмотрим дополнительный лист книги покупок.
Как и положено, в дополнительном листе указывается номер дополнительного листа, налоговый период и дата составления. В графе 16 табличной части приводится итоговая сумма НДС за налоговый период до составления дополнительного листа.
В дополнительном листе присутствуют, как мы и ожидали, две строки: сторно по счету-фактуре с ошибочными номером и суммами и исправленная запись с правильным номером счета-фактуры и правильными суммами.
Дополнительный лист книги покупок за первый квартал представлен на Рис. 13.

В начале юридического договора, особенно в ИТ области, обычно есть раздел под названием Термины. В нем объясняется — что значит или включает в себя то или иное ИТ слово.

Но кроме действительно сложных слов как сервер или сайт также и обычные, всем известные слова у программистов могут значить совсем другое. Например ошибки. В общечеловеческом смысле это слово означает неправильное действие. Такое, за которое его автору может быть даже стыдно.

В программистом смысле слово ошибки имеет, наверное, два уточнения..

Что означает термин «ошибка» в программировании и в 1С

Ошибка – это поведение программы, отличающееся от задуманного. Каждый компьютер это уникальный комплекс программ и железа, отличающийся от другого компьютера.

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

Сюда же вероятно можно включить те ситуации, когда программа делает что-то не так, потому что программист о чем-то забыл или недодумал.

Ошибка – это специальное сообщение программы о сложившихся обстоятельствах, когда программа не может сделать так, как предполагалось она будет делать. Возможно покажется, что это то же самое, но это не так.

Например, программист задумывал, что сначала пользователь откроет файл, а потом программа сделает то-то и то-то. Однако когда программа была скопирована пользователю на компьютер и пользователь забыл открыть файл. Или пытался открыть, но файл оказался некорректный или винчестер «битый».
И программа сообщает пользователю: Эй, тут ошибка! Я не могу сделать то, что должна.

Ошибки 1С имеют несколько уровней – во первых сообщения об ошибках 1С могут принадлежать , которая сообщает о невозможности выполнить какие-то действия, которые она должна была выполнить из-за сложившихся обстоятельств.

Второй уровень – это ошибки 1С в программе на языке 1С. Да, платформа выполняет успешно написанную программистом 1С программу, но программа может быть написана некорректно или также не может быть выполнена именно в сложившихся обстоятельствах (на этом компьютере, при таких действиях конкретного пользователя и т.п.).

Третий уровень – это ошибки 1С в данных. Данные в базе данных взаимосвязаны друг с другом. Тем не менее могут встречаются ситуации когда данные «портятся». Например, в одной из форм не стоят достаточные проверки, чтобы особенно креативный пользователь ввел что-то неправильно. Далее программа может сработать неверно, потому что алгоритм не предполагал что кто-то введет такое..

Сообщение об ошибке 1С

1С сообщает об ошибке выполнения программы на языке 1С с помощью типового окошка с текстом ошибки 1С и кнопками ОК и Подробнее.

Причем секрет тут в том, что в этом окошке отображается только краткое сообщение об ошибке 1С, которое зачастую программисту ни о чем не говорит.

Чтобы увидеть полное – нужно нажать на кнопку Подробно. Уже там будет отображена даже строка программы, в которой произошла ошибка 1С. Также можно перейти прямо в конфигуратор к этой строке.

Но пользователи об этом не знают.. И всегда присылают скриншот того первого окошка. Если присылают 🙂

Генерация исключения

Итак, мы рассматриваем ошибку 1С в программировании как способ/возможность программе сообщить пользователю о том, что она не может что-то сделать.

Пример. Нужно открыть файл. Но при открытии возможны ошибки 1С – например у пользователя нет доступа на чтение файла. Мы можем написать так:


Если Файл = Ложь Тогда
Сообщить(«Не удалось открыть файл»);
Иначе
//программа идет дальше, делаем что-то с файлом
КонецЕсли;

В данном примере мы учли, что файл может быть не открыт с помощью конструкции «Если».

Однако у данного примера есть очевидные минусы:

  • Таких вариантов может быть много (не откроется файл, не прочитается файл до конца, пользователь пьян, выключили электричество..)
  • Могут быть неучтенные варианты, про которые программист не подумал.

Поэтому в программировании принято использовать прием под названием «генерировать исключение» — то есть позволить ошибке 1С произойти.

Программа делает вид, что файл в любом случае откроется. Никаких «Если» не пишется. Если же что-то пойдет не так, то программа собственно и сообщит об ошибке 1С – ее выполнение прервется.

1С сама файл не открывает – она вызывает команду Windows API. Windows написана также с использованием этого приема. Таким образом Вы можете представить себе цепочку прерываний выполнения, начинающуюся с Windows:

  • Язык 1С – команда открыть файл
  • Платформа 1С – команда открыть файл
  • Windows API – команда открыть файл
  • Программа на ассемблере – команда открыть файл
  • Опа! Файл не открывается!
  • Программа на ассемблере прервана!
  • Функция Windows API прервана!
  • Платформа 1С выполнение программы прервано!
  • Программа на языке 1С прервана!
  • Пользователь видит сообщение.

Вопрос: кто выводит тогда сообщение об ошибке 1С? Откуда оно берется?

Перехват и обработка исключения

Так мы подходим к следующему приему: перехват исключений, сгенерированных во время выполнения этой цепочки.

Исключения переходят с нижнего уровня выполнения наверх, по цепочке. Если последний уровень не обработал исключение – то это сделает предыдущий уровень.

Пример. Обработаем исключение в языке 1С:
Попытка
Файл = ОткрытьФайл(ИмяФайла);
Строка = Файл.Прочитать();
Исключение
Сообщить(«Файл не удалось открыть: не существует или нет прав доступа»);
КонецПопытки;

В этом примере мы обработали самостоятельно исключение (т.е. исключительную ситуацию или ошибку 1С). Таким образом именно мы сообщаем пользователю о произошедшей «ошибке» — невозможности открыть файл.

Когда мы делаем это самостоятельно – мы можем и не сообщать пользователю ничего, а просто пойти по другому варианту выполнения программы.

Легко заметить, что этот способ можно применять в том числе и на случай, когда в каком-то участке кода может произойти «какая-нибудь» ошибка 1С. Мы ее «ловим» и обрабатываем или сообщаем о ней пользователю.

Что будет, если не перехватить и не обработать ошибку 1С на нашем «верхнем» уровне? Тогда о ней сообщит следующий уровень ниже — платформа 1С. Как она это делает, мы только что говорили и смотрели на скриншоте.

Что будет, если платформа не отработает это? Правильно – это обычно отработает более нижний уровень – Windows. В этом случае программа 1С «упадет», а Windows сообщит – программа совершила недопустимую операцию и будет закрыта.

Что будет, если Windows не отработает это? Вы наверняка это видели – компьютер зависнет или перезагрузится.

Вложенный перехват и транзакции

Как Вы думаете, какие сообщения увидит пользователь при выполнении данного примера?

Попытка
Попытка
ф = 1/0;
Исключение
Сообщить("Конкретная ошибка");
КонецПопытки;
Исключение
Сообщить("Общая ошибка");
КонецПопытки;

Верно! Сработает внутренний обработчик и сообщит «Конкретная ошибка», а внешний не сработает.

Однако с точки зрения программы здесь произошла ошибка 1С, хотя она и была отработана. Где-то там у себя в мозгах платформа запомнила – здесь была ошибка 1С.

Это имеет значение для выполнения транзакций. Транзакция – это несколько действий с данными в базе данных, которые должны выполняться только вместе. Как мы понимаем возможно причиной их невыполнения вместе могут быть ошибки 1С. Поэтому существует следующий механизм:

НачатьТранзакцию();
//создали справочник 1, но на самом деле он не записался в базу данных
Спр1.Записать();
//создали справочник 2, но на самом деле он не записался в базу данных
Спр2.Записать();
ЗафиксироватьТранзакцию();
//эта команда записала в базу данных все, что было сделано начиная с ‘НачатьТранзакцию’

Функция ЗафиксироватьТранзакцию() может быть выполнена только в случае, если с момента вызова НачатьТранзакцию() не произошло ни одной ошибки 1С.

Если Вы при написании подобного кода понимаете, что в этой строке кода может быть ошибка 1С – Вы можете поставить ее обработку с помощью Попытка/Исключение. Однако платформа в этом случае все равно учтет, что ошибка 1С произошла и не станет фиксировать транзакцию и записывать данные в базу данных.

Непреднамеренные ошибки 1С

Итак, в программе 1С программистом может быть допущена ошибка 1С. В этом случае платформа 1С сообщит о ней.

В случае, если не удается понять, почему и когда такая ошибка 1С возникает, Вы можете использовать Попытка/Исключение, чтобы обработать ошибку 1С.

Также Попытка/Исключение можно использовать в случае, когда Вы хотели бы создать гарантированно безошибочный участок программы. Вы сможете быть уверены, что если даже ошибка 1С произойдет, то Вы ее отлавливаете и отрабатываете специальным образом.

Преднамеренные ошибки 1С

Вы можете в тексте программы делать вид что файл всегда откроется и число всегда поделится. Но использовать Попытка/Исключение как способ переключить программу на другой вариант исправления в случае, если такое произойдет. Или просто сообщить пользователю об ошибке 1С.

Собственный вызов ошибки 1С

Вы можете самостоятельно создавать функции, которые в случае невозможности своего выполнения могут сообщать об этом с помощью генерации исключения.

Это можно сделать вот так:

Функция СделатьЧтото(Параметр)
Если Параметр = Неопределено Тогда
ВызватьИсключение «Ошибка в функции СделатьЧтото. Не указан параметр»;
КонецЕсли;
КонецФункции

Для чего это требуется? В случае, когда Вы создаете функцию, которой будете пользоваться во многих местах, а может будут пользоваться и другие – это красивый способ одновременно убить нескольких зайцев:

  • Отработать ошибку 1С
  • Сообщить об ошибке 1С на уровень выше (программе, которая вызывала эту функцию)
  • Сообщить не только об ошибке 1С, но и текст/подробности
  • Гарантированно прервать выполнение не только своей функции, но и всех уровней, если программист писавший их не подумал о том, что такая ошибка 1С может быть и не обработал ее.

Более корректные способы сообщения об ошибке 1С

Обычно когда требуется сообщить что-то пользователю, используются .

Однако в типовых конфигурациях, таких как Бухгалтерия, Управление торговлей, УПП – есть специальная функция:
ОбщегоНазначения.СообщитьОбОшибке(«Текст»);

Ее плюсы:

  • Форма сообщения зависит от запущенного клиента
  • Записывает сведения в журнал регистрации
  • В некоторых конфигурациях реализована более красивая форма сообщения об ошибке 1С.

Анализ ошибок

При работе платформы 1С работает журнал регистрации. Кроме действий пользователя он также сохраняет сведения об ошибках 1С, которые происходили в течении работы платформы 1С.

В конфигураторе выберите пункт меню Администрирование/Журнал регистрации.

Нажмите кнопку Отбор (как на картинке). Установите отбор событий только по ошибкам 1С.

Журнал отобразит список происходивших ошибок. Кликните на строчку, чтобы рассмотреть конкретное сообщение подробнее.

В этой статье будут объяснены причины возникновения, разновидности и способы устранения
«Ошибки формата потока» 1С.

Каждый, кто работает с 1С:Предприятие в любой конфигурации хотя бы раз видел перед глазами окно с ошибкой «Ошибка формата потока».

Данное окно входит в ТОП-3 самых распространенных ошибок 1С:Предприятие. Оно неприятно из-за своей не информативности. Непонятно: где, в чем ошибка? Естественной реакцией будет нажатие кнопки «Перезапустить», но с высокой вероятностью можно утверждать, что перезапуск проблему не устранит, и пользователь снова увидит данное окно.

В этой статье будут объяснены причины возникновения, разновидности и способы устранения «Ошибки формата потока» 1С.

Почему 1С 8 пишет «Ошибки формата потока»?

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

Но что произойдет, если файл “кэша” будет записан с ошибкой/ошибками, в результате неправильного завершения сеанса работы, либо скачка напряжения, либо сбоя сети (для клиент-серверного варианта работы 1С)? При следующей попытке обращения к “кэшу” 1С не сможет прочитать файл и появится окно “Ошибка формата потока”. “Битый кэш” является самой частой причиной возникновения этой ошибки.

Кроме некорректно записанного кэша могут быть также некорректно записаны документы (или справочники, или любой другой объект) в информационную базу и это тоже может стать причиной возникновения рассматриваемой в данной статье ошибки.

Виды ошибки формата потока

Условно ошибку формата потока 1С можно поделить на 2 вида:

  • Первый вид – это ошибка, возникающая при старте 1С. Она является результатом некорректного завершения сеанса работы, отключения электричества; либо появляется после . В данном случае ошибку нужно искать в кэше.
  • Второй вид – это ошибка, возникающая в процессе работы с 1С,например, при открытии справочника, или при проведении документа, или при формировании отчета или при обновлении. В таком случае ошибку нужно искать в информационной базе.

В зависимости от вида ошибки можно выбрать наиболее подходящий вариант ее устранения. Но можно использовать и все способы по очереди, пока один из них не сработает. Способы не нанесут вреда вашей базе 1С 8. Впрочем, если действовать как настоящий профессионал – стоит сначала сделать бэкап, а уже потом бороться с “Ошибкой формата потока”.

Как устранить “Ошибку формата потока”?

Рассмотрим ТОП способов решения:

1. Почистить кэш 1С

Данный способ подробно был рассмотрен в нашей статье “ ”. Вкратце напомним. Для удаления файлов кэша вручную необходимо найти папки, где кэш хранится. Для операционных систем Win7 и выше временные файлы хранятся по адресу C:\Users\Username\AppData\Roaming\1C и C:\Users\Username\AppData\Local\1C в папках, начинающихся с «1cv8». В Windows XP, в папке пользователя по адресу Local Settings\Application Data\1C\. Если папка AppData не видна – настройте видимость скрытых папок. Ниже на рисунке показано, как выглядят файлы кэша – папки с длинными непонятными именами (в нашем случае файл всего один). Для очистки кэша нужно удалить эти папки.

Важно! Удалять папки можно только тогда, когда завершены процессы работы с 1С:Предприятие.

2. Запустить тестирование и исправление 1С

В режиме конфигуратора нужно кликнуть по пункту меню “Администрирование” и затем “Тестирование и исправление”.

Должны быть отмечены первые два пункта “реиндексация таблиц информационной базы” и “проверка логической целостности информационной базы”. Нажмите кнопку “Выполнить”. Система сама проверит базу, найдет ошибки, исправит их и предоставим вам отчет о проделанной работе. При необходимости отметьте также третий пункт “проверка ссылочной целостности информационной базы”.

3. Запуск«chdbfl.exe»

Если нет возможности зайти в конфигуратор, тогда запустите программу «chdbfl.exe», которая находится: «C:\Program Files (x86)\1cv8\8.3……\bin» . Выберите файл Базы Данных, отметьте галочкой “Исправлять обнаруженные ошибки” и нажмите кнопку “Выполнить”. Дальше система все сделает за вас. Система сама проверит базу, найдет ошибки и исправит их. Во время работы программы «chdbfl.exe» не должно быть активных сеансов работы с 1С.

4. Выгрузить и загрузить информационную базу в.dt

В режиме конфигуратора выберите пункт меню “Администрирование” и кликните “Выгрузить информационную базу”. После этого выберите место куда хотите сохранить файл базы (.dt), задайте файлу имя и нажмите “Сохранить”.

После этого создайте новую пустую базу у себя на компьютере (либо на сервере). Зайдите в конфигуратор новой базы, нажмите “Администрирование”, затем “Загрузить информационную базу”. Выберите подготовленный ранее файл и нажмите “Открыть”.


5. Выгрузить и загрузить данные XML.

Данный способ может повлечь потерю данных, поэтому его рекомендуется использовать только опытным пользователям. Способ схож с предыдущим и заключается в том, что сначала база выгружается, (только не в.dt, как в предыдущем способе, а в специальный формат.XML). Затем база загружается обратно. Делается это с помощью встроенной обработки “Выгрузка и загрузка данных XML”.


6.Обновление 1С

Причиной рассматриваемой ошибки может стать наличие активных сеансов пользователей, работающих в разных версиях . Например, в базе есть активный сеанс пользователя с платформой 1С 8.3.5…., а пытается подключиться другой, с версией 8.3.4…. Если на компьютере установлены несколько версий – убедитесь, что в окне редактирования информационной базы выбрана нужная вам “правильная” версия.


7. Другие способы.

В 99% случаев вышеописанные способы борьбы с “Ошибкой формата потока” эффективно сделают свою работу и ошибка “уйдет”. В оставшемся 1% придется применять более сложную диагностику, иногда выходящую за рамки 1С, например: почистить временные файлы компьютера, а не только кэш 1С; проверить жесткий диск на битые сектора при помощи утилиты “chkdsk.exe”; проверить компьютер антивирусом. Можно даже попробовать запустить базу 1С на другом компьютере и таким образом локализовать проблему, убедившись, что ошибка кроется именно в информационной базе, а не в железе и не в Операционной Системе.

Данная статья создана в помощь столкнувшимся с ошибкой 1С “Ошибка формата потока”, здесь были рассмотрены и объяснены причины ее появления, её условные виды и способы устранения. Ошибка выглядит страшно и непонятно из-за своей неопределенности, но, как видим, устранить данную ошибку по силам каждому.

Одной из самых неприятнейших встречающихся ошибок при работе с 1С 8.3 или 8.2 является «Ошибка формата потока». Причин ее появления может быть множество и их не всегда легко установить. При этом окно уведомления об ошибке далеко не эталон информативности.

Первым делом попробуйте подумать над тем, что же всё-таки могло привести к данной неполадке.

Наиболее распространенные причины

Самой распространенной причиной ошибки формата потока является неправильная обработка кэша программой 1С 8. Вспомните, не было ли перебоев электропитания до ее возникновения, обновления конфигурации? Корректно ли был завершен сеанс работы пользователя? Зачастую в таком случае ошибка формата потока будет возникать не на всех компьютерах. Проблемы лучше предупреждать, чем потом исправлять, поэтому рекомендуется использовать источники бесперебойного питания на компьютерах.

Ошибка может появляться на всех компьютерах, но при этом только при чтении каких-либо данных, например: при формировании определенного отчета, при загрузке базы, при запуске конфигуратора. В таком случае вероятнее всего, что эти данные были повреждены и программа не может обработать «битую» информацию.

Как исправить ошибку формата потока

  1. Первым делом попробуйте . Если на одном компьютере программа работает нормально, а на другом появляется ошибка формата потока, то, скорее всего этот способ именно для вас.
  2. В том случае, если очистка кэша не помогла, попробуйте открыть информационную базу в режиме конфигуратора и запустите .
  3. Если вам не удалось зайти в конфигуратор, но база файловая – воспользуйтесь ChDBFl.exe. Данная утилита является аналогом тестирования и исправления ошибок в конфигураторе, но более простым.
  4. Убедитесь, что все текущие пользователи данной информационной базы используют одинаковую версию платформы. Если версии различаются, то установите всем актуальные.
  5. Если 1С запускается в режиме «Предприятие», то выгрузите все данные при помощи универсальной выгрузки/загрузки в новую базу.
  6. Отключите, а при необходимости удалите все фаерволы и антивирусы.
  7. Если данная информационная база клиент – серверная, то проверьте, хватает ли дискового пространства на сервере в папке для хранения временных данных.
  8. Удалите платформу 1С (через панель управления) и установите заново.
  9. Если информационная база открывается в конфигураторе, попробуйте выгрузить ее в файл *.dt и загрузить в пустую.
  10. Воспользоваться HEX-редактором, заменив содержимое чистой базы содержимым той, в которой произошла ошибка.

Если все эти способы вам не помогли, что маловероятно, то тут только бубен в помощь или квалифицированный специалист.

Причин возникновения таких ошибок может быть множество. Первое, что имеет смысл делать в случае возникновения таких ошибок — определиться с источником проблемы.

    Уточнить обстоятельства и сроки появления ошибки: неисправность, которая не может быть воспроизведена, возможно, является просто случайностью, сбоем.

    Проверить работу программы с другого компьютера и от другой учётной записи пользователя.

    Проверить релизы платформы и конфигурации: соответствует ли текущая версия последней официальной.

В дальнейшем, если вы не справитесь с ошибкой самостоятельно, вам надо будет объяснить природу её появления специалисту, соответственно, эти вопросы возникнут в любом случае.

Есть целый ряд ошибок, возникающих при использовании нелицензионного программного обеспечения (как продуктов «1 °C» , так и, например, операционной системы «Windows»). Характерный пример в случае «ломаной» платформы «1С»: патч, взламывающий конкретную версию платформы, перестаёт работать после установки новой версии платформы, вход в базу в этом случае приведёт к появлению сообщения «Не обнаружено свободной лицензии».

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

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

Ошибка Методы исправления

База не открывается

    Обновление платформы.

    Очистка временных (cash) файлов: удалить базу из списка и подключить её же заново.

    Вход в базу от другой учётной записи.

Ничего не работает без видимых причин

    Обновление платформы.

    Поиск причины сбоя в журнале регистрации.

Dump базы при запуске

    Отключение аппаратное ускорения видеокарты средствами Windows, перезагрузка системы.

База открывается в конфигураторе, но не в пользовательском режиме

    Обновление платформы.

    Очистка временных (cash) файлов.

    Вход в базу от другой учётной записи (и/или от записи администратора).

    Вход в базу с другого компьютера (чтобы исключить общую неисправность текущего).

    Тестирование тестирования физической целостности базы с помощью утилиты «chdbfl» (папка C:\Program Files (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe) или, в случае базы-SQL , — тестирование средствами SQL.

    Тестирование и исправление ИБ средствами конфигуратора.

Программа без предупреждения открывает код конфигуратора

    Обновление платформы.

    Очистка временных (cash) файлов.

    Проверка кода в отладчике.

Как правило, такая ситуация возникает из-за ошибок в изменённом коде, чаще всего — в случае нетиповых конфигураций.

Программа работает по-разному для разных пользователей

    Обновление платформы.

    Очистка временных (cash) файлов.

    Настройка прав групп.

    Настройка прав пользователя.

Неправильное отображение блоков формы

    Обновление платформы.

    Очистка временных (cash) файлов.

    Вход в базу от другой учётной записи (и/или от записи администратора).

    Вход в базу с другого компьютера (чтобы исключить общую неисправность текущего).

Программа не работает на каком-то компьютере в работающей сети, но работает на остальных

    Проверка сетевых прав данного компьютера (средствами Windows).

    Обновление платформы. В том числе следует проверить соответствие релизов конфигураций и платформы в пределах сети.

    Очистка временных (cash) файлов.

    Вход в базу от другой учётной записи (и/или от записи администратора).

Недостаточно памяти

    Обновление платформы.

    Очистка временных (cash) файлов.

    Вход в базу от другой учётной записи (и/или от записи администратора).

    Вход в базу с другого компьютера (чтобы исключить общую неисправность текущего).

    Оптимизация проблемных запросов.

    Аппаратное увеличение объёма памяти.

    Увеличение размера файла подкачки.

    Управление выделенной памятью через командную строку Windows. Строка: «bcdedit /set increaseuserva 3072», где 3072 — размер желаемой адресной памяти.

Ошибка СУБД, внутренняя ошибка компоненты dbeng8

    Обновление платформы на всех компьютерах сети.

    Тестирование тестирования физической целостности базы с помощью утилиты «chdbfl"ю.

Эта ошибка характерна для сетей без сервера «1С» и связана с различием кода разных версий платформы на различных точках доступа.



Предыдущая статья: Следующая статья: