7.7 Остаток на одну товарную позицию

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем dimi3o, 26 янв 2013.

  1. TopicStarter Overlay
    dimi3o
    Offline

    dimi3o

    Регистрация:
    25 янв 2013
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Всем привет! Подскажите как быстро получить остаток на товарную позицию, полученную сканированием ШК. Я получил наименование и цену. Теперь мне нужно получить ее остаток на складе "Основной склад" и по фирме "Магазин". Подскажите пожалуйста! Может есть глобальная обработка или нужно формировать РегистрОстатки и РегистрПартии? Если запрос, пожалуйста напишите пример, а то я еще учусь... Чуть не забыл. Склад и магазин в параметрах надо указать вручную прямо в коде. Заранее спасибо!

    Вот как я получил наименование и цену: Код
    Код:
    ТипЦен = СоздатьОбъект("Справочник.ТипыЦен");
    ТипЦен.НайтиПоНаименованию("Розничные");
    ТипЦен = ТипЦен.ТекущийЭлемент();
    Валюта = СоздатьОбъект("Справочник.Валюты");
    Валюта.НайтиПоНаименованию("руб.");
    Валюта = Валюта.ТекущийЭлемент();
    Курс = 1.000;
    Если Событие = "BarCodeValue" Тогда
    Если Форма.ТолькоПросмотр() = 0 Тогда
    Если глПолучитьТоварПоШтрихкоду(Данные, ВремТовар, ВремЕдиница, ВремКоличество) <> 0 Тогда
    Форма.Товар .Заголовок(" "+ВремТовар);
    Форма.Цена .Заголовок(" "+глПолучитьЦену(ВремТовар.ТекущийЭлемент(), ТипЦен, РабочаяДата(), ВремЕдиница, Валюта, Курс)+" руб.");
    Форма.Остаток .Заголовок(" "+ВремКоличество+" "+ВремЕдиница);
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    Там у меня ВремКоличество, но оно пока просто возвращает единицу. Надо чтобы был остаток по складу.
  2. TopicStarter Overlay
    dimi3o
    Offline

    dimi3o

    Регистрация:
    25 янв 2013
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Вот так пытаюсь получить количество, подобно инф.строке в списке номенклатуры:
    Код:
    Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
    Перем ВремТовар, ВремЕдиница, ВремКоличество;
    Перем ЦенаЦены;
    Wsh = СоздатьОбъект("Wscript.shell");
    Wsh.SendKeys("{RIGHT}");
    ТипЦен = СоздатьОбъект("Справочник.ТипыЦен");
    ТипЦен.НайтиПоНаименованию("Розничные");
    ТипЦен = ТипЦен.ТекущийЭлемент();
    Валюта = СоздатьОбъект("Справочник.Валюты");
    Валюта.НайтиПоНаименованию("руб.");
    Валюта = Валюта.ТекущийЭлемент();
    //Фирма = СоздатьОбъект("Справочник.Фирмы");
    //Фирма.НайтиПоНаименованию("Магазин");
    //Фирма = Фирма.ТекущийЭлемент();
    //Склад = СоздатьОбъект("Справочник.Склады");
    //Склад.НайтиПоНаименованию("ДИСКАУНТЕР");
    //Склад = Склад.ТекущийЭлемент();
    Курс = 1.000;
    ОбщРег = СоздатьОбъект("Регистры");
    ВремОстаткиТМЦ = ОбщРег.ОстаткиТМЦ;
    ОстаткиТМЦ = ВремОстаткиТМЦ;
    Если Событие = "BarCodeValue" Тогда
    Если Форма.ТолькоПросмотр() = 0 Тогда
    Если глПолучитьТоварПоШтрихкоду(Данные, ВремТовар, ВремЕдиница, ВремКоличество) <> 0 Тогда
    Форма.Товар .Заголовок(" "+ВремТовар);
    Форма.Цена .Заголовок(" "+глПолучитьЦену(ВремТовар.ТекущийЭлемент(), ТипЦен, РабочаяДата(), ВремЕдиница, Валюта, Курс)+" руб.");
    ТекОстаток = глПолучитьОстатокНоменклатуры(ВремТовар.ТекущийЭлемент(), ВремЕдиница, ОстаткиТМЦ, 0, 0, 0);
    КоличествоВл = ВремТовар.ТекущийЭлемент().КолВложений;
    Форма.Остаток .Заголовок(" "+СокрЛП(КоличествоВл)+" "+ВремЕдиница);//тут должно выводить остаток
    Иначе
    Форма.Товар .Заголовок(" " + "Штрих-код не найден!");
    Форма.Цена .Заголовок(" ");
    Форма.Остаток .Заголовок(" ");
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    // Обработка закончена. Готовы к получению нового штрихкода.
    глСканерПосылкаДанных(1);
    КонецПроцедуры


    Всё время на выходе 0! Что я не так делаю?? Подскажите мужики, пожалуйста! Заранее спасибо!
  3. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Озвучте конфигурацию и релиз. В типовой ТиС 9.2 глПолучитьОстаткиНоменклатуры это процедура, а у вас - функция

Поделиться этой страницей