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

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

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

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