Имя: Пароль:
1C
1С v8
Проверка заполнения табличной части
0 NovichokAlena
 
03.06.15
07:35
Здравствуйте. 1С:Предприятие 8.3 (8.3.6.1977) ,Управление производственным предприятием, редакция 1.3 (1.3.24.2)
1 NovichokAlena
 
03.06.15
07:37
НЕобходимо проверить заполнена ли табличная часть "продукция" документа отчет производства за смену.                                                   Табл = СсылкаНаОбъект.Продукция.Выгрузить(,"УТС_ДатаПодтвержденияПоступления,Номенклатура,ХарактеристикаНоменклатуры,ЕдиницаИзмерения,Заказ,ВесОтливки,Количество");
    Табл.Свернуть("УТС_ДатаПодтвержденияПоступления,Номенклатура,ХарактеристикаНоменклатуры,ЕдиницаИзмерения,Заказ,ВесОтливки","Количество");
    
    //КоличествоИТОГО = 0;
    СтоимостьИТОГО = 0;

Если Табл.Количество()<1 Тогда    
    Для Каждого Стр Из Табл Цикл
        СтруктураПоиска = Новый Структура("Продукция,Заказ");
        
        //ОбластьПродукцияЗатраты
        ОбластьПродукцияЗатраты.Параметры.Заполнить(Стр);
        ОбластьПродукцияЗатраты.Параметры.Заказ    = ОбщегоНазначения.ПолучитьНомерНаПечать(Стр.Заказ);
        ОбластьПродукцияЗатраты.Параметры.Вес    = Стр.ВесОтливки;
        
        ЗапросЦены.УстановитьПараметр("Период", ?(ЗначениеЗаполнено(Стр.УТС_ДатаПодтвержденияПоступления),Стр.УТС_ДатаПодтвержденияПоступления,СсылкаНаОбъект.Дата));
        ЗапросЦены.УстановитьПараметр("Номенклатура", Стр.Номенклатура);
        //ЗапросЦены.УстановитьПараметр("ХарактеристикаНоменклатуры", Стр.ХарактеристикаНоменклатуры);
        
        Выборка = ЗапросЦены.Выполнить().Выбрать();
        Цена = 0;
        Если Выборка.Следующий() Тогда
            Цена = Ценообразование.ПересчитатьЦенуПриИзмененииЕдиницы(Выборка.Цена, Выборка.ЕдиницаИзмерения, Стр.ЕдиницаИзмерения);
            //Цена = Ценообразование.ПересчитатьЦенуПриИзмененииВалюты(Цена, Выборка.Валюта, НоваяВалюта, КурсНовойВалюты = 0, КратностьНовойВалюты = 1, СсылкаНаОбъект.Дата);
        КонецЕсли;
    
        ОбластьПродукцияЗатраты.Параметры.Стоимость = Стр.Количество * Цена;
        ТабДокумент.Вывести(ОбластьПродукцияЗатраты);
        
        //ОбластьГруппаМатериальныеЗатраты
        СтруктураПоиска.Продукция = (Стр.Номенклатура);
        СтруктураПоиска.Заказ      = (Стр.Заказ);
КонецЦикла;
2 NovichokAlena
 
03.06.15
07:38
вылетает такая ошибка: Не удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (НайтиСтроки): Несоответствие типов (параметр номер '1')
3 NovichokAlena
 
03.06.15
07:40
Только в коде должно быть Если Табл.Количество >1. ТОгда заполняем строки, иначе ...."код"
Извините за спешку.
4 NovichokAlena
 
03.06.15
07:45
и ошибка следующая: Не удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (Выгрузить): Несоответствие типов (параметр номер '1')
5 smartu
 
03.06.15
07:48
Если СсылкаНаОбъект.Продукция.Количество() = 0 Тогда
Возврат;
КонецЕсли;

или

Если СсылкаНаОбъект.Продукция.Количество() > 0 Тогда

     ТабДок ....

КонецЕсли;
6 NovichokAlena
 
03.06.15
07:56
(5)все равно вылетает ошибка :Не удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (Выгрузить): Несоответствие типов (параметр номер '1')
7 smartu
 
03.06.15
08:02
Табл = СсылкаНаОбъект.Продукция.Выгрузить(

""

,"УТС_ДатаПодтвержденияПоступления,Номенклатура,ХарактеристикаНоменклатуры,ЕдиницаИзмерения,Заказ,ВесОтливки,Количество");

кавычки в первом параметре
8 NovichokAlena
 
03.06.15
08:07
(7)спасибо,не заметила. но зато теперь другая ошибка :Не удалось сформировать внешнюю печатную форму!
Слишком много фактических параметров
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн