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


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) проверь в консоли запросов виден ли созданный документ



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