Имя: Пароль:
1C
1С v8
Загрузка в ТЧ документа
0 Kurbash
 
27.03.15
14:32
Всем привет. Такая ситуация:
Гружу в ТЧ документа Ввод начальных остатков из экселя номенклатуры со всеми данными. Все загружается, все нормально, но при  попытке проведения выдается сообщение что параметр не заполнен, налогооблажение не заполнено и т.д. Если выбрать(перевыбрать номенклатуру руками все нормально).

Полез в обработчик события ПриИзменении(). Там висит такой код:

Если ИдентификаторТекущейСтроки <> Неопределено Тогда
        ТекущаяСтрока = Объект.Товары.НайтиПоИдентификатору(ИдентификаторТекущейСтроки);
    Иначе
        ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
    КонецЕсли;
    
    СтруктураДействий = Новый Структура;
    СтруктураДействий.Вставить("ПроверитьХарактеристикуПоВладельцу", ТекущаяСтрока.Характеристика);
    СтруктураДействий.Вставить("ПроверитьЗаполнитьУпаковкуПоВладельцу", ТекущаяСтрока.Упаковка);
    СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
    СтруктураДействий.Вставить("ЗаполнитьПризнакВедетсяУчетПоГТД", Новый Структура("Номенклатура", "ВедетсяУчетПоГТД"));
    СтруктураДействий.Вставить("ЗаполнитьПризнакАртикул", Новый Структура("Номенклатура", "Артикул"));
    СтруктураДействий.Вставить("ЗаполнитьПризнакТипНоменклатуры", Новый Структура("Номенклатура", "ТипНоменклатуры"));
    
    ПараметрыПроверкиСерий = Новый Структура("Склад, ПараметрыУказанияСерий", Объект[ПараметрыУказанияСерий.ИмяПоляСклад], ПараметрыУказанияСерий);
    СтруктураДействий.Вставить("ПроверитьСериюРассчитатьСтатус", ПараметрыПроверкиСерий);
    
    СтруктураДействий.Вставить("НоменклатураПриИзмененииПереопределяемый", Новый Структура("ИмяФормы, ИмяТабличнойЧасти",
        ЭтаФорма.ИмяФормы, ИмяТекущейТаблицыФормы));
        
    ОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
    Если НЕ ЗначениеЗаполнено(ТекущаяСтрока.СтавкаНДС) ИЛИ ИдентификаторТекущейСтроки = Неопределено Тогда
        ТекущаяСтрока.СтавкаНДС = СтавкаНДСНоменклатуры(ТекущаяСтрока.Номенклатура);
    КонецЕсли;


документ заполняю на сервере, вышеуказанный код на сервак не засунешь, пробовал выйти через обработку табличный частей:

&НаКлиенте
Функция ЗаполнитьОбъект(НовыйОбъект)
    
    Для каждого нс Из НовыйОбъект.товары Цикл
    СтруктураДействий = Новый Структура;
    СтруктураДействий.Вставить("ПроверитьХарактеристикуПоВладельцу", нс.Характеристика);
    СтруктураДействий.Вставить("ПроверитьЗаполнитьУпаковкуПоВладельцу", нс.Упаковка);
    СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
    СтруктураДействий.Вставить("ЗаполнитьПризнакВедетсяУчетПоГТД", Новый Структура("Номенклатура", "ВедетсяУчетПоГТД"));
    СтруктураДействий.Вставить("ЗаполнитьПризнакАртикул", Новый Структура("Номенклатура", "Артикул"));
    СтруктураДействий.Вставить("ЗаполнитьПризнакТипНоменклатуры", Новый Структура("Номенклатура", "ТипНоменклатуры"));
    
ДатаПриИзмененииСервер(НовыйОбъект);

    
    ПараметрыПроверкиСерий = Новый Структура("Склад, ПараметрыУказанияСерий",НовыйОбъект[глпар.ИмяПоляСклад], глпар);
    СтруктураДействий.Вставить("ПроверитьСериюРассчитатьСтатус", ПараметрыПроверкиСерий);
    
    Форма = ПолучитьФорму("Документ.ВводОстатков.ФормаТовары",,НовыйОбъект);

    СтруктураДействий.Вставить("НоменклатураПриИзмененииПереопределяемый", Новый Структура("ИмяФормы, ИмяТабличнойЧасти",
        Форма, форма.товары));
        
        КэшированныеЗначения = ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения();

    
    ОбработкаТабличнойЧастиКлиент.ЭтотОбъект.ОбработатьСтрокуТЧ(нс, СтруктураДействий, КэшированныеЗначения);

    
    КонецЦикла;
      
        
        
КонецФункции

&НаСервере
Процедура ДатаПриИзмененииСервер(НовыйОбъект)
    ПараметрыУказанияСерий = Новый ФиксированнаяСтруктура(НоменклатураСервер.ПараметрыУказанияСерий(НовыйОбъект, Документы.ВводОстатков));
    НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(НовыйОбъект,ПараметрыУказанияСерий);
глпар=ПараметрыУказанияСерий;
КонецПроцедуры


тоже не канает...... как быть никто не подскажет?
1 Kurbash
 
27.03.15
14:39
апну ка
2 D_E_S_131
 
27.03.15
15:57
"выдается сообщение что параметр не заполнен" — а может проще заполнить нужный параметр?
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.