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

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

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

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

Что означает термин «ошибка» в программировании и в 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С 8.3 встречается достаточно часто. Рассмотрим, как исправить данную ошибку.

Что же такое ошибка формата потока в 1с 8.3?

Такое происходит в следующих ситуациях:

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

Получите 267 видеоуроков по 1С бесплатно:

Исправление

  1. Как правило, для решения данной проблемы достаточно почистить временные файлы в системе. .
  2. Если не помогло, но есть возможность попасть в конфигуратор, запустите .
  3. Если доступа в конфигуратор нет, и база тестовая — воспользуйтесь , которая располагается в папке программы.
  4. Если вышеперечисленные методы не помогают, но запускается режим 1С предприятие, выгрузите данные в новую базу с помощью обработки « «. Однако при этом возможны потери данных.
  5. Обновление . Еще одной причиной может стать наличие активных сеансов пользователей с разной версией клиентской части платформы 1С. То есть, например, в базе работает пользователь с платформой 1С 8.3.5.1517, а пытается подключиться другой, с версией 8.3.5.1444.

Если это не помогло — есть более изощренные способы решения данной проблемы. Например, с помощью HEX-редактора. Если Вам необходима квалифицированная помощь программистов 1С, обратитесь к нам! Подробности на странице

В информационных базах на платформе 1С могут возникнуть множество различных ошибок:

нарушение логической/физической целостности базы, ошибки пользователей, «кривой» код разработчика и многое другое.

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

Во-первых, стоит задать несколько уточняющих вопросов пользователю:

1) Релизы платформы/конфигурации.

2) Полный текст сообщения об ошибке. Пользователи имеют досадное свойство не читать целиком такие сообщения, а возможно в нем содержится рекомендация к устранению неисправности.

3) Как давно возникла и при каких обстоятельствах появляется. Не воспроизводимые ошибки, которых мы ранее не встречали, мы наврядли сможем исправить.

4) Возникает ли если запустить 1с с другого компьютера/от другого пользователя? Это даст нам пищу для размышлений - сможет ли помочь очистка кэша, настройка прав, или очистка настроек пользователя.

Теперь немного о самих ошибках и том как их решать.

Общее:
Часть ошибок возникает при использовании нелицензионного ПО (windows, 1C и т.д.).

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

Если Вы встретили ошибку в первый раз - возможно, кто-то уже ее встречал -

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

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

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

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

!!!ВАЖНО

Перед любыми действиями с базой - сделать архивную копию!

Если база не открывается в конфигураторе - скопировать папку с базой и выполнять все операции на копии!

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

  • Самое быстрое, что можно сделать - очистить временные файлы (удалить базу из списка баз и подключить заново)

    Это действие не удалит временные файлы (кэш), а создаст новую папку для временных файлов базы, удалить файлы можно:
    В Windows 7 в C:\Users\Имя_Пользователя\AppData\Roaming\1C\1Cv8x
    В Windows XP C:\Documents and Settings\Имя_Пользователя\Application Data\1C\1Cv8х

  • Также можно попытаться зайти в базу от другого пользователя.
  • Если база файловая, то стоит запустить утилиту для тестирования физической целостности базы chdbfl. Она находится в папке:
    C:\Program Files (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe
  • Если база sql-ная то тестирование средствами sql.
  • Если ни то ни другое не помогло, то можно обновить платформу (см. под какой платформой работает релиз)
  • Если не получилось ничего из перечисленного, можно воспользоваться программкой Tool_1CD.

2) Если база при запуске уходит в дамп.

  • Отключить аппаратное ускорение видеокарты:
  1. Откройте свойства экрана. Это можно сделать через Панель управления, или просто щелкнув правой кнопкой мыши по любому месту рабочего стола, свободному от окон и значков, и выбрав пункт контекстного меню «Свойства».
  2. В открывшемся окне настройки дисплея перейдите на закладку «Параметры» и нажмите кнопку «Дополнительно».
  3. В открывшемся окне свойств видеокарты перейдите на вкладку «Диагностика».
  4. Передвиньте движок «Ускорение» в крайнюю левую позицию («нет») и нажмите «Применить» или «Ок». Аппаратное ускорение отключено. Изменения вступят в силу после перезагрузки системы.
  1. Откройте Панель управления (Пуск — Панель управления).
  2. Найдите и откройте элемент «Экран».
  3. В левой части открывшегося окна щелкните по ссылке «Настройка параметров экрана».
  4. В открывшемся окне нажмите на ссылку «Дополнительные параметры».
  5. Перейдите на вкладку «Диагностика» и нажмите кнопку «Изменить параметры».
  6. В открывшемся окне передвиньте движок в крайнее левое положение («нет») и нажмите «Ок». Если UAC включен, придется подтвердить, что изменения санкционированы пользователем. Аппаратное ускорение отключено. Изменения вступят в силу после перезагрузки системы.

В Windows 7 в некоторых случаях кнопка «Изменить параметры» будет неактивна. В этом случае отключить аппаратное ускорение невозможно, так как видеокарта и ее драйвер не поддерживают манипуляции аппаратным ускорением.

  • Если антивирус Касперский, то можно попробовать отключить самозащиту и переименовать файлы kloehk.dll и mzvkbd3.dll в папке Касперского. (Ошибка возникала на старых версиях 2011 года, но еще иногда встречается)
  • Проверить соответствие релиза платформы/конфигурации.
  • Попробовать зайти в базу с другой платформы.

3) База открывается в конфигураторе, но не хочет заходить в пользовательский режим.

  • Очистка временных файлов
  • Попытка зайти за другого пользователя
  • chdbfl / тестирование средствами sql
  • Тестирование и исправление ИБ:
    В конфигураторе Администрирование-Тестирование и исправление - галочки в зависимости от ситуации.
  • Попробовать создать др. пользователя с полными правами и зайти от него.
  • Попробовать перенести на другой ПК и открыть там, может что-то с ПК.

4) При каком-то действии выкидывает на код в конфигуратор.

  • Для проверки стоит очистить кэш.
  • Если не помогло то скорей всего ошибка в коде - особенно актуально для нетиповых и самописных конфигураций, но встречается иногда и в типовых.

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

Если типовая, то возможно ошибка в релизе.

В любом случае стоит пробежать в отладчике и посмотреть что не так.

5) Под одним пользователем дает что-то сделать, под другим нет.

  • Настройки прав пользователей.
  • Настройки пользователя.
  • Очистка кэша.

6) С одного ПК заходит, с другого нет.

  • Проверить в проводнике видит ли базу - может к папке с базой не предоставлен общий доступ.
  • Очистка кэша.
  • Зайти под другим пользователем.

7) Я ничего не делал/делала но у меня все сломалось

  • Если смогут подсказать что именно «не делали» и когда, то можно воспользоваться
  • журналом регистрации с отборами и возможно узнать, в чем проблема.
  • Журнал регистрации можно найти в конфигураторе:
  • Администрирование - журнал регистрации.

    Либо в пользовательском режиме - расположение зависит от конфигурации.

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

Был у меня случай, пришел клиент, говорит, при закрытии месяца вылетает ошибка "Недостаточно памяти". Взялся я за эту проблему. Думал, что легко, сначала добавил оперативки - ошибка. Было 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

"Как проверить (восстановить) базу на MS SQL Server средствами сервера
Проверку логической целостности нужно выполнять штатными средствами 1С:Предприятия (Тестирование и исправление ИБ). В случае, если такую проверку не удается выполнить, следует проверить физическую целостность БД средствами MS SQL. Для проверки целостности средствами MS SQL нужно выполнить следующую команду:
Код:
DBCC CHECKDB ("",REPAIR_REBUILD)
Перед выполнением этой команды нужно базу данных перевести в режим "single user":
Код:
sp_dboption "","single user",true
В процессе работы DBCC CHECKDB могут быть обнаружены ошибки и часть может быть сразу же исправлена. Если ошибки остались, то по всей видимости их нельзя восстановить без потери некоторых данных. В этом случае нужно запустить DBCC CHECKDB с параметром REPAIR_ALLOW_DATA_LOSS (перед запуском желательно сделать копию файлов базы данных).
Код:
DBCC CHECKDB ("",REPAIR_ALLOW_DATA_LOSS)
После выполнения DBCC CHECKDB нужно не забыть вернуться в нормальный режим (выйти из режима "single user"):
Код:
sp_dboption "","single user",false" (Взято с сайта )

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

Совсем недавно, начиная с версии 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С 8.3

Ошибка формата потока в 1С встречается наиболее часто у всех пользователей. И обычно в таких случаях объяснить её появление вызывает затруднение – вроде бы работали в 1С, всё как обычно. В очередной раз запуская 1С, мы получаем вот такое сообщение:

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

Причины появления ошибки формата потока в 1С 8.3

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

Способы решения ошибки формата потока в 1С 8.3

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

Для быстрого создания резервной копии откройте папку с базой (как это делается в способе №1) и скопируйте её содержимое в любое другое место. Проводите работы по исправлению ошибок только имея резервную копию!
1.
2.
3.
4.
5.
6.

Очистка кэша базы 1С

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

Откроем эту папку в Проводнике и удалим все файлы, кроме файла базы, как показано на рисунке ниже. Заметим, что количество файлов могут отличаться, все они должны быть удалены, кроме одного – 1Сv8 (файловая информационная база).

Очистка кэша 1С

Следующий способ – очистка кэша 1С: Предприятие. Для этого нужно открыть папки, где они хранятся. На Windows 7 и выше их две:

C:\Users\Username\AppData\Roaming\1C

C:\Users\Username\AppData\Local\1C

Следует удалить папку 1cv8 в обоих из них:

После очистки кэша попробуйте зайти в базу ещё раз. Ошибка осталась? Попробуйте следующий способ.

Исправление базы утилитой chdbfl.exe

Возможно, ошибка формата потока может быть связана с ошибками в самой базе. Для этого её стоит проверить с помощью специальной программы chdbfl.exe, которая идёт в комплекте с 1С: Предприятие. Для этого перейдите в папку с программой (чаще всего это C:\Program Files\1cv8\8.3.XX.YYY\bin\) и найдите файлик chdbfl.exe:

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

После этого поставьте галочку Исправлять обнаруженные ошибки и нажмите Выполнить. Дождитесь окончания проверки и попробуйте запустить базу. Ошибка осталась? Попробуйте следующий способ.

Тестирование и исправление базы через Конфигуратор

Следующим способом решения ошибки формата потока в 1С является Тестирование и исправление базы, доступные из Конфигуратора.

Запустите 1С: Предприятие через режим Конфигуратор:

В открывшемся Конфигураторе выберите Администрирование – Тестирование и Исправление:

В открывшемся окне установите настройки, как на рисунке ниже, и нажмите Выполнить.

Дождитесь окончания всех процедур. Закройте Конфигуратор и попробуйте зайти в базу. Ошибка осталась? Попробуйте следующий способ.

Выгрузка и загрузка базы через dt

Данный способ может помочь устранить такие ошибки, которые не устраняются п.3 и п.4 данной статьи. Зайдите в базу через режим Конфигуратор, как в способе выше. Выберите Администрирование – Выгрузить информационную базу:

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

Нажав Сохранить, дождитесь окончания выгрузки. Выйдите из режима Конфигуратора. Откройте ещё раз 1С: Предприятие, и выберите пункт Добавить – Создание новой информационной базы – Создание информационной базы без конфигурации – Далее – Готово.

Откройте созданную базу через Конфигуратор и нажмите Администрирование – Загрузить информационную базу. Укажите в открывшемся окне тот файл выгрузки, который вы сформировали только что. Дождитесь окончания загрузки, закройте Конфигуратор и попробуйте зайти в новую загруженную базу. Ошибка осталась? Попробуйте следующий способ.

Продвинутые способы решения ошибки формата данных 1С

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

Ограничимся их перечислением:
1. Выгрузка и загрузка данных между неработающей и пустой базой с помощью обработки «Выгрузка и загрузка данных XML».
2. Различные версии используемых 1С, работающих в одной базе через сеть (подробнее см.) необходимо привести в порядок.
3. Отключение протокола IPv6 через реестр Windows.
4. Переустановка или обновление 1С: Предприятие.
5. Перенос базы на другой компьютер и попытка запустить её там.
6. Отключение или удаление фаерволов и/или антивирусов.
7. Проверка формата потока с помощью утилиты Tool_1CD
8. Обновите конфигурацию с помощью.cf файла.

Проблема «Ошибка формата потока в 1С 8.3» не решена? Получите бесплатную консультацию от наших специалистов по решению данной проблемы!