Полнота движений по себестоимости в УТ 11.4

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

Решил проверить, это единичный случай, или есть еще какие-то случаи, когда по себестоимости количество отличается от количества по товарам на складах. Можно было взять готовый отчет сравнения регистров на Инфостарт:

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

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

УПОРЯДОЧИТЬ ПО
	Т.Регистратор.Дата УБЫВ

К моему удивлению, получил всего один возврат клиента и порядка 50 чеков, не свернутых в ОРП:

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

А вот со сверткой чеков пришлось повозиться.

Проверил на примере 5 марта 2023, там было 3 кассовые смены:

Обработка «Архивирование и удаление чеков» за 5 марта 2023 не работает:

Получаю ошибку:

Надо по-другому — из чека выхожу на кассовую смену:

Нажимаю «Перезаполнить отчет о розничных продажах» — не работает. Потому что смена открыта:

С помощью универсального редактора меняю статус на «Закрыта». А также обязательно «Окончание кассовой смены» (иначе ОРП будет пытаться создаться на 1 января 0001 года).

После этого откроется созданный ОРП и можно нажимать «Заархивировать чеки ККМ».

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

С одной кассовой сменой была ошибка: «По кассовой смене зарегистрировано несколько аналитик. Создание отчета о розничных продажах невозможно»

Причину смотрел вручную в этом месте:

В табло добавил выражение по временной таблице ИндексАналитик: Запрос.МенеджерВременныхТаблиц.Таблицы[3].ПолучитьДанные().Выгрузить(). Обнаружил, что чеки по разной системе налогообложения. Видимо, ошибочно:

Вывожу для кассовой смены связанные документы:

Обнаруживаю, что только в одном чеке стоит «Продажа не облагается НДС»:

Меняю в чеке налогообложение. После этого свертка в ОРП происходит.

Запрос оформил в виде отчета и поставил его рассылку раз в неделю через штатный механизм рассылки отчетов. Так пользователь будет следить за соответствию движений по себестоимости и складам:

Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(СтандартныеПодсистемыСервер.ВерсияБиблиотеки());
    Заголовок = НСтр("ru = 'Проверка расхождения себестоимости с остатками'");
    ПараметрыРегистрации.Информация = Заголовок;
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
    ПараметрыРегистрации.Версия = "2023-09-11";
    ПараметрыРегистрации.БезопасныйРежим = Ложь; //Истина для фреша

    Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Представление = Заголовок;
    Команда.Идентификатор = СтрЗаменить(Заголовок, " ", "");
    Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    Команда.ПоказыватьОповещение = Ложь;
    

   
    Возврат ПараметрыРегистрации;
КонецФункции

Среда: 11.4.13.46 Объем: 2 час

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *