Имя: Пароль:
1C
1С v8
ЗначениеВДанныеФормы Несоответствие типов (параметр номер '1')
0 mrChOP
 
06.07.17
05:31
&НаКлиенте
Процедура НаОсновании(Команда)
        
    Форма = ПолучитьФорму("Справочник.ВнутренниеДокументы.ФормаОбъекта");
    ДанныеФормы = Форма.Объект; // Получаем объект формы в переменную
    ЗаполнитьДокументНаСервере(ДанныеФормы); // Заполняем документ на сервере
    КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); // копируем наш объект в объект формы и далее открываем ее
    Форма.Открыть();
    
    
КонецПроцедуры


&НаСервере
Функция ЗаполнитьДокументНаСервере(ДанныеФормы);

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

Док = НовыйОбъект;

ЗначениеВДанныеФормы(Док,ДанныеФормы);

КонецФункции



В файловом варианте все работает, как только переношу изменения на сервер, начинает ругаться на "ЗначениеВДанныеФормы". В чем может быть загвоздка?
1 sFAQer
 
06.07.17
05:41
(0) В цикл не зашёл, НовыйОбъект = Неопределено
2 mrChOP
 
06.07.17
05:52
(1)
Точно, я же забыл на сервере создать документ, который копирую! Благодарю за помощь!