Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как отменить проводку документов.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
MH.z
УПП редакция 1.3.
Подскажите пожалуйста как можно отменить проводку документа "ПеремещениеТоваров" если в документе товара больше чем на складе?
Я сделал следующим образом: В процедуру ОбработкаПроведения добавил следующий код.
Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    ПеремещениеТоваровТовары.Номенклатура,
        |    ПеремещениеТоваровТовары.Количество,
        |    ЕСТЬNULL(ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток
        |ИЗ
        |    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.Остатки КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстатки
        |        ПО ПеремещениеТоваровТовары.Номенклатура.Ссылка = ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура
        |ГДЕ
        |    ПеремещениеТоваровТовары.Ссылка = &Ссылка";
        Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
        Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Ссылка);
        Результат = Запрос.Выполнить().Выгрузить();
        Для каждого Строка из Результат Цикл
            Если Строка.Количество > Строка.КоличествоОстаток Тогда
                ЭтотОбъект.Проведен = Ложь;
                ЭтотОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);
                
                Сообщить("Документ " + ЭтотОбъект.Ссылка + " записан, но не проведен!");
                
            КонецЕсли;
        КонецЦикла;


Но как оказалось этот вариант не подходит. Т.к. вчера он работал, все было нормально, а сегодня ,точнее 15мин назад он уже не работает. По какой причине, я не смог разобраться.
Подскажите какой вариант еще можно использовать?
За ранее спасибо!
pablo
Я бы предложил сделать, как в типовых. В обработке события ПередЗаписью.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.