Имя: Пароль:
1C
1С v8
Выбор из списка
0 zhig75
 
08.01.12
17:44
Привет
Процедура ТоварыМестоХраненияНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
Элемент.СписокВыбора.Очистить();
   
   СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;
   
   Если НЕ ЗначениеЗаполнено(СтрокаТабличнойЧасти.Номенклатура) Тогда
       СтандартнаяОбработка = Ложь;
       Предупреждение("Не выбрана позиция номенклатуры!");
       Возврат;
   КонецЕсли;
   СписокМест = Новый СписокЗначений();
   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    ТоварыНаМестахХраненияОстаткиИОбороты.КоличествоКонечныйОстаток,
       |    ТоварыНаМестахХраненияОстаткиИОбороты.МестоХранения,
       |    ТоварыНаМестахХраненияОстаткиИОбороты.Номенклатура
       |ИЗ
       |    РегистрНакопления.ТоварыНаМестахХранения.ОстаткиИОбороты КАК ТоварыНаМестахХраненияОстаткиИОбороты
       |ГДЕ
       |    ТоварыНаМестахХраненияОстаткиИОбороты.Склад = &Склад
       |    И ТоварыНаМестахХраненияОстаткиИОбороты.Номенклатура = &Номенклатура";

   Запрос.УстановитьПараметр("Склад", СкладОрдер);
   Запрос.УстановитьПараметр("Номенклатура", СтрокаТабличнойЧасти.Номенклатура);
   Результат = Запрос.Выполнить();

   Выборка = Результат.Выбрать();

   Пока Выборка.Следующий() Цикл;
   Остаток = Выборка.КоличествоКонечныйОстаток;
   Строка = Строка(Остаток);
   Строка = Формат(Остаток, "ЧГ=0");
       Место = Выборка.МестоХранения;
   Строка =Строка(Место) +" " + Строка;
   Элемент.СписокВыбора.Добавить(Строка);
   КонецЦикла;
КонецПроцедуры

На выходе получается список примерно такого вида
Место1 10
Место2 50
Место3 35
Итд

Выбрать из этого списка не получится, потому что в нем присутствует остаток, и вот я чета никак не могу сообразить что надо дописать чтоб при выборе из этого списка отсекался остаток в поле ввода.
1 Reaper_1c
 
08.01.12
17:50
Представление
2 zhig75
 
08.01.12
18:50
(1) А что даст представление?
Закон Брукера: Даже маленькая практика стоит большой теории.