проверка наличия товара.Комплексная конфигурация
19.11.2009
00:00
#1
"Подскажите пожалуйста как в этом коде привязать проверку наличия товара на выбранном складе?
// Заполнение по группе ТМЦ
Процедура Заполнить()
ГруппаТМЦ = СоздатьОбъект("Справочник.Товары");
ГруппаТМЦ.ВыборГруппы(1);
Если ГруппаТМЦ.Выбрать("Выберите группу товаров",) = 0 Тогда
Возврат;
КонецЕсли;
Если ГруппаТМЦ.ЭтоГруппа() = 0 Тогда
Предупреждение("Нужно выбрать группу ТМЦ!");
Возврат;
КонецЕсли;
Если КоличествоСтрок()>0 Тогда
Рез = Вопрос("Удалить существующие строки?","Да+Нет+Отмена");
Если Рез ="Да" Тогда
УдалитьСтроки();
ИначеЕсли Рез = "Отмена" Тогда
Возврат;
КонецЕсли;
КонецЕсли;
СпрТМЦ = СоздатьОбъект("Справочник.Товары");
СпрТМЦ.ИспользоватьРодителя(ГруппаТМЦ.ТекущийЭлемент());
СпрТМЦ.ВыбратьЭлементы();
Пока СпрТМЦ.ПолучитьЭлемент() = 1 Цикл
Если СпрТМЦ.ЭтоГруппа() = 1 Тогда
Продолжить;
КонецЕсли;
НоваяСтрока();
Товар = СпрТМЦ.ТекущийЭлемент();
УстТовар();
КонецЦикла;
КонецПроцедуры"
// Заполнение по группе ТМЦ
Процедура Заполнить()
ГруппаТМЦ = СоздатьОбъект("Справочник.Товары");
ГруппаТМЦ.ВыборГруппы(1);
Если ГруппаТМЦ.Выбрать("Выберите группу товаров",) = 0 Тогда
Возврат;
КонецЕсли;
Если ГруппаТМЦ.ЭтоГруппа() = 0 Тогда
Предупреждение("Нужно выбрать группу ТМЦ!");
Возврат;
КонецЕсли;
Если КоличествоСтрок()>0 Тогда
Рез = Вопрос("Удалить существующие строки?","Да+Нет+Отмена");
Если Рез ="Да" Тогда
УдалитьСтроки();
ИначеЕсли Рез = "Отмена" Тогда
Возврат;
КонецЕсли;
КонецЕсли;
СпрТМЦ = СоздатьОбъект("Справочник.Товары");
СпрТМЦ.ИспользоватьРодителя(ГруппаТМЦ.ТекущийЭлемент());
СпрТМЦ.ВыбратьЭлементы();
Пока СпрТМЦ.ПолучитьЭлемент() = 1 Цикл
Если СпрТМЦ.ЭтоГруппа() = 1 Тогда
Продолжить;
КонецЕсли;
НоваяСтрока();
Товар = СпрТМЦ.ТекущийЭлемент();
УстТовар();
КонецЦикла;
КонецПроцедуры"
19.11.2009
04:16
#6
"Попробую ответить чисто в теории...
Товар храниться на складе. В регистре например ОстатокТовара. Тогда для получения текущего остатка товара на складе пробуем:
//Начальные данные, в документе есть реквизит Склад (тип Справочник.Склады) тогда
Остаток=Регистр.ОстатокТовара.Остаток(Товар,Склад);
//К сожалению на текущий момент к 1С как Комплексной так и остальным компонентам доступа не имею, но этот пример может навести Вас на верную мысль..."
Товар храниться на складе. В регистре например ОстатокТовара. Тогда для получения текущего остатка товара на складе пробуем:
//Начальные данные, в документе есть реквизит Склад (тип Справочник.Склады) тогда
Остаток=Регистр.ОстатокТовара.Остаток(Товар,Склад);
//К сожалению на текущий момент к 1С как Комплексной так и остальным компонентам доступа не имею, но этот пример может навести Вас на верную мысль..."
Читают тему
(гостей: 1)