Приход/Расход 1С 7.7

Тема в разделе "1C и всё что с ней связано", создана пользователем KitKat, 9 дек 2010.

  1. KitKat

    KitKat Гость

    Здравствуйте, помогите новачку, пожалуйста!

    У меня такой вопрос: Есть склад, припустим на него пришло 100 единиц товара. Это у нас приход. Потом из этого склада мы хотим снять 101 единицу этого товара. Это расход. При выводи отчета говорит, что товара осталось -1 единица. Как сделать программно так, чтобы у случаях, когда мы хотим снять товара больше, чем его есть на складе, нам выводило сообщения, что это сделать невозможно, поскольку такого количества товара на складе нет????

    Модуль документа Расход:

    Процедура ОбработкаПроведения()

    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл

    Регистр.ОстаткиМатериалов.Материал = Материал;
    Регистр.ОстаткиМатериалов.Склад = Склад;
    Регистр.ОстаткиМатериалов.Количество = Количество;
    Регистр.ОстаткиМатериалов.ДвижениеРасходВыполнить();

    КонецЦикла;

    КонецПроцедуры


    Спасибо!!! ;)
     
  2. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Читаем раздел документации, где написано, как получить итоги регистра, выгружаем их в таблицу значений, затем сравниваем остатки с кол-вом, которое нужно списать.
    Ну и выкладывайте, что будет получаться.
     
  3. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Или изучаем типовые конфигурации ТиС, в которых имеется предохраняющий клапан - константа КонтрольОтрицательныхОстатков
     
  4. SaschaL

    SaschaL Гость

    На просторах интернета есть сканы учебных материалов от 1С по компоненте "Оперативный учет"
    поищите почитайте там все подробно и пошагово рассматривается.

    А так я бы лично сделал контроль остатков при подборе номенклатуры в документе, что пи при вводе количества на списания программа предупреждала что и к чему.
     
  5. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Или это новое слово в оперативном учете ?
     
  6. KitKat

    KitKat Гость

    Вот, есть такой модуль, но он работает не очень правильно. Если на расход брать нормальное количество товара, то выводит сообщение, что его слишком много, помогите, плиз....!!!!

    Процедура ОбработкаПроведения()

    Сп = СоздатьОбъект("СписокЗначений");
    ВыгрузитьТабличнуюЧасть(Сп,"Материал");
    ВремРегистры=СоздатьОбъект("Регистры");
    РегОстатки = ВремРегистры.ОстаткиМатериалов;
    РегОстатки.УстановитьЗначениеФильтра("Материал",Сп,2);
    РегОстатки.УстановитьЗначениеФильтра("Склад",Склад,1);
    Если ИтогиАктуальны()=0 Тогда
    РегОстатки.ВременныйРасчет(1);
    ВремРегистры.РассчитатьРегистрыНа(ТекущийДокумент());
    КонецЕсли;
    ВремРегистры.Актуальность(1);
    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
    ТекущийОстаток = РегОстатки.Остаток(Склад,Материал,"Количество");
    Если ТекущийОстаток<=Количество Тогда
    Сообщить("Упс...");
    СтатусВозврата(0); // Отменим проведение
    КонецЕсли;
    КонецЦикла;

    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
    Регистр.ОстаткиМатериалов.Материал = Материал;
    Регистр.ОстаткиМатериалов.Склад = Склад;
    Регистр.ОстаткиМатериалов.Количество = Количество;
    Регистр.ОстаткиМатериалов.ДвижениеРасходВыполнить();

    КонецЦикла;

    КонецПроцедуры
     
  7. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Сообщаю : Упс !
    ТекущийОстаток < Количество - под ноль-то расход ведь возможен ?

    И к тому же, зачем второй цикл ?
    В первом проверил, достаточно ли материала и сделал расход, а если недостаточно - тогда Упс !
     
Загрузка...

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