Я вывожу информацию по второму складу в информационную строку подбора (см. картинку, доп.склад = "яВитрина"), т.к. в табличке подбора уже тесно и уплотнять её нежелательно (это зависит от размера монитора и настройки разрешения).
Править нужно модуль в "Справочник-Номенклатура-ФормаСписка.ДляПодбора" Функция ИнформационнаяСтрокаПоНоменклатуре().
Исправления в Функция ИнформационнаяСтрокаПоНоменклатуре() отмечены комментарием //*-+
//******************************************************************************
// ИнформационнаяСтрокаПоНоменклатуре()
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// Информационная строка по Номенклатуре.
//
// Вызывается из формул элементов диалога:
// Информационная строка.
//
// Описание:
// Формирует строку с указанием остатка и цены Номенклатуры.
//
Функция ИнформационнаяСтрокаПоНоменклатуре()
Перем ТовОстаток, ТовОстатокПоФирме, ТовЕдиница, ТовЦена, ТовВалюта;
ИнформационнаяСтрока = "";
ТекНоменклатура = ТекущийЭлемент();
Если (ТекНоменклатура.ЭтоГруппа() = 0)
и (ПоказатьОстаткиЦену = 0) Тогда
Если ЦенаВподборе = "Розница" Тогда
Если (ТекНоменклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Услуга)
или (ТекНоменклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Работа) Тогда
// Для услуг и работ розничную цену берем из справочника
глВернутьЦену(ТекНоменклатура, Константа.РозничныйТипЦен, ПолучитьДатуЦен(), ТовЦена, ТовЕдиница, ТовВалюта);
ТовОстаток = "";
ИнформационнаяСтрока = СформироватьИнфНадпись(ТовОстаток,, ТовЕдиница, ТовЦена, ТовВалюта);
Иначе // не услуга, розничная цена
глПолучитьРозничныйОстатокЦену(ТекНоменклатура, ТекНоменклатура.ОсновнаяЕдиница, ОстаткиТМЦ, ТовОстаток, ТовЦена);
СписокОст = ЗначениеИзСтроки(ТовОстаток);
СписокЦен = ЗначениеИзСтроки(ТовЦена);
РазмерСписка = СписокОст.РазмерСписка();
Если РазмерСписка > 0 Тогда
Для Счетчик = 1 По СписокОст.РазмерСписка() Цикл
ИнформационнаяСтрока = ИнформационнаяСтрока +
СформироватьИнфНадпись(СписокОст.ПолучитьЗначение(Счетчик),,
ТекНоменклатура.ОсновнаяЕдиница,
СписокЦен.ПолучитьЗначение(Счетчик),
глРубли) + "; "; // Розничные цены в регистре всегда в валюте бух. учета
КонецЦикла;
Иначе
ИнформационнаяСтрока = СформироватьИнфНадпись(,,,,);
КонецЕсли;
КонецЕсли;
Иначе // подбор не по розничным ценам из регистра
ЕдиницаТекНоменклатуры = ТекНоменклатура.ОсновнаяЕдиница;
Если ЦенаВподборе = "ИзСправочника" Тогда
Если ПолучитьЦенуНоменклатуры(ТекНоменклатура, ТовЕдиница, ТовЦена, ТовВалюта) = 1 Тогда
ЦенаТекНоменклатуры = глФРМ(ТовЦена);
ВалютаТекНоменклатуры = СокрЛП(ТовВалюта);
ЕдиницаТекНоменклатуры = ТовЕдиница;
КонецЕсли;
КонецЕсли;
//*-+ чтобы выводить остатки склада "яВитрина" в инф строке
Если ТекНоменклатура.ЭтоГруппа() = 0 Тогда
СпрВитр = СоздатьОбъект("Справочник.Склады");
ИскатьВитр = "яВитрина";
ОстВитрина = "";
Если СпрВитр.НайтиПоНаименованию(ИскатьВитр,0,0) = 0 Тогда
Иначе
глПолучитьОстаткиНоменклатуры(ФирмаДляОстатковТМЦ, ТекНоменклатура, ЕдиницаТекНоменклатуры, ОстаткиТМЦ, ТовОстаток, ТовОстатокПоФирме, СпрВитр.ТекущийЭлемент(), Резервы, 1);
ОстВитрина = ?(ПустоеЗначение(ТовОстаток) = 1, "",". яВитрина="+ СокрЛП(Формат(ТовОстаток,"Ч07.0"))+".");
КонецЕсли;
КонецЕсли;//*-+
глПолучитьОстаткиНоменклатуры(ФирмаДляОстатковТМЦ, ТекНоменклатура, ЕдиницаТекНоменклатуры, ОстаткиТМЦ, ТовОстаток, ТовОстатокПоФирме, Склад, Резервы, 1);
ИнформационнаяСтрока = СформироватьИнфНадпись(ТовОстаток, ТовОстатокПоФирме, ЕдиницаТекНоменклатуры , ТовЦена, ТовВалюта)+ОстВитрина;//*-+
КонецЕсли;
Иначе
//*-+ чтобы выводить остатки склада "яВитрина" в инф строке
Если ТекНоменклатура.ЭтоГруппа() = 0 Тогда
СпрВитр = СоздатьОбъект("Справочник.Склады");
ИскатьВитр = "яВитрина";
ОстВитрина = "";
Если СпрВитр.НайтиПоНаименованию(ИскатьВитр,0,0) = 0 Тогда
Иначе
//глПолучитьОстаткиНоменклатуры(ФирмаДляОстатковТМЦ, ТекНоменклатура, ЕдиницаТекНоменклатуры, ОстаткиТМЦ, ТовОстаток, ТовОстатокПоФирме, СпрВитр.ТекущийЭлемент(), Резервы, 1);
глПолучитьОстаткиНоменклатуры(ФирмаДляОстатковТМЦ, ТекНоменклатура, ТекНоменклатура.БазоваяЕдиница, ОстаткиТМЦ, ТовОстаток, ТовОстатокПоФирме, СпрВитр.ТекущийЭлемент(), Резервы, 1);
ОстВитрина = ?(ПустоеЗначение(ТовОстаток) = 1, "",". яВитрина="+ СокрЛП(Формат(ТовОстаток,"Ч07.0"))+".");
КонецЕсли;
КонецЕсли;//*-+
ИнформационнаяСтрока = СокрЛП(ТекНоменклатура.Наименование+ ОстВитрина);//*-+
КонецЕсли;
Если (ТекНоменклатура.ЭтоГруппа() = 0)
и (ТипЗначения(ФормаТаблицыОстатков) = 100) Тогда
// если открыта форма с таблицей остатков, то обновим в ней текущий элемент
ФормаТаблицыОстатков.Форма.Обновить(0);
КонецЕсли;
Возврат ИнформационнаяСтрока;
КонецФункции // ИнформационнаяСтрокаПоНоменклатуре()
Прикрепленные файлы:
ДопСклад.jpg