Имя: Пароль:
1C
 
Проверка корректного числа товаров на складе
0 vladis222
 
27.06.19
19:48
Подскажите,пожалуйста, в задании есть документы,поступление товаров на склад, перемещение со склада на склад, реализация товаров, есть регистры(накопления-остатки, накопления-оборотный и сведений), в задании не сказано ничего про это, но я так поразмыслил , если например кто-то в документе перемещение товаров,или реализация укажет какое-то число товаров, которые нужно продать переместить, а их там нет, они туда вообще не поступали, в регистре остаточном будет отрицательное число. Можно сделать какую-то простую проверку в документах(перемещение,реализация), что если количество товаров в регистре отрицательное по складу остаточное - вывести пользователю сообщение об ошибке и не проводить документы...

Можно вообще как-то в обработке проведения вытянуть данные из регистра накопления? Вот мой код:
Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    Если РегистрНакопления.ТоварыНаСкладахОстатки.КоличествоОстаток <0
    Тогда Отказ=Истина;
    Иначе

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

    // регистр ТоварыНаСкладах Приход
    Движения.ТоварыНаСкладах.Записывать = Истина;
    Для Каждого ТекСтрокаПеремещаемыеТовары Из ПеремещаемыеТовары Цикл
        Движение = Движения.ТоварыНаСкладах.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
        Движение.Период = Дата;
        Движение.Склад = СкладПолучатель;
        Движение.Товар = ТекСтрокаПеремещаемыеТовары.Товар;
        Движение.Количество = ТекСтрокаПеремещаемыеТовары.Количество;
    КонецЦикла;
    КонецЕсли;

    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры


То есть я хочу чтобы если в регистре накопления остаточном было отрицательное число товаров,что ненормально, то не проводить такой документ и вывести пользователю сообщение об ошибке...
1 lodger
 
27.06.19
20:03
сессия что ли?
2 lodger
 
27.06.19
20:05
(0) Можно вообще как-то в обработке проведения вытянуть данные из регистра накопления? = нужно.
"То есть я хочу " = правильно хочешь.
"Вот мой код:" = хорошо начал, продолжай работать. ты только только начал.
3 AlvlSpb
 
27.06.19
20:06
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой