Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 апр 2024, 00:53

Подбор номенклатуры и склад

Автор MevMix, 03 июн 2011, 10:53

0 Пользователей и 1 гость просматривают эту тему.

MevMix

Добрый день!!!
Конфиг мой. 1с8.1
В документах осуществляю подбор номенклатуры
При нажатие на кнопку подбор открывается форма выбора справочника номенклатура.

На форме выбора спр Номенклатура есть поле ввода Склад
Хотелось бы чтоб при открытии этой формы выбора
брался склад из документа, не зависимо какой док открываешь
Реализации или Перемещения или Поступления товаров

как это возможно реализовать
Спасибо!!

chuevsf

Меняйте запрос, который делает подборку номенклатуры. Добавляйте туда параметр Склад и чтобы этот склад тянулся из документа.

MevMix

Перед открытием справочника у меня выбирает склад Основной
ЭлементыФормы.СкладОстатки.Значение = Справочники.Склад.НайтиПоНаименованию("Основной");

но в документе может быть другой склад
хочется сделать универсально, чтоб для любого документа выбирало тот склад который в документе


Сама процедура выглядит так
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОстаткиТоваровОстатки.КоличествоОстаток,
| ОстаткиТоваровОстатки.Склад
|ИЗ
| РегистрНакопления.ОстаткиТоваров.Остатки(
| ,
| Номенклатура = &Номенклатура
| И Склад = &СкладВДокументе) КАК ОстаткиТоваровОстатки";

Запрос.УстановитьПараметр("Номенклатура", ДанныеСтроки.Ссылка);
Запрос.УстановитьПараметр("СкладВДокументе", СкладОстатки);
Выборка = Запрос.Выполнить().Выбрать();
КоличествоЕдиниц = 0;
Пока Выборка.Следующий() Цикл
КоличествоЕдиниц = Выборка.КоличествоОстаток;
КонецЦикла;
     ОформлениеСтроки.Ячейки.Количество.Значение = КоличествоЕдиниц;




has

Чет я не понял. При открытии номенклатуры чтобы был установлен отбор по складу? Дак в чем проблема то? Передавай склад в форму и устанавливай отбор.

cska-fanat-kz

В документе после получения формы подбора
присваиваем реквизиту формы СкладОстатки - склад из документа.
Соответственно он попадет в запрос и вы получите те остатки, которые надо....
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

MevMix

Цитата: has от 03 июн 2011, 11:56
Чет я не понял. При открытии номенклатуры чтобы был установлен отбор по складу? Дак в чем проблема то? Передавай склад в форму и устанавливай отбор.
Да после открытия формы выбора справочника номенклатура в поле ввода СкладОстаткиотобразился тот склад что в документе
Цитата: cska-fanat-kz от 03 июн 2011, 11:59

А как его взять этот склад из документа, ведь форма подбора номенклатуры открываеться как в приходах, в перемещениях и везде склад может быть разный
Я так понимаю что это через метаданные надо делать???
В документе после получения формы подбора
присваиваем реквизиту формы СкладОстатки - склад из документа.
Соответственно он попадет в запрос и вы получите те остатки, которые надо....

MevMix

Цитата: has от 03 июн 2011, 11:56
Чет я не понял. При открытии номенклатуры чтобы был установлен отбор по складу? Дак в чем проблема то? Передавай склад в форму и устанавливай отбор.
Да после открытия формы выбора справочника номенклатура в поле ввода СкладОстаткиотобразился тот склад что в документе

Цитата: cska-fanat-kz от 03 июн 2011, 11:59
В документе после получения формы подбора
присваиваем реквизиту формы СкладОстатки - склад из документа.
Соответственно он попадет в запрос и вы получите те остатки, которые надо....

А как его взять этот склад из документа, ведь форма подбора номенклатуры открываеться как в приходах, в перемещениях и везде склад может быть разный
Я так понимаю что это через метаданные надо делать???

cska-fanat-kz

ФормаПодбора = Справочники.Номенклатура.ПолучитьФорму("ФормаПодбора");
ФормаПодбора.СкладОстатки = Склад; //Склад = реквизит типа Склад в документе
ФормаПодбора.Открыть();

И вам все равно должно быть из какого документа она открывается...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

MevMix

Цитата: cska-fanat-kz от 03 июн 2011, 12:50
ФормаПодбора = Справочники.Номенклатура.ПолучитьФорму("ФормаПодбора");
ФормаПодбора.СкладОстатки = Склад; //Склад = реквизит типа Склад в документе
ФормаПодбора.Открыть();

И вам все равно должно быть из какого документа она открывается...
Как все просто
иногда ловлю на мысле себя что загоняюсь
Спасибо cska-fanat-kz

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск