Почему то такая потребность довольно часто возникала у всех, кто использует интерфейс кассира в УТ10. В Рознице 2.0, например, такая возможность уже есть.
Для того, чтобы показывались остатки, достаточно добавить текстовое поле Остаток и назначить следующую процедуру для обработчика ПриПолученииДанных табличного поля Товары в ФормеРегистрацииПродаж ЧекаККМ
Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок)
Если ОформленияСтрок.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаНоменклатуры.Номенклатура,
| ТаблицаНоменклатуры.ХарактеристикаНоменклатуры,
| ТаблицаНоменклатуры.Склад
|ПОМЕСТИТЬ ТаблицаВЗапрос
|ИЗ
| &ТаблицаНоменклатуры КАК ТаблицаНоменклатуры
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТоварыНаСкладахОстатки.Склад,
| ТоварыНаСкладахОстатки.Номенклатура,
| ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры,
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
|ИЗ
| РегистрНакопления.ТоварыВРознице.Остатки(
| ,
| (Номенклатура, ХарактеристикаНоменклатуры, Склад) В
| (ВЫБРАТЬ
| ТаблицаВЗапрос.Номенклатура,
| ТаблицаВЗапрос.ХарактеристикаНоменклатуры,
| ТаблицаВЗапрос.Склад
| ИЗ
| ТаблицаВЗапрос КАК ТаблицаВЗапрос)) КАК ТоварыНаСкладахОстатки
|ГДЕ
| ТоварыНаСкладахОстатки.Номенклатура.Услуга = ЛОЖЬ";
ТаблицаНоменклатуры = Товары.Выгрузить();
ТаблицаНоменклатуры.Колонки.Добавить("Склад",Новый ОписаниеТипов("СправочникСсылка.Склады"));
ТаблицаНоменклатуры.ЗаполнитьЗначения(Склад,"Склад");
Запрос.УстановитьПараметр("ТаблицаНоменклатуры", ТаблицаНоменклатуры);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
//Сообщить ("Нет смогли определить остатки");
Возврат;
КонецЕсли;
ТаблицаОстатков = Результат.Выгрузить();
ТаблицаОстатков.Индексы.Добавить("Номенклатура,ХарактеристикаНоменклатуры");
СтруктураПоиска = Новый Структура;
МассивСтрок = Новый Массив;
Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл
СтруктураПоиска.Вставить("Номенклатура" , ОформлениеСтроки.ДанныеСтроки.Номенклатура);
СтруктураПоиска.Вставить("ХарактеристикаНоменклатуры", ОформлениеСтроки.ДанныеСтроки.ХарактеристикаНоменклатуры);
СтруктураПоиска.Вставить("Склад" , Склад);
МассивСтрок = ТаблицаОстатков.НайтиСтроки(СтруктураПоиска);
Остаток=0;
Если МассивСтрок.Количество() > 0 Тогда
Остаток = МассивСтрок[0].КоличествоОстаток;
КонецЕсли;
ОформлениеСтроки.Ячейки.Остаток.УстановитьТекст(Остаток);
КонецЦикла;
КонецПроцедуры
Также процедура должна работать с минимальной адаптацией в любых других формах документов, например в форме счета и т.п, но согласно рекомендациям и стандартам разработки показывать остатки нужно в подборе номенклатуры или проверять их достаточность при проведении.