Найти тему
Мой 1С

1С: Контроль отрицательных остатков Номенклатуры

1С: Расчет остатков Номенклатуры

1С: Создание отчета по регистру накопления ОстаткиНоменклатуры.

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

Открыть Модуль менеджера регистра накопления ОстаткиНоменклатуры
Открыть Модуль менеджера регистра накопления ОстаткиНоменклатуры

В окне Регистр накопления ОстаткиНоменклатуры: Модуль менеджера создать экспортную функцию ПроверитьОтрицательныеОстаткиНоменклатуры. Нажать правой кнопкой мыши (ПКМ) в теле функции и выбрать в контекстном меню Конструктор запроса с обработкой результата... .

Конструктор запроса с обработкой результата...
Конструктор запроса с обработкой результата...

В открывшемся окне Конфигуратор нажать кнопку Да.

Окно Конфигуратор
Окно Конфигуратор

В окне Конструктор запроса с обработкой результата нажать кнопку Запрос.

Окно Конструктор запроса с обработкой результата
Окно Конструктор запроса с обработкой результата

В окне Запрос ввести или вставить запрос

Окно Запрос
Окно Запрос

Построение Запроса с помощью консоли запросов в пользовательском режиме.

Для построения запроса в пользовательском режиме необходима Консоль запросов (скачать в Интернете).

Открыть Консоль запросов и в поле Текст запроса нажать ПКМ, выбрать пункт Конструктор запроса.

Конструктор запроса
Конструктор запроса

В окне Конструктор запроса в поле База данных открыть список для РасходнаяНакладная. Выбрать пункт Товар в РасходнаяНакладная и добавить в поле Таблицы. Из поля Таблицы добавить Товар в поле Поля. Перейти на вкладку Условия.

Конструктор запроса
Конструктор запроса

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

-8

Скопировать текст запроса и очистить поле Текст запроса.

-9

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

Конструктор запроса
Конструктор запроса

В окне Параметры виртуальной таблицы в поле Период ввести &ДатаОтбора. В поле Условие нажать кнопку Выбрать.

Параметры виртуальной таблицы
Параметры виртуальной таблицы

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

Произвольное выражение
Произвольное выражение

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

Параметры виртуальной таблицы
Параметры виртуальной таблицы

Нажать Ок в окне Конструктор Запроса.

В поле Текст запроса появился запрос.

Текст запроса
Текст запроса

Не удаляя текст запроса открыть Конструктор запроса и перейти на вкладку Условия. Добавить КоличествоОстаток в поле Условие. И изменить условие на ОстаткиНоменклатурыОстатки.КоличествоОстаток < 0. Нажать Ок.

ОстаткиНоменклатурыОстатки.КоличествоОстаток < 0
ОстаткиНоменклатурыОстатки.КоличествоОстаток < 0

Копируем текст запроса и возвращаемся в Конфигуратор.

Конструктор запроса
Конструктор запроса

Вставляем текст запроса в поле окна Запрос. Закрываем и сохраняем изменения. Нажать Ок в окне Конструктор запроса с обработкой результата.

Запрос
Запрос

Тело функции заполнится кодом, построенным конструктором.

Добавить и изменить Код как указано ниже

-18

Добавить ГраницаОтбора

-19

Перейти в модуль объекта Расходной накладной и добавить код:

-20

Контроль остатков по Расходной Накладной теперь будет выполняться. Аналогично сделать для документа ЗаказНаПроизводство и совместить в функции.