| 
    
            
         
         | 
    
    
  | 
Как присвоить значение реквизиту документа Субконто1? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        vit48    
     31.07.18 
            ✎
    08:46 
 | 
         
        Бухгалтерия предприятия, редакция 3.0 (3.0.63.15) 
 
        1С:Предприятие 8.3 (8.3.10.2580) Подскажите пожалуйста по сути вопроса. С БП редко приходится иметь дело. Делаю стандартную внешнюю обработку для ввода на основании. Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив, СозданныеОбъекты) Экспорт ...... СоздатьНовыйДокумент(Элемент, ДанныеФормы); КопироватьДанныеФормы(ДанныеФормы, ФормаДок.Объект); ФормаДок.Открыть(); КонецЦикла; КонецПроцедуры &НаСервере Процедура СоздатьНовыйДокумент(Элемент, НовыйОбъект) ДокументОбъект = ДанныеФормыВЗначение(НовыйОбъект, Тип("ДокументОбъект.ТребованиеНакладная")); ЗаполнитьПоЗаказу(Элемент.Ссылка, ДокументОбъект); ДокОснование = Элемент.Ссылка; ЗначениеВДанныеФормы(ДокументОбъект, НовыйОбъект); КонецПроцедуры &НаСервере Процедура ЗаполнитьПоЗаказу(ДанныеЗаполнения, ДокументОбъект) Экспорт Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда Основание = ДанныеЗаполнения; Иначе возврат; КонецЕсли; ДокументОбъект.Дата = ТекущаяДата(); ДокументОбъект.Организация = Основание.Организация; ДокументОбъект.Склад = Справочники.Склады.НайтиПоКоду("000000001"); ДокументОбъект.СчетЗатрат = ПланыСчетов.Хозрасчетный.ИздержкиОбращения; ДокументОбъект.Субконто1 = Справочники.СтатьиЗатрат.ПрочиеЗатраты; ....... все работает как всегда, кроме субконто1 (тип Характеристика.ВидыСубконтоХозрасчетные)  | 
|||
| 
    1
    
        Мимохожий Однако    
     31.07.18 
            ✎
    08:52 
 | 
         
        Отладчик что показывает в реквизите после присвоения? Это субконто1 соответствует или нет выбранному счету затрат?     
         | 
|||
| 
    2
    
        Cyberhawk    
     31.07.18 
            ✎
    09:03 
 | 
         
        Что-то ты ввод на основании совсем не по технологии БСП делаешь     
         | 
|||
| 
    3
    
        vit48    
     31.07.18 
            ✎
    09:20 
 | 
         
        да. на 44 счете первое субконто СтатьиЗатрат. так что должно вроде бы все нормально быть. смущает тип поля. может с ним как-то по другому надо?     
         | 
|||
| 
    4
    
        vit48    
     31.07.18 
            ✎
    09:25 
 | 
         
        (2) а где можно посмотреть как правильно по версии создателей БСП? вроде бы как по инструкциям
 
        Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; МассивНазначений = Новый Массив; МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг"); ПараметрыРегистрации.Вставить("Вид", "СозданиеСвязанныхОбъектов"); ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); ПараметрыРегистрации.Вставить("Наименование", """Требование-накладная"" на основании документа ""Реализация услуг"""); ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина); ПараметрыРегистрации.Вставить("Информация", "Дополнительная обработка к документу Реализация товаров и услуг"); ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, "Требование-накладная (доп)", "Требование-накладная (доп)", "ВызовКлиентскогоМетода", Истина); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции  | 
|||
| 
    5
    
        vit48    
     31.07.18 
            ✎
    09:26 
 | 
         
        в форме 
 
        &НаКлиенте Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив, СозданныеОбъекты) Экспорт //Переберем все выбранные документы на основании, которых будет созданы другие новые документы //В нашем случае это всего один документ "уатДоверенность" Для каждого Элемент из ОбъектыНазначенияМассив Цикл //Получая форму объекта создаваемого документа, мы уже создаем этот объект ФормаДок = ПолучитьФорму("Документ.ТребованиеНакладная.ФормаОбъекта"); //Далее мы получаем объект только, что созданной формы и помещаем её в переменную //В объекте содержатся все реквизиты (элементы) формы ДанныеФормы = ФормаДок.Объект; //Мы помещаем объект формы в переменную, //так как должны передать её в процедуру на сервере, //где нельзя изменять объект формы, зато можно править переменную содержащую его СоздатьНовыйДокумент(Элемент, ДанныеФормы); //После выполнения процедуры на сервере мы получаем изменную переменную ДанныеФормы, //которую необходимо передать в уже созданную нами форму КопироватьДанныеФормы(ДанныеФормы, ФормаДок.Объект); //ОписаниеТипа = Новый ОписаниеТипов("СправочникСсылка.СтатьиЗатрат"); // вместо СправочникСсылка.Контрагенты ваше значение //ФормаДок.Субконто1.ОграничениеТипа = ОписаниеТипа; //вместо ПолучательПСТретьеЛицо ваш реквизит //ФормаДок.Субконто1.Значение = ОписаниеТипа.ПривестиЗначение(ДанныеФормы.Субконто1); //Открываем результат выполнения обработки ФормаДок.Открыть(); КонецЦикла; КонецПроцедуры  | 
|||
| 
    6
    
        vit48    
     31.07.18 
            ✎
    09:28 
 | 
         
        Но такое ощущение что при открытии формы не отрабатывают обработчик ПриОткрытии (доступность элементов не пропадает например). А при повторном открытии все уже как должно быть. Но на проведении документа это не сказывается.     
         | 
|||
| 
    7
    
        Радим1987    
     31.07.18 
            ✎
    09:34 
 | 
         
        Если не ошибаюсь у реквизита Субконто1 тип Характеристика.ВидыСубконтоХозрасчетные, если так значит Субконто1[ПланыВидовХарактеристрик.ВидыСубконто.Чтотто] разве не так?     
         | 
|||
| 
    8
    
        Cyberhawk    
     31.07.18 
            ✎
    09:35 
 | 
         
        (4) На ИТС документация по подсистеме БСП "Дополнительные отчеты и обработки"     
         | 
|||
| 
    9
    
        vit48    
     31.07.18 
            ✎
    09:40 
 | 
         
        (7) пробовал
 
        //ДокументОбъект.Субконто1[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиЗатрат] = Справочники.СтатьиЗатрат.ПрочиеЗатраты; но почему-то не получилось  | 
|||
| 
    10
    
        Радим1987    
     31.07.18 
            ✎
    09:43 
 | 
         
        у ПланыСчетов.Хозрасчетный.ИздержкиОбращения есть такое субконто?     
         | 
|||
| 
    11
    
        vit48    
     31.07.18 
            ✎
    09:45 
 | 
         
        да     
         | 
|||
| 
    12
    
        Мимохожий Однако    
     31.07.18 
            ✎
    09:53 
 | 
         
        (9) Как-то ты загнул в одну строчку.
 
        Проверь тип реквизита Субконто1 перед присвоением значения. Почему делаешь заполнение из процедуры на клиенте, а не на сервере?  | 
|||
| 
    13
    
        vit48    
     31.07.18 
            ✎
    09:59 
 | 
         
        процедура на сервере. на клиенте просто получение и открытие формы.     
         | 
|||
| 
    14
    
        vit48    
     31.07.18 
            ✎
    10:31 
 | 
         
        Справочник.СтатьиЗатрат.ПрочиеЗатраты  Предопределенный элемент отсутствует в данных
 
        ерунда какая-то, почему-то этот элемент не видится как предопределенный. Но он есть. и сам подбирается после точки. с любым другим все заработало. Спасибо за помощь.  | 
|||
| 
    15
    
        vit48    
     31.07.18 
            ✎
    10:32 
 | 
         
        (8) Спасибо. ИТСку почитаю сегодня.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |