Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: УПП Отчет производства за смену
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Pavlik1c
Как установить Отмену Проведения в документа "Отчет производства за смену", если на вкладках (Продукция и услуги) и (Материалы) в колонках Номенклатуры совпадают значения элементов, а потом вывести этот элемент в сообщении.
pablo
Вопрос в том как:
1) Отменить проведение
2) Найти совпадающие элементы
3) Вывести сообщение на поверхность
?
Pavlik1c
А именно совпадающие элементы.
pablo
Посмотрите на форме, каким табличным частям документа соответствуют табличные части на этих вкладках.
Дальше, запросом выберите две табличные части этого документа, указав внутреннее соединение и одним из условий соединения - равенство реквизитов Номенклатуры. Результат запроса даст список всех совпадающих строк.
Pavlik1c
А пример запроса можно?

Как указать параметр, чтобы в запрос попадали данные именно открытого документа?
Pavlik1c
Кажись отрабатывает...
Парам = ЭтаФорма.ДокументОбъект.Ссылка;        
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ОтчетПроизводстваЗаСменуПродукция.Номенклатура,
        |    ОтчетПроизводстваЗаСменуМатериалы.Номенклатура КАК Номенклатура1
        |ИЗ
        |    Документ.ОтчетПроизводстваЗаСмену.Материалы КАК ОтчетПроизводстваЗаСменуМатериалы
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция
        |        ПО ОтчетПроизводстваЗаСменуМатериалы.Номенклатура = ОтчетПроизводстваЗаСменуПродукция.Номенклатура
        |ГДЕ
        |    ОтчетПроизводстваЗаСменуПродукция.Ссылка = &Парам
        |    И ОтчетПроизводстваЗаСменуМатериалы.Ссылка = &Парам";
        Запрос.УстановитьПараметр("Парам",Парам);
    
    Тест = Запрос.Выполнить().Выгрузить();
    ЭлементыФормы.Тест.СоздатьКолонки();
    Если  НЕ Тест.Количество() = 0 Тогда
    Предупреждение("Вы пытаетесь провести документ, где совпадают названия продукции и материала! Проверьте правильность заполнения табличных частей");
    КонецЕсли;


А как вывести полученные значения через функцию Сообщение("")?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.