Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Программное создание документа 1с УФ

Программное создание документа 1с УФ
Я
   skupidom
 
26.02.18 - 11:21
БИТ.Строительство,редакция 3.0 (3.0.1.120)
Программно создаю документ ПоступлениеТоваровУслуг.
Смотрю заполнение и запись отладчиком.В конце процедуры создается документ Поступление(акт, накладная) 00000006435 от 28.02.2017 23:59:59
Захожу в Предприятие,устанавливаю отбор по нужной организации, документа нет.Искал по номеру итд.. нет, что делаю не так ?
Код:
&НаСервере
Процедура ПрочитатьXMLПТУ(ЧтениеXML) Экспорт
    
    Если ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
        ВызватьИсключение "Ошибка чтения XML";        
    КонецЕсли;
    
    СпрОрганизации = Справочники.Организации;
    СпрВалюты = Справочники.Валюты;
    СпрКонтрагенты = Справочники.Контрагенты;    
    СпрДоговора = Справочники.ДоговорыКонтрагентов;
    СпрПодразделенияОрганизаций = Справочники.ПодразделенияОрганизаций;
    СпрЕдиницИзмерения            = Справочники.КлассификаторЕдиницИзмерения;
    СпрНоменклатура                = Справочники.Номенклатура;     
    СпрВидыНоменклатуры            = Справочники.ВидыНоменклатуры;
    //

    ДокПТУ = Документы.ПоступлениеТоваровУслуг;
    
    НачатьТранзакцию();
    
    ЧтениеXML.Прочитать();
    
    Если ЧтениеXML.Имя = "DocumentObject.ПоступлениеТоваровУслуг.Вручную" Тогда
         ЧтениеXML.Прочитать();
    КонецЕсли;
    
    Если ЧтениеXML.Имя = "Ref" Тогда
        
        СоответствиеОбъекта = ПрочитатьXML(ЧтениеXML);
        СоответствиеОбъектаСтрока = Строка(СоответствиеОбъекта);         
        //Если Найти(СоответствиеОбъектаСтрока,"Объект не найден") > 0 Тогда             

        
        УИДДокОбъекта = ПреобразуемВУИДОбъекта(СоответствиеОбъекта);         
        НовыйGUID = Новый УникальныйИдентификатор(УИДДокОбъекта);
        СсылкаПТУ = ДокПТУ.ПолучитьСсылку(НовыйGUID);
        ОбъектПТУ = СсылкаПТУ.ПолучитьОбъект();
        Если ОбъектПТУ = Неопределено Тогда               
            
            НовоеПТУ = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();             
            НовоеПТУ.УстановитьСсылкуНового(СсылкаПТУ);
            
            Если ЧтениеXML.Имя = "Номер" Тогда            
                НовоеПТУ.Номер = ПрочитатьXML(ЧтениеXML);
            КонецЕсли;            
            Если ЧтениеXML.Имя = "Дата" Тогда              
                НовоеПТУ.Дата = ПрочитатьXML(ЧтениеXML);
            КонецЕсли;
            
            Если ЧтениеXML.Имя = "CatalogObject.Организации.Вручную" Тогда// Организация -->   

                ЧтениеXML.Прочитать();
                
                Если ЧтениеXML.Имя = "Ref" Тогда
                    СоответствиеОбъектаОрг = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                Если ЧтениеXML.Имя = "Description" Тогда
                    НаименованиеОрганизации = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                // ИНН

                Если ЧтениеXML.Имя = "ИНН" Тогда              
                    ИНН = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                Если ЧтениеXML.Имя = "КПП" Тогда              
                    КПП = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                // НаименованиеПолное

                Если ЧтениеXML.Имя = "НаименованиеПолное" Тогда              
                    НаименованиеПолное = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                // СвидетельствоСерияНомер

                Если ЧтениеXML.Имя = "СвидетельствоСерияНомер" Тогда              
                    СвидетельствоСерияНомер = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                // СвидетельствоДатаВыдачи

                Если ЧтениеXML.Имя = "СвидетельствоДатаВыдачи" Тогда              
                    СвидетельствоДатаВыдачи = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
            КонецЕсли;
            
            СоответствиеОбъектаОргСтрока = Строка(СоответствиеОбъектаОрг);
            Если Найти(СоответствиеОбъектаОргСтрока,"Объект не найден") > 0 Тогда
                УИДОрганизацияОбъекта = ПреобразуемВУИДОбъекта(СоответствиеОбъектаОрг);         
                НовыйGUIDОрг = Новый УникальныйИдентификатор(УИДОрганизацияОбъекта);                             
                СсылкаОрг = СпрОрганизации.ПолучитьСсылку(НовыйGUIDОрг);
                ОбъектОрг = СсылкаОрг.ПолучитьОбъект();                    
                Если ОбъектОрг = Неопределено Тогда
                    // Это справочник, ищем по 2 варианту = НайтиПоНаименованию                             

                    НашлиОрганизациюПоНаименованию = СпрОрганизации.НайтиПоНаименованию(НаименованиеОрганизации);
                    Если НашлиОрганизациюПоНаименованию = СпрОрганизации.ПустаяСсылка() Тогда
                        
                        НоваяОрганизация = СпрОрганизации.СоздатьЭлемент();                     
                        НоваяОрганизация.УстановитьСсылкуНового(СсылкаОрг);
                        // Наименование

                        НоваяОрганизация.Наименование = НаименованиеОрганизации;
                        НоваяОрганизация.ИНН = ИНН;
                        НоваяОрганизация.КПП = КПП;
                        НоваяОрганизация.НаименованиеПолное = НаименованиеПолное;
                        НоваяОрганизация.СвидетельствоСерияНомер = СвидетельствоСерияНомер;
                        НоваяОрганизация.СвидетельствоДатаВыдачи = СвидетельствоДатаВыдачи;
                        НоваяОрганизация.Записать();                            
                        
                        НовоеПТУ.Организация = НоваяОрганизация.Ссылка;
                        
                    Иначе
                        // Организация ПТУ

                        НовоеПТУ.Организация = НашлиОрганизациюПоНаименованию;
                    КонецЕсли;
                КонецЕсли;
            Иначе// Есть организацию

                // GUIDОрганизация

                GUIDОрганизация = Новый УникальныйИдентификатор(СоответствиеОбъектаОрг);                
                СоответствиеОбъектаОрганизацияGUIDСтрока = Строка(СпрОрганизации.ПолучитьСсылку(GUIDОрганизация));
                СсылкаОрг = СпрОрганизации.ПолучитьСсылку(GUIDОрганизация);
                ОбъектОрг = СсылкаОрг.ПолучитьОбъект();                    
                Если Найти(СоответствиеОбъектаОрганизацияGUIDСтрока,"Объект не найден") > 0 Тогда
                    Если ОбъектОрг = Неопределено Тогда    
                        // Это справочник, ищем по 2 варианту = НайтиПоНаименованию                             

                        НашлиОрганизацияПоНаименованию = СпрОрганизации.НайтиПоНаименованию(НаименованиеОрганизации);                
                        Если НашлиОрганизацияПоНаименованию = СпрОрганизации.ПустаяСсылка() Тогда                        
                            
                            НоваяОрганизация = СпрОрганизации.СоздатьЭлемент(); 
                            НоваяОрганизация.УстановитьСсылкуНового(СсылкаОрг);
                            // Наименование

                            НоваяОрганизация.Наименование = НаименованиеОрганизации;
                            НоваяОрганизация.ИНН = ИНН;
                            НоваяОрганизация.КПП = КПП;
                            НоваяОрганизация.НаименованиеПолное = НаименованиеПолное;
                            НоваяОрганизация.СвидетельствоСерияНомер = СвидетельствоСерияНомер;
                            НоваяОрганизация.СвидетельствоДатаВыдачи = СвидетельствоДатаВыдачи;
                            НоваяОрганизация.Записать();                            
                            
                            НовоеПТУ.Организация = НоваяОрганизация.Ссылка;                                      
                        Иначе                                      
                            // Организация ПТУ

                            НовоеПТУ.Организация = НашлиОрганизациюПоНаименованию;                                      
                        КонецЕсли;
                    КонецЕсли;
                КонецЕсли;
            КонецЕсли;// Организация <--

            
            ЧтениеXML.Прочитать();
            
            Если ЧтениеXML.Имя = "CatalogObject.Валюты.Вручную" Тогда// Валюты -->                

                
                ЧтениеXML.Прочитать();
                
                Если ЧтениеXML.Имя = "Ref" Тогда
                    СоответствиеОбъектаВалюты = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                // Description

                Если ЧтениеXML.Имя = "Description" Тогда
                    НаименованиеВалюты = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                // DescriptionFull

                Если ЧтениеXML.Имя = "DescriptionFull" Тогда
                    ПолноеНаименованиеВалюты = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
            КонецЕсли;
            
            СоответствиеОбъектаВалютыСтрока = Строка(СоответствиеОбъектаВалюты);
            Если Найти(СоответствиеОбъектаВалютыСтрока,"Объект не найден") > 0 Тогда
                УИДВалютыОбъекта = ПреобразуемВУИДОбъекта(СоответствиеОбъектаВалюты);         
                НовыйGUIDВалюты = Новый УникальныйИдентификатор(УИДВалютыОбъекта);                             
                СсылкаВалюты = СпрВалюты.ПолучитьСсылку(НовыйGUIDВалюты);
                ОбъектВалюты = СсылкаВалюты.ПолучитьОбъект();
                Если ОбъектВалюты = Неопределено Тогда
                    // Это справочник, ищем по 2 варианту = НайтиПоНаименованию                             

                    НашлиВалютыПоНаименованию = СпрВалюты.НайтиПоНаименованию(НаименованиеВалюты);
                    Если НашлиВалютыПоНаименованию = СпрВалюты.ПустаяСсылка() Тогда
                        
                        НоваяВалюты = СпрВалюты.СоздатьЭлемент();
                        НоваяВалюты.УстановитьСсылкуНового(СсылкаВалюты);
                        // Наименование

                        НоваяВалюты = СпрВалюты.СоздатьЭлемент();                             
                        НоваяВалюты.Наименование = НаименованиеВалюты;
                        НоваяВалюты.НаименованиеПолное = ПолноеНаименованиеВалюты;
                        НоваяВалюты.Записать();                            
                        
                        НовоеПТУ.ВалютаДокумента = НоваяВалюты.Ссылка;
                    Иначе
                        // Валюта ПТУ

                        НовоеПТУ.ВалютаДокумента = НашлиВалютыПоНаименованию;
                    КонецЕсли;
                КонецЕсли;
            Иначе// Есть Валюта

                // GUIDВалюта

                GUIDВалюта = Новый УникальныйИдентификатор(СоответствиеОбъектаВалюты);
                СоответствиеОбъектаВалютаGUIDСтрока = Строка(СпрВалюты.ПолучитьСсылку(GUIDВалюта));
                СсылкаВалюты = СпрВалюты.ПолучитьСсылку(GUIDВалюта);
                ОбъектВалюты = СсылкаВалюты.ПолучитьОбъект();
                Если ОбъектВалюты = Неопределено Тогда
                    //Если Найти(СоответствиеОбъектаВалютаGUIDСтрока,"Объект не найден") > 0 Тогда

                    // Это справочник, ищем по 2 варианту = НайтиПоНаименованию                             

                    НашлиВалютыПоНаименованию = СпрВалюты.НайтиПоНаименованию(НаименованиеВалюты);                    
                    Если НашлиВалютыПоНаименованию = СпрВалюты.ПустаяСсылка() Тогда
                        
                        // Наименование

                        НоваяВалюты = СпрВалюты.СоздатьЭлемент();
                        НоваяВалюты.УстановитьСсылкуНового(СсылкаВалюты);
                        НоваяВалюты.Наименование = НаименованиеВалюты;
                        НоваяВалюты.НаименованиеПолное = ПолноеНаименованиеВалюты;
                        НоваяВалюты.Записать();                            
                        
                        НовоеПТУ.ВалютаДокумента = НоваяВалюты.Ссылка;                                      
                    Иначе                                      
                        // ВалютаДокумента ПТУ

                        НовоеПТУ.ВалютаДокумента = НашлиВалютыПоНаименованию;                                      
                    КонецЕсли;
                КонецЕсли;
                
            КонецЕсли;// Валюта <--

            
            ЧтениеXML.Прочитать();
            
            Если ЧтениеXML.Имя = "ВидОперации" Тогда// ВидОперации -->

                ВидОперации = ПрочитатьXML(ЧтениеXML);
                Если ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия Тогда
                    НовоеПТУ.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия;
                КонецЕсли;
            КонецЕсли;                        
            Если ЧтениеXML.Имя = "ДатаВходящегоДокумента" Тогда              
                НовоеПТУ.ДатаВходящегоДокумента = ПрочитатьXML(ЧтениеXML);
            КонецЕсли;
            Если ЧтениеXML.Имя = "Комментарий" Тогда              
                НовоеПТУ.Комментарий = ПрочитатьXML(ЧтениеXML);
            КонецЕсли;
            
            Если ЧтениеXML.Имя = "CatalogObject.Контрагенты.Вручную" Тогда  
                
                ЧтениеXML.Прочитать();
                
                Если ЧтениеXML.Имя = "Ref" Тогда
                    СоответствиеОбъектаКонтрагенты = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                // Description

                Если ЧтениеXML.Имя = "Description" Тогда
                    НаименованиеКонтрагенты = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                // ИНН

                Если ЧтениеXML.Имя = "ИНН" Тогда
                    ИННКонтрагенты = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                // КПП

                Если ЧтениеXML.Имя = "КПП" Тогда
                    КППКонтрагенты = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                // НаименованиеПолное

                Если ЧтениеXML.Имя = "НаименованиеПолное" Тогда
                    НаименованиеПолноеКонтрагенты = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
            КонецЕсли;
            
            СоответствиеОбъектаКонтрагентыСтрока = Строка(СоответствиеОбъектаКонтрагенты);
            Если Найти(СоответствиеОбъектаКонтрагентыСтрока,"Объект не найден") > 0 Тогда
                УИДКонтрагентыОбъекта = ПреобразуемВУИДОбъекта(СоответствиеОбъектаКонтрагенты);         
                НовыйGUIDКонтрагенты = Новый УникальныйИдентификатор(УИДКонтрагентыОбъекта);                             
                СсылкаКонтрагент = СпрКонтрагенты.ПолучитьСсылку(НовыйGUIDКонтрагенты);
                ОбъектКонтрагент = СсылкаКонтрагент.ПолучитьОбъект();
                Если ОбъектКонтрагент = Неопределено Тогда
                    // Это справочник, ищем по 2 варианту = НайтиПоНаименованию                             

                    НашлиКонтрагентыПоНаименованию = СпрКонтрагенты.НайтиПоНаименованию(НаименованиеКонтрагенты);
                    Если НашлиКонтрагентыПоНаименованию = СпрКонтрагенты.ПустаяСсылка() Тогда
                        НовКонтрагенты = СпрКонтрагенты.СоздатьЭлемент();
                        НовКонтрагенты.УстановитьСсылкуНового(СсылкаКонтрагент);
                        НовКонтрагенты.Наименование = НаименованиеКонтрагенты;
                        НовКонтрагенты.ИНН = ИННКонтрагенты;
                        НовКонтрагенты.КПП = КППКонтрагенты;
                        НовКонтрагенты.НаименованиеПолное = НаименованиеПолноеКонтрагенты;
                        НовКонтрагенты.Записать();                            
                        
                        НовоеПТУ.Контрагент = НовКонтрагенты.Ссылка;
                    Иначе
                        // Контрагент ПТУ

                        НовоеПТУ.Контрагент = НашлиКонтрагентыПоНаименованию;
                        
                    КонецЕсли;
                КонецЕсли;
            Иначе// Есть Контрагент

                // GUIDКонтрагент

                GUIDКонтрагент = Новый УникальныйИдентификатор(СоответствиеОбъектаКонтрагенты);
                СоответствиеОбъектаКонтрагентGUIDСтрока = Строка(СпрКонтрагенты.ПолучитьСсылку(GUIDКонтрагент));
                //Если Найти(СоответствиеОбъектаКонтрагентGUIDСтрока,"Объект не найден") > 0 Тогда

                СсылкаКонтрагент = СпрКонтрагенты.ПолучитьСсылку(GUIDКонтрагент);
                ОбъектКонтрагент = СпрКонтрагенты.ПолучитьОбъект();
                Если ОбъектКонтрагент = Неопределено Тогда
                    // Это справочник, ищем по 2 варианту = НайтиПоНаименованию                             

                    НашлиКонтрагентПоНаименованию = СпрКонтрагенты.НайтиПоНаименованию(НаименованиеКонтрагенты);                    
                    Если НашлиКонтрагентПоНаименованию = СпрКонтрагенты.ПустаяСсылка() Тогда                 
                        
                        НовКонтрагенты = СпрКонтрагенты.СоздатьЭлемент();
                        НовКонтрагенты.УстановитьСсылкуНового(СсылкаКонтрагент);
                        НовКонтрагенты.Наименование = НаименованиеКонтрагенты;
                        НовКонтрагенты.ИНН = ИННКонтрагенты;
                        НовКонтрагенты.КПП = КППКонтрагенты;
                        НовКонтрагенты.НаименованиеПолное = НаименованиеПолноеКонтрагенты;
                        НовКонтрагенты.Записать();                            
                        
                        НовоеПТУ.Контрагент = НовКонтрагенты.Ссылка;                                      
                    Иначе                                      
                        // Контрагент ПТУ

                        НовоеПТУ.Контрагент = НашлиКонтрагентПоНаименованию;                                      
                    КонецЕсли;
                КонецЕсли;
            КонецЕсли;// Контрагент <--

            
            ЧтениеXML.Прочитать();
            
            Если ЧтениеXML.Имя = "CatalogObject.ДоговорыКонтрагентов.Вручную" Тогда
                
                ЧтениеXML.Прочитать();
                
                Если ЧтениеXML.Имя = "Ref" Тогда
                    СоответствиеОбъектаДоговорыКонтрагентов = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                // Description

                Если ЧтениеXML.Имя = "Description" Тогда
                    НаименованиеДоговорыКонтрагентов = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                // Владелец

                Владелец = НовоеПТУ.Контрагент;
                // Номер

                Если ЧтениеXML.Имя = "Номер" Тогда
                    НомерДоговорыКонтрагентов = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                // Дата

                Если ЧтениеXML.Имя = "Дата" Тогда
                    ДатаДоговорыКонтрагентов = ПрочитатьXML(ЧтениеXML);
                КонецЕсли;
                
                // Валюта договора

                Валюта = НовоеПТУ.ВалютаДокумента;
                
                Если ЧтениеXML.Имя = "CatalogObject.Валюты.Вручную" Тогда
                    
                    ЧтениеXML.Прочитать();                    
                 &nb
 
 
   skupidom
 
1 - 26.02.18 - 11:22
комментировал ТЧ, пробывал записать только данные шапки документа, также: нет в Предприятии
   Быдло замкадное
 
2 - 26.02.18 - 11:38
для начала в консоли запросов выбери все доки. Если он есть значит дело в форме списка. Если его нет значит не сохраняется таки...
   skupidom
 
3 - 26.02.18 - 11:51
отладчиком вижу документ в списке всех ПТУ
   DrShad
 
4 - 26.02.18 - 12:01
(3) как смотришь через отладчик список документов?
   shuhard
 
5 - 26.02.18 - 12:02
(3) вид операции является отбором
   skupidom
 
6 - 26.02.18 - 12:03
ЗапросДокиПТУ = Новый Запрос;
                ЗапросДокиПТУ.Текст =
                "ВЫБРАТЬ
                |    ПоступлениеТоваровУслуг.Ссылка КАК Ссылка
                |ИЗ
                |    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг";
                ЗапросДокиПТУ.Выполнить().Выгрузить();
   skupidom
 
7 - 26.02.18 - 12:08
ВидОперации Товары, услуги, комиссия    ПеречислениеСсылка.ВидыОперацийПоступлениеТоваровУслуг
   skupidom
 
8 - 26.02.18 - 12:08
все нормально
   skupidom
 
9 - 26.02.18 - 12:09
может попробывать ОткрытьЗначение - открыть форму созданного документа ?
   Ботаник Гарден Меран
 
10 - 26.02.18 - 12:09
Зачем эта портянка в (0), если в ней НовоеПТУ.Записать( отсутствует?
 
 Рекламное место пустует
   skupidom
 
11 - 26.02.18 - 12:12
сорри,сразу не всавился в Код конец процедуры:
                Попытка
                    НовоеПТУ.Записать();
                Исключение
                    Сообщить(ОписаниеОшибки());
                КонецПопытки;    
                
                ЗапросДокиПТУ = Новый Запрос;
                ЗапросДокиПТУ.Текст =
                "ВЫБРАТЬ
                |    ПоступлениеТоваровУслуг.Ссылка КАК Ссылка
                |ИЗ
                |    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг";
                ЗапросДокиПТУ.Выполнить().Выгрузить();
                
                    //Иначе

                    //    // GUID ПТУ

                    //    GUIDПТУ = Новый УникальныйИдентификатор(СоответствиеОбъекта);

                    //    СоответствиеОбъектаGUIDСтрока = Строка(ДокПТУ.ПолучитьСсылку(GUIDПТУ));

                    //    

                    //    Если Найти(СоответствиеОбъектаGUIDСтрока,"Объект не найден") > 0 Тогда

                    //            

                    //            УИДОбъект = ПреобразуемВУИДОбъекта(СоответствиеОбъекта);         

                    //            НовыйGUIDОбъект = Новый УникальныйИдентификатор(УИДОбъект);                             

                    //        Иначе                                      

                    //        КонецЕсли;

                    //    КонецЕсли;  

                КонецЕсли;                             
            КонецЕсли;                     
            
            ЗафиксироватьТранзакцию();
   shuhard
 
12 - 26.02.18 - 12:15
(7) ни о чем
проверять нужно в документе, а  не коде
+ не вижу гарантий, что не создана новая организация
   skupidom
 
13 - 26.02.18 - 12:30
Да: создаются реквизиты документа,которых нет,организация создается программно,но она в Предприятии есть
   shuhard
 
14 - 26.02.18 - 12:31
(13) опять ни о чем
   hhhh
 
15 - 26.02.18 - 12:48
(13) наверно ты тупо забыл записать свой документ в регистр сведений Реестр документов
   skupidom
 
16 - 26.02.18 - 12:58
это нужно обязательно?
   skupidom
 
17 - 26.02.18 - 13:01
нет такого регистра
   shuhard
 
18 - 26.02.18 - 13:03
(17) ну открой ты наконец запрос, что лежит  под динамическим списком и в консоле найти причину отсутствия в нем ПТиУ
   skupidom
 
19 - 26.02.18 - 13:04
создал реквизит на форме обработки,записал в него новый созданный ПТУ, в реквизите формы вместо новго ПТУ - <Объект не найден> (466:90b40050568a2f3511e70ebf14eb2e4c)
   shuhard
 
20 - 26.02.18 - 13:05
(19) ссылку пиши, а не объект
   skupidom
 
21 - 26.02.18 - 13:08
Код запроса Списка 
ВЫБРАТЬ
    ВЫБОР
        КОГДА ДокументПоступлениеТоваровУслуг.РучнаяКорректировка = ИСТИНА
            ТОГДА ВЫБОР
                    КОГДА ДокументПоступлениеТоваровУслуг.ПометкаУдаления = ИСТИНА
                        ТОГДА 10
                    КОГДА ДокументПоступлениеТоваровУслуг.Проведен = ЛОЖЬ
                        ТОГДА 9
                    ИНАЧЕ 8
                КОНЕЦ
        ИНАЧЕ ВЫБОР
                КОГДА ДокументПоступлениеТоваровУслуг.ПометкаУдаления = ИСТИНА
                    ТОГДА 2
                КОГДА ДокументПоступлениеТоваровУслуг.Проведен = ИСТИНА
                    ТОГДА 1
                ИНАЧЕ 0
            КОНЕЦ
    КОНЕЦ КАК СостояниеДокумента,
    ДокументПоступлениеТоваровУслуг.Ссылка КАК Ссылка,
    ДокументПоступлениеТоваровУслуг.ПометкаУдаления КАК ПометкаУдаления,
    ДокументПоступлениеТоваровУслуг.Дата КАК Дата,
    ДокументПоступлениеТоваровУслуг.Номер КАК Номер,
    ДокументПоступлениеТоваровУслуг.Проведен КАК Проведен,
    ДокументПоступлениеТоваровУслуг.ВидОперации КАК ВидОперации,
    ДокументПоступлениеТоваровУслуг.Организация КАК Организация,
    ДокументПоступлениеТоваровУслуг.Склад КАК Склад,
    ДокументПоступлениеТоваровУслуг.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
    ДокументПоступлениеТоваровУслуг.Контрагент КАК Контрагент,
    ДокументПоступлениеТоваровУслуг.ДоговорКонтрагента КАК ДоговорКонтрагента,
    ДокументПоступлениеТоваровУслуг.СпособЗачетаАвансов КАК СпособЗачетаАвансов,
    ДокументПоступлениеТоваровУслуг.ВалютаДокумента КАК ВалютаДокумента,
    ДокументПоступлениеТоваровУслуг.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
    ДокументПоступлениеТоваровУслуг.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
    ДокументПоступлениеТоваровУслуг.Грузоотправитель КАК Грузоотправитель,
    ДокументПоступлениеТоваровУслуг.Грузополучатель КАК Грузополучатель,
    ДокументПоступлениеТоваровУслуг.Ответственный КАК Ответственный,
    ДокументПоступлениеТоваровУслуг.Комментарий КАК Комментарий,
    ДокументПоступлениеТоваровУслуг.СуммаДокумента КАК СуммаДокумента,
    ДокументПоступлениеТоваровУслуг.ТипЦен КАК ТипЦен,
    ДокументПоступлениеТоваровУслуг.РучнаяКорректировка КАК РучнаяКорректировка,
    СостоянияЭД.СостояниеВерсииЭД КАК СостояниеВерсииЭД,
    ВЫБОР
        КОГДА СтатусыДокументов.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыДокументовПоступления.ОригиналПолучен)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК Оригинал,
    ВЫБОР
        КОГДА ДокументыСОшибкамиПроверкиКонтрагентов.Документ ЕСТЬ NULL
            ТОГДА ЛОЖЬ
        ИНАЧЕ ИСТИНА
    КОНЕЦ КАК СодержитНекорректныхКонтрагентов,
    ВЫБОР
        КОГДА НаличиеФайлов.ЕстьФайлы ЕСТЬ NULL
            ТОГДА 1
        КОГДА НаличиеФайлов.ЕстьФайлы
            ТОГДА 0
        ИНАЧЕ 1
    КОНЕЦ КАК ЕстьФайлы
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ДокументПоступлениеТоваровУслуг
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыДокументов КАК СтатусыДокументов
        ПО ДокументПоступлениеТоваровУслуг.Организация = СтатусыДокументов.Организация
            И ДокументПоступлениеТоваровУслуг.Ссылка = СтатусыДокументов.Документ}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЭД КАК СостоянияЭД
        ПО ДокументПоступлениеТоваровУслуг.Ссылка = СостоянияЭД.СсылкаНаОбъект}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыСОшибкамиПроверкиКонтрагентов КАК ДокументыСОшибкамиПроверкиКонтрагентов
        ПО ДокументПоступлениеТоваровУслуг.Ссылка = ДокументыСОшибкамиПроверкиКонтрагентов.Документ
            И (&ИспользованиеПроверкиВозможно)}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
        ПО ДокументПоступлениеТоваровУслуг.Ссылка = НаличиеФайлов.ОбъектСФайлами}
   shuhard
 
22 - 26.02.18 - 13:22
(21) ну и почему твоего документа в нем нет ?
   skupidom
 
23 - 26.02.18 - 13:26
у моего признак Оригинал = Ложь
   shuhard
 
24 - 26.02.18 - 13:27
(23) и 2 часа на мозгоёбство
   skupidom
 
25 - 26.02.18 - 13:37
нет,это не все, подразделениеорганизации, пока не известно что именно влияет,
   skupidom
 
26 - 26.02.18 - 13:44
в начале процедуры призаписи90 очищается значение подразделенияорганизации
   skupidom
 
27 - 26.02.18 - 16:16
никак не видимы создаваемые справочники,документ
   Ботаник Гарден Меран
 
28 - 26.02.18 - 16:42
Ошибка в транзакции?
А попытка/исключение выше уровнем и вывода сообщений в ней нет?
   skupidom
 
29 - 26.02.18 - 17:18
в том то и дело - в попытке создания - создается,исключения не возникает, в отладчике я его вижу и ссылка есть,но в списке документов поступления(акты,накладные)его нет
   skupidom
 
30 - 26.02.18 - 17:27
добавил реквизит на форму обработки Поступление, в отладчике он = ссылке на новый созданный документ, но в Предприятии = <Объект не найден> (466:90b40050568a2f3511e70ebf14eb2e4c)
   Buster007
 
31 - 26.02.18 - 17:39
может попробуешь самый простой код?
Док = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
Док.Записать();

Может у тебя чего не хватает в системе...
   skupidom
 
32 - 26.02.18 - 17:39
После процедур Записи документа в отладчике он виден так:

НовоеПТУ    Поступление (акт, накладная) 00000006435 от 28.02.2017 23:59:59    ДокументОбъект.ПоступлениеТоваровУслуг
   skupidom
 
33 - 26.02.18 - 17:40
Ссылка    Поступление (акт, накладная) 00000006435 от 28.02.2017 23:59:59    ДокументСсылка.ПоступлениеТоваровУслуг

Конфа: БИТ.Строительство, редакция 3.0 (3.0.1.120)
 
 
   skupidom
 
34 - 26.02.18 - 17:42
создаваемые справочники: контрагент+договор - их нет в списках и найти их не удается
   skupidom
 
35 - 26.02.18 - 17:46
для нового дока ОбменДанными.Загрузка = Истина, правильно ?
   skupidom
 
36 - 26.02.18 - 18:17
Дата запрета редактирования данных - границы убрал,все равно не <Объект не найден> (466:...
   skupidom
 
37 - 26.02.18 - 18:56
создает в конфигураторе в отладчике показывает, в Предприятии убираю все отборы,ставлю нужную организацию или без орг. его нет
   Franchiser
 
38 - 26.02.18 - 19:01
RLS на организации есть?
   skupidom
 
39 - 26.02.18 - 19:24
нет
   skupidom
 
40 - 26.02.18 - 19:25
у меня полные права
   h-sp
 
41 - 26.02.18 - 19:46
(39) присвой все реквизиты в документе. Там их 50 штук, ты даже и половины не присвоил.
   shuhard
 
42 - 26.02.18 - 19:49
(41) или свою форму списка прифигарить
   skupidom
 
43 - 26.02.18 - 22:14
причем здесь все реквизиты?! разве в этом дело?
   skupidom
 
44 - 26.02.18 - 23:27
действует какой-то доп.отбор в списке ПТУ,но какой?
   h-sp
 
45 - 26.02.18 - 23:56
(44) ну посмотри отладчиком. Какие отборы у этого списка. Чего целый день фигней страдаешь из-за ерунды.
   Franchiser
 
46 - 27.02.18 - 11:08
Напиши в коде сообщить("" +новыйпту.ссылка)
   Franchiser
 
47 - 27.02.18 - 11:10
(32) проверь в консоли запросов виден ли созданный документ


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует