1с бухгалтерия 8.3 контроль отрицательных остатков. Бухучет инфо. Отчет «Контроль отрицательных остатков»

Эта статья предназначена для внедренцев 1С – и особенно для тех, кто готовится к Аттестации на 1С:Специалист по платформе.

Сегодня мы разберем 2 методики контроля остатков – причем не только остатков на складе, но и, например, взаиморасчетов (“какова текущая задолженность клиента и можно ли отгружать ему товары” )

Обе методики применяются и в типовых конфигурациях, и в Аттестационных заданиях. И поскольку их две – нужно четко понимать, когда применима “новая” методика, а когда только “старая” .

Это базовые знания для программистов 1С, рекомендуем не оставлять пробелов в таких областях. На изучение у Вас должно уйти 15 минут :)

Постановка задачи

Возьмем простую конфигурацию с документами “Поступление товаров” и “Реализация товаров”:

Для учета остатков используется регистр накопления “Свободные остатки”:

При проведении документа “Поступление товаров” выполняются движения-приход:

Процедура ОбработкаПроведения(Отказ, Режим)


Для Каждого ТекСтрокаТовары Из Товары Цикл
Движение = Движения.СвободныеОстатки.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Номенклатура = ТекСтрокаТовары.Номенклатура;
Движение.Количество = ТекСтрокаТовары.Количество;
КонецЦикла;

КонецПроцедуры

Обработка проведения документа «Поступление товаров» выполнена с помощью конструктора движений и интереса не представляет, так как при поступлении на склад контроль остатков не нужен.

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

Например, на склад поступили 10 новых телевизоров LG, 6 из них было продано. Если в документе поступления 10 шт. исправить на 5 шт. – образуется отрицательный остаток «минус 1 шт.».

В типовой УТ 11 подобный контроль включается с помощью функциональной опции «Контролировать товары организаций при отмене приходов».

При проведении документа «Реализация товаров» необходимо организовать контроль остатков . Если товара на остатках недостаточно, документ не проводится и выдается диагностическое сообщение. В этом и состоит решаемая задача.

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

Примечание – представленные ниже алгоритмы разработаны для обучения и должны быть максимально понятными.
Их можно оптимизировать, но тогда «коэффициент понимания» будет ниже, поэтому в данной статье мы на этом не останавливаемся.

Естественно, Вы можете оптимизировать их самостоятельно, либо пройти наш курс по Ускорению и Оптимизации 1С :)

Как Вы уже поняли, решение задачи может быть выполнено двумя способами. Начнем с методики, которая применялась ещё со времен «1С:Предприятие 8.0».

Старая методика контроля остатков

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

Алгоритм в старой методике состоит из нескольких блоков:

  1. Запросом получаются остатки товаров и данные документа
  2. В цикле выполняется контроль достаточности товаров
  3. Если товаров недостаточно, то документ не проводится
  4. Если товаров достаточно – выполняются движения-расход

Вот так выглядит программный код:

// 1. Очистка старых движений регистра
Движения.СвободныеОстатки.Записывать = Истина;
Движения.Записать();

// 2. Получение запросом данных документа и остатков регистра
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ

|ПОМЕСТИТЬ Товары
|ИЗ
|ГДЕ
| Товары.Ссылка = &Ссылка
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;

|ВЫБРАТЬ
,
| ПРЕДСТАВЛЕНИЕССЫЛКИ(Товары.Номенклатура) КАК НоменклатураПредставление,
| Товары.Количество КАК Количество,
| ЕСТЬNULL(Остатки.КоличествоОстаток, 0) КАК Остаток
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(
| &МоментВремени,
| Номенклатура В
| (ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура
| ИЗ
| ПО Товары.Номенклатура = Остатки.Номенклатура";
Запрос.УстановитьПараметр("МоментВремени", МоментВремени());

// 3. Обход результатов запроса

// 4. Проверка на достаточность товаров
Дефицит = ВыборкаТовары.Количество - ВыборкаТовары.Остаток;
Если Дефицит>0 Тогда
Отказ = Истина;
Сообщение.Текст = "Товара "+ВыборкаТовары.НоменклатураПредставление+" недостаточно в количестве "+Дефицит+" шт.";
Сообщение.Сообщить();
КонецЕсли;

// 5. Переход в начало цикла, если были ошибки
Если Отказ Тогда
Продолжить;
КонецЕсли;

// 6. Выполнение движений в регистры
Движение.Период = Дата;

КонецЦикла;

// 7. Установка флага записи движений в конце транзакции
Движения.СвободныеОстатки.Записывать = Истина;

КонецПроцедуры

Прокомментируем ключевые точки алгоритма.

1. Очистка старых движений регистра

Ниже в алгоритме будет запрос к остаткам регистра.

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

Когда возможна такая ситуация? Когда дата документа сдвигается вперед .

Покажем на примере, к чему это приведет:

  1. Остаток ламп настольных 10 шт.
  2. Проводится документ от 16.02.17, списываем 6 ламп
  3. В документе меняется дата на 17.02.17 (дату можно сместить хоть на 1 секунду вперед), перепроводим документ.

Если очистку движений не выполнять, то система сообщит о нехватке 2 штук. Почему? Да потому что старые движения документа списали 6 из 10 имеющихся ламп. Далее система пытается списать еще 6 штук, а на остатках есть только 4.

Проблема решается в 3 строки кода:

  • Выполняется очистка набора записей (он мог быть прочитан на форме или в предыдущих обработчиках)
  • У набора записей устанавливается флаг «Записывать»
  • Выполняется запись всех наборов, у которых установлен флаг «Записывать»

Строго говоря, мы можем управлять очисткой движений при проведении документов:

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

2. Получение запросом данных документа и остатков регистра

Запрос состоит из двух пакетов:

  • В первом получаются сгруппированные данные табличной части – создается временная таблица
  • Во втором запросе к данным документа присоединяются остатки из регистра.

На что стоит обратить внимание в этом запросе:

  1. При создании временной таблицы индексируется поле, по которому далее будет выполняться соединение – это сделано для оптимальной производительности
  2. Момент получения остатков – соответствуют положению документа на временной оси
  3. Остатков в регистре может не быть – поэтому выполняется левое соединение и для ресурса «Количество» применяется функция «ECТЬNULL» – значение NULL приводится к нулю.

3. Обход результатов запроса

Разработанный запрос содержит сгруппированные данные документа и остатки по номенклатурным позициям.

В цикле обходим результат этого запроса.

4. Проверка на достаточность товаров

Определяем дефицит по товарам.

Если дефицит больше нуля, значит, товара не хватает:

  • Выдаем диагностическое сообщение
  • Выставляем параметр «Отказ» обработки проведения в значение «Истина»

Если «Отказ» будет равен «Истина», то результат транзакции проведения документа не будет зафиксирован. Говоря простым языком – это команда системе не проводить данный документ.

5. Переход в начало цикла, если были ошибки

Если на этом или предыдущих шагах цикла были ошибки (Отказ = Истина), то тогда нет смысла формировать движения. Всё равно в базу данных они не будут записаны.

6. Выполнение движений в регистры

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

7. Установка флага записи движений в конце транзакции

Если данный флаг не установить, то движения НЕ будут записаны.

В конце транзакции проведения документа записываются только те наборы записей, у которых установлен флаг «Записывать».

Справедливости ради отметим, что установка свойства “Записывать” набора записей имеет смысл при одном условии – в свойстве документа “Запись движений при проведении” должно быть указано значение “Записывать выбранные”:

Однако именно значение “Записывать выбранные” является стандартом де-факто:

  • Оно используется в типовых решениях
  • Устанавливается по-умолчанию при создании новых документов.

Другое значение свойства – “Записывать модифицированные” является устаревшим и в современных конфигурациях практически не встречается.

Новая методика контроля остатков

В новой методике используется принцип: списываем необходимые товары, далее проверяем – образовались ли отрицательные остатки по товарам документа. Если да, то нужно откатить проведение документа .

Как видите, принципиальная разница в моменте контроля остатков:

  • Старая методика – сначала проверяем остаток, потом списываем
  • Новая методика – сначала списываем, потом проверяем остаток.

В результате программный код будет выглядеть следующим образом:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

// 1. Получение запросом данных документа
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| СУММА(Товары.Количество) КАК Количество
|ПОМЕСТИТЬ Товары
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК Товары
|ГДЕ
| Товары.Ссылка = &Ссылка
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| Товары.Количество КАК Количество
|ИЗ
| Товары КАК Товары";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();

// 2. Формирование движений-расход регистра
Движения.СвободныеОстатки.Очистить();
ВыборкаТовары = РезультатЗапроса.Выбрать();
Пока ВыборкаТовары.Следующий() Цикл
Движение = Движения.СвободныеОстатки.ДобавитьРасход();
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаТовары.Номенклатура;
Движение.Количество = ВыборкаТовары.Количество;
КонецЦикла;

// 3. Запись движений в БД
Движения.СвободныеОстатки.Записывать = Истина;
Движения.Записать();

// 4. Запрос, получающий отрицательные остатки из регистра
Запрос.Текст =
"ВЫБРАТЬ
| Остатки.Номенклатура КАК Номенклатура,
| ПРЕДСТАВЛЕНИЕССЫЛКИ(Остатки.Номенклатура) КАК НоменклатураПредставление,
| -Остатки.КоличествоОстаток КАК Дефецит
|ИЗ
| РегистрНакопления.СвободныеОстатки.Остатки(
| &МоментВремени,
| Номенклатура В
| (ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура
| ИЗ
| Товары КАК Товары)) КАК Остатки
|ГДЕ
| Остатки.КоличествоОстаток < 0";

ГраницаКонтроля = Новый Граница(МоментВремени(), ВидГраницы.Включая);
Запрос.УстановитьПараметр("МоментВремени", ГраницаКонтроля);
РезультатЗапроса = Запрос.Выполнить();

// 5. Вывод сообщений о недостатке товаров
Если Не РезультатЗапроса.Пустой() Тогда
Отказ = Истина;
ВыборкаОшибки = РезультатЗапроса.Выбрать();
Пока ВыборкаОшибки.Следующий() Цикл
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Товара "+ВыборкаОшибки.НоменклатураПредставление+" недостаточно в количестве "+ВыборкаОшибки.Дефецит+" шт.";
Сообщение.Сообщить();
КонецЦикла;
КонецЕсли;

КонецПроцедуры

Разберем ключевые точки алгоритма.

1. Получение запросом данных документа

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

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

2. Формирование движений-расход регистра

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

3. Запись движений в БД

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

4. Запрос, получающий отрицательные остатки из регистра

А теперь простым запросом выбираем отрицательные остатки по товарам документа.

Именно здесь используется созданная на первом шаге временная таблица – накладывается условие на номенклатуру (для этого мы не создаем новый объект типа «Запрос», а используем созданный ранее).

Обратите внимание, как передается момент времени – используется тип данных «Граница». Остатки нужно получить на момент времени сразу ПОСЛЕ текущего документа.

Можно ли было получить остатки без границы, например, прибавив к дате документа 1 секунду?

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

5. Вывод сообщений о недостатке товаров

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

Преимущества контроля остатков по новой методике

Итак, оба алгоритма решают одну и ту же задачу.

Разница между алгоритмами видна, но преимущества не очевидны.

Поэтому давайте подчеркнем их:

  1. Нет необходимости очищать старые движения документа . По сути это операция записи в БД пустого набора движений и удаление существующих движений – это довольно ресурсоемкие операции
  2. Запрос, получающий данные по отрицательным остаткам, обращается только к одной таблице – нет необходимости делать левое соединение с данными документа и применять функцию «ЕСТЬNULL()»

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

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

А так ли важны эти миллисекунды?

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

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

Ok, значит, нужно всегда использовать новую методику, верно?

Нет, это не так!

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

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

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

К слову сказать, в типовой «1С:Управление торговлей 11» реализован контроль остатков по новой методике, а в «1С:Бухгалтерии 8» – по старой методике .

Но это ещё не все!

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

Блокировкам для обоих методик контроля остатков посвящена . Также в данной статье мы решаем более сложную задачу – кроме контроля остатков выполняем расчет себестоимости списываемой номенклатуры. Рекомендуем её вдумчиво изучить.

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

Итоги

Подведем краткие итоги.

Мы рассмотрели две методики контроля остатков, каждая из которых применяется в современных типовых конфигурациях.

Ключевое различие между методиками в моменте контроля остатков:

  • Старая методика – контроль до записи движений в регистры
  • Новая методика – контроль после записи движений в регистры

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

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

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

И в завершение примеры из типовых конфигураций :

  • В УТ 11 есть 2 основных регистра для учета номенклатуры: Свободные остатки (количество) и Себестоимость товаров (данные о себестоимости) – используется новая методика
  • В БП 3.0 данные о себестоимости и остатках хранятся в одном регистре бухгалтерии – используется старая методика контроля остатков.

Есть два вида ситуации в которой необходима настройка контроля остатков.

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

Такая ситуация возможна, если организация только начала учёт в 1С 8.3 или данные заносятся в программу несвоевременно.

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

Настройка контроля остатков

В программе 1С 8.3 Бухгалтерии есть настройка контроля остатков. И при создании базы в настройках по умолчанию разрешено списывать товары, которые по данным учёта в программе отсутствуют.

Контролируются остатки в разрезе конкретной организации и склада во всех типах документов: реализация, требование-накладная, перемещения и т.д, где участвуют счета с аналитикой Склад.

Важно! Для того чтобы контролировалось остатки на уровне склада, в 1С 8.3 необходимо установить аналитику по складам в счетах учёта товаров либо материалов.

Таким образом:

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

Как отключить контроль остатков в 1С 8.3

Для снятия запрета проведения документов с отсутствующими товарами необходимо в настройках программы 1С 8.3 в разделе Администрирование – далее Настройки проведения документов:

установить галочку Разрешается списание запасов при отсутствии остатков по данным учёта:

Контроль остатков в разрезе складов

Для предотвращения отрицательных остатков по складам задаём аналитику По складам. Включить аналитику по складам можно в настройках учёта: раздел Администрирование – далее Параметры учёта. Выбираем Настройка плана счетов и в учёте запасов нажимаем на По номенклатуре и складам (по количеству) :

В новом окне устанавливаем флаг По складам (местам хранения) . Данная галочка и будет влиять на контроль остатков в разрезе складов:

  • Если галочка убрана – контроль остатков осуществляется в разрезе организаций;
  • Если галочка установлена – в разрезе организации и конкретного склада:

Контроль отрицательных остатков в 1С 8.3

Если нет возможности убрать галочку или есть причины вести учёт с отрицательными остатками, в 1С 8.3 Бухгалтерия реализован отчёт, который позволяет контролировать отрицательные остатки.

Отчёт Контроль отрицательных остатков в 1С 8.3 находится в разделе Склады – далее Контроль отрицательных остатков:

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

Важно! Отчёт Контроль отрицательных остатков показывает отрицательные остатки только за указанный период. Если были документы списания ранее начала отчёта, то отрицательные остатки по ним не попадут в отчёт.

Для изменения настроек отчёта необходимо воспользоваться командой Показать настройки. Перемещаясь по вкладкам настроек Группировка, Отбор, Дополнительные поля можно придать отчёту необходимый вид:

На сайте можно ознакомиться по конфигурации 1C Бухгалтерия 8.3.

Подробнее о настройке программы 1С 8.2 (8.3) Запрет списания запасов при отсутствии остатков , каким образом она влияет на финансовые результаты смотрите в следующем видео:


Поставьте вашу оценку этой статье:

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

  • Направить его в продажу;
  • Оставить на складе до выяснения обстоятельств подобной ситуации.

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

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

При активированном контроле реализация товара, отсутствующего по программе на складе выдаст пользователю предупреждение: «Некорректно заполнена колонка «Количество» в строке 1 списка «Товары». «Указанное количество превышает остаток. Остаток: 18. Не хватает 111.093».

Отключение контроля отрицательных остатков в 1С

Операция включения/выключения контроля остатков в 1С осуществляется через меню «Главное» — «Настройки» — «Параметры учета» — «Запасы». Здесь требуется установить флажок «Разрешить списание запасов при отсутствии запасов по данным учета».

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

Отчет «Контроль отрицательных остатков»

Формирование данного отчета осуществляется через меню «Склад» — «Отчеты», где представлен документ. От пользователя требуется определить интервал запроса и кликнуть на кнопку «Сформировать». Отсутствие заданного периода не позволит показать отрицательные остатки, что является особенность системы, требующей обязательного заполнения графы «Период».

Готовый отчет обладает следующим внешним видом.

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

Как контролировать остатки на складе в программе 1С 8.3 Бухгалтерия?

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

  • разрешить его продать
  • отложить до того, пока не выяснится, почему возникла такая ситуация

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

Можно конечно просто сформировать документ продажи и не проводить документ, но не во всех организациях это разрешено. Поэтому в программе 1С 8.3 (как и в 8.2) есть возможность отключить контроль отрицательных остатков.

Если контроль остатков включен, то при продаже товара, которого нет на складе (или на нужном счете) программа выдаст аналогичное предупреждение:

Некорректно заполнена колонка «Количество» в строке 1 списка «Товары».

Указанное количество превышает остаток. Остаток: 18; Не хватает: 111 093

Отключение контроля отрицательных остатков в 1С 8.3

Чтобы отключить или включить контроль остатков в 1С, нужно зайти в меню «Главное», затем в разделе «Настройки» выбрать пункт «Параметры учета«.

В некоторых версиях 1С Бухгалтерии данные настройки расположены в меню Администрирование - Настройка проведения документов.

В «Параметрах учета» нужно перейти на закладку 1С «Запасы», и установить флажок «Разрешить списание запасов при отсутствии остатков по данным учета»:

Затем осталось нажать кнопку «Записать и закрыть». Теперь при списании остатки контролироваться не будут.

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

Отчет «Контроль отрицательных остатков»

В простейшем случае нужно лишь выбрать период и нажать кнопку «Сформировать». И вот тут-то меня подстерегала первая неожиданность.

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

Это следует учесть, потому что я часто встречал в форумах вопрос «А почему отчет мне ничего не показывает?». Ответы были разные, в основном про неправильно установленные фильтры, но про период я ни разу не встречал.

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

Все остальные настройка стандартные, можно установить различные фильтры, добавить группировки, изменить сортировку, добавить дополнительные поля (кнопка «Показать настройки»).

По материалам: programmist1s.ru

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

Почему пользователям иногда может понадобится проведение остатка в минус? Если у вас не ювелирный завод, в 99 % остатки товара на складе (фактические) не совпадают с остатками в программе. А это значит, что при выписке товара со склада или магазина по факту возникнут трудности с выпиской расходных документов. Программа не сможет провести операцию "в минус", если у пользователя стоит ограничение. Возникшая внештатная ситуация несомненно приведет к простою, задержке, выяснению причин и т.д. Но не каждая компания может позволить себе простой или задержку, если, к примеру это приведет к дополнительной оплате простоя наемного автотранспорта или штрафам за несвоевременную доставку товара покупателю. Если затраты от простоя значительно больше, нежели издержки от неточных оперативных остатков целесообразно разрешить пользователю проведение товара в минус. Мы хотим сказать, что политика прав и запретов в 1С не должна накладывать негативный отрицательный отпечаток в целом на бизнес-процессы компании. Важно понять разницу между вынужденными, правильными мерами ограничения и "палками в колесах". Оценку данному вопросу должны дать руководители отделов непосредственно отвечающих за бизнес-процессы и финансовые результаты компании.

Итак, рассмотрим когда наличие прав проводить товар в минус оправдано :

Издержки от несвоевременного выполнения бизнес-процесса значительно больше, чем издержки от неправильных остатков в программе

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

На складе давно не проводилась инвентаризация, поэтому некоторые номенклатурные позиции хранятся с неправильным остатком. Пересчитать склад невозможно, так как операции с товаром осуществляются 7 дней в неделю. Соответственно остановка склада для пересчета на 1-3 дня, а соответственно остановка отгрузок товара покупателям влечет большие потери нежели незначительные неточности в товарных остатках

Когда проведение товара в минус неоправданно :

Проведение продукции в минус приведет к неисправимой цепочке дальнейших ошибок.

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

Неправильный отпуск товара приведет к дальнейшей неправильной калькуляции и себестоимости.

Как возникают минусовые остатки в 1С?

Если права пользователей в программе настроены правильно отрицательных остатков возникнуть не может. К расширенным правам проведения товара в минус относятся:

Возможность редактировать документы задним числом

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

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

Внутренняя ошибка базы данных 1С

Поиск ошибок и минусовых остатков в 1С

Удобнее всего искать минуса в 1С с помощью группового перепроведения документов. При выполнении данной обработки в служебных сообщениях всплывут все минуса и недочеты.

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

Нажмите по картинке, чтобы увеличить изображение

Таким образом известны основные причины минусовых остатков и способы их поиска и устранения.