8.х Организация расходной накладной

Тема в разделе "Другие решения", создана пользователем Salmishskay2516, 3 дек 2012.

  1. TopicStarter Overlay
    Salmishskay2516
    Offline

    Salmishskay2516 Опытный в 1С

    Регистрация:
    1 ноя 2012
    Сообщения:
    143
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте. Имеется приходная накладная, 2 справочника товары, клиенты, контрагенты. Как мне не проводить расходную накладную при нехватке товара и указать количество нехватки товаров и не проводить товар? Понимаю что при возникновении события при записи необходимо будет проверить регистр накопления. Как это примерно всё выглядить будет.
  2. n.s.gnedash
    Offline

    n.s.gnedash Опытный в 1С Команда форума

    Регистрация:
    15 авг 2010
    Сообщения:
    1.359
    Симпатии:
    5
    Баллы:
    29
    Лучше в обработке проведения вызывай процедуру, или функцию, в нее передавай товар из таб части и если кол-во 0, тогда выдавай ошибку...
    примерно так будет выглядеть...
    Код:
    //тут ты пишешь в регистр списание товара
    Для Каждого Товар из ЭтотОбъект.Товары
    
    Движение = Движения.ТоварыНаСкладах.Добавить();
    Движ.Номенклатура = Товар.Номенклатура;
    Колич = ВернутьОстаток(Дата,Склад,Товар.Номенклатура);
    Если Колич>0 Тогда
    Движ.Количество = Колич;
    Иначе
    Сообщть("На складе не достаточно товара "+Товар.Номенклатура +" в размере"+Товар.Количество-Колич);
    Отказ = Истина;
    Возврат
    КонецЕсли;
    КонецЦикла;
    
    
    
    
    Функция ВернутьОстаток(ДатаДок,Склад,Номенклатура)
    Запрос = Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ
    |ТоварыНаСкладахОстатки.КоличествоОстаток
    |ИЗ
    |РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаДок,Склад = &Склад И Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки";
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
    Возврат Выборка.КоличествоОстаток
    Иначе
    Возврат 0
    КонецЕсли;
    КонецФункции
    
  3. TopicStarter Overlay
    Salmishskay2516
    Offline

    Salmishskay2516 Опытный в 1С

    Регистрация:
    1 ноя 2012
    Сообщения:
    143
    Симпатии:
    0
    Баллы:
    26
    Это где её вызывать, какое событие?
  4. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
  5. TopicStarter Overlay
    Salmishskay2516
    Offline

    Salmishskay2516 Опытный в 1С

    Регистрация:
    1 ноя 2012
    Сообщения:
    143
    Симпатии:
    0
    Баллы:
    26
    Понятно модуль объекта. Процедура обработка проведения.

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