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

Как добавить подбор в документ?

Автор Vitaly85, 02 фев 2014, 17:59

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

Vitaly85

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

Процедура ДействиеПодбор(ТабличнаяЧасть)

Перем Команда, Валюта, СкрыватьХарактеристику;

ЕстьЦена               = Истина;
ЕстьСерия              = Истина;
СкрыватьКачество       = Ложь;
СкрыватьХарактеристику = Ложь;
ПодбиратьУслуги        = Ложь;
Валюта              = ВалютаДокумента;
СпособЗаполненияЦен = Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатурыКонтрагентов;

ЕстьСкладВТабличнойЧасти = мУказаниеСкладовВТЧ;

Если ТабличнаяЧасть = Товары Тогда

Команда           = "ПодборВТабличнуюЧастьТовары";
ИмяТабличнойЧасти = "Товары";

ИначеЕсли ТабличнаяЧасть = ВозвратнаяТара Тогда

Команда           = "ПодборВТабличнуюЧастьВозвратнаяТара";
ЕстьСерия         = Ложь;
ИмяТабличнойЧасти = "Тара";

ИначеЕсли ТабличнаяЧасть = Услуги Тогда

Команда                  = "ПодборВТабличнуюЧастьУслуги";
ЕстьСерия                = Ложь;
ИмяТабличнойЧасти        = "Услуги";
ЕстьСкладВТабличнойЧасти = Ложь;
СкрыватьКачество         = Истина;
СкрыватьХарактеристику   = Истина;
ПодбиратьУслуги          = Истина;

КонецЕсли;

СписокВидовПодбора = СформироватьСписокЗапросовДляПодбора(ТабличнаяЧасть);
ПредставлениеДок   = Метаданные().Представление();

СтруктураПараметровПодбора = Новый Структура();
СтруктураПараметровПодбора.Вставить("Команда"              , Команда);
СтруктураПараметровПодбора.Вставить("СписокВидовПодбора"   , СписокВидовПодбора);

// Параметры запросов.
ВременнаяДатаРасчетов = ?(НачалоДня(Дата) = НачалоДня(ТекущаяДата()), Неопределено, Дата);
СтруктураПараметровПодбора.Вставить("ДатаРасчетов"           , ВременнаяДатаРасчетов);
СтруктураПараметровПодбора.Вставить("Склад"                  , СкладОрдер);
СтруктураПараметровПодбора.Вставить("ТипЦен"                 , ТипЦен);
СтруктураПараметровПодбора.Вставить("Контрагент"             , Контрагент);
СтруктураПараметровПодбора.Вставить("ДоговорКонтрагента"     , ДоговорКонтрагента);
СтруктураПараметровПодбора.Вставить("Организация"            , Организация);
СтруктураПараметровПодбора.Вставить("Сделка"                 , Сделка);
СтруктураПараметровПодбора.Вставить("УсловиеПродаж"          , УсловиеПродаж);

СтруктураПараметровПодбора.Вставить("СпособЗаполненияЦен"    , СпособЗаполненияЦен);
СтруктураПараметровПодбора.Вставить("ЕстьЦена"               , ЕстьЦена);
СтруктураПараметровПодбора.Вставить("ЕстьСерия"              , ЕстьСерия);
СтруктураПараметровПодбора.Вставить("ВалютаДокумента"        , Валюта);
СтруктураПараметровПодбора.Вставить("СкрыватьХарактеристику" , СкрыватьХарактеристику);
СтруктураПараметровПодбора.Вставить("ПодбиратьУслуги"        , ПодбиратьУслуги);
СтруктураПараметровПодбора.Вставить("Заголовок", "Подбор номенклатуры в документ " +
                                    ПредставлениеДок + " № " + Номер + " (" + ИмяТабличнойЧасти + ")");
СтруктураПараметровПодбора.Вставить("ЕстьСкладВТабличнойЧасти", ЕстьСкладВТабличнойЧасти);

РаботаСДиалогами.ОткрытьПодборНоменклатуры(ЭтаФорма, СтруктураПараметровПодбора, Метаданные());

КонецПроцедуры // ДействиеПодбор()

Откуда здесь берется значение СтруктураПараметровПодбора? Откуда туда тянутся значения? Может есть более простой пример подбора? Мне нужно всего одно поле: номенклатура.

LordWizard

Ээээ! А как ты хотел? беру непонятно откуда, непонятно как и непонятно зачем??? Ты обязан передавать кучу параметров при отборе Номенклатуры, а не просто так! ты когда идешь за хлебом - ты же не идешь в первый попавшийся на твоем пути магазин (вдруг "Автозапчасти" попадутся), а также не с первой попавшейся полки (совпал чудесным образом магазин) - а вдруг на первой попавшейся полке - колбаса?? Она же тебе хлеб не заменит? Вот так и параметры отбора необходимы для работы со справочником (например - ты можешь видеть остатки того же товара по своей фирме, по своему складу).
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Теги:

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

Рейтинг@Mail.ru

Поиск