| 
    
        
     
     | 
    
  | 
УТ 11 программное заполнение заказа клиента | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        mxs089    
     28.02.17 
            ✎
    12:07 
 | 
         
        подскажите, как нужно заполнять табличную часть документа?
 
        сейчас использую метод ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ НО, в некоторых действиях используется метод Свойство() Интерфейс (управляемый)/Данные формы/ДанныеФормыЭлементКоллекции/Методы/Свойство у меня нет формы, и поэтому строку превращаю в структуру... следующий момент, я вываливаюсь с ошибками типа попытка установки значения в несуществующее поле, т.е. на форме документа определены какие то вспомогательные поля, которых нет в метаданных, я могу конечно наловить ошибок и добавить вручную недостающие поля, или переписать их с формы, но может есть какой то другой, типовой способ?  | 
|||
| 
    1
    
        polosov    
     28.02.17 
            ✎
    12:42 
 | 
         
        (0) Ты создаешь док пакетно или форму используешь?     
         | 
|||
| 
    2
    
        mxs089    
     28.02.17 
            ✎
    13:06 
 | 
         
        (1) программно, на сервере     
         | 
|||
| 
    3
    
        Defender aka LINN    
     28.02.17 
            ✎
    13:10 
 | 
         
        (0) Это в каких же действиях используется "Свойство()"?     
         | 
|||
| 
    4
    
        polosov    
     28.02.17 
            ✎
    13:15 
 | 
         
        (2) 
 
        Для Каждого СтрокаТЧ ИЗ ПодготовленныеДанные.МассивСтрокТоваров Цикл НоваяСтрока = НовыйДок.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЧ); //Заполняется Номенклатура, Количество, КоличествоУпаковок КонецЦикла; УсловияПродажПоУмолчанию = ПродажиСервер.ПолучитьУсловияПродажПоУмолчанию( ПодготовленныеДанные.Шапка.Партнер, Новый Структура("УчитыватьГруппыСкладов, ВыбранноеСоглашение, ПустаяСсылкаДокумента", Истина, НовыйДок.Соглашение, Документы.ЗаказКлиента.ПустаяСсылка())); НовыйДок.НалогообложениеНДС = ЗначениеНастроекПовтИсп.ПолучитьНалогообложениеНДС(НовыйДок.Организация, НовыйДок.Склад, НовыйДок.Дата); Если УсловияПродажПоУмолчанию <> Неопределено Тогда Если НЕ ИспользоватьСоглашенияСКлиентами ИЛИ (НовыйДок.Соглашение <> УсловияПродажПоУмолчанию.Соглашение И ЗначениеЗаполнено(УсловияПродажПоУмолчанию.Соглашение)) Тогда НовыйДок.Соглашение = УсловияПродажПоУмолчанию.Соглашение; НовыйДок.ЗаполнитьУсловияПродаж(УсловияПродажПоУмолчанию); Если ИспользоватьСоглашенияСКлиентами Тогда СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруПересчетаСуммыНДСВСтрокеТЧ(НовыйДок); ПродажиСервер.ЗаполнитьЦены( НовыйДок.Товары, , // Массив строк или структура отбора Новый Структура( // Параметры заполнения "Дата, Валюта, Соглашение, РасчитыватьНаборы, ПоляЗаполнения", НовыйДок.Дата, НовыйДок.Валюта, НовыйДок.Соглашение, Истина, "Цена, СтавкаНДС, ВидЦены, СрокПоставки" ), Новый Структура( // Структура действий с измененными строками "ПересчитатьСумму, ПересчитатьСуммуСНДС, ПересчитатьСуммуНДС, ПересчитатьСуммуРучнойСкидки, ОчиститьАвтоматическуюСкидку, ПересчитатьСуммуСУчетомРучнойСкидки", "КоличествоУпаковок", СтруктураПересчетаСуммы, СтруктураПересчетаСуммы, "КоличествоУпаковок", Неопределено, Новый Структура("Очищать", Ложь))); КонецЕсли; Иначе НовыйДок.Соглашение = УсловияПродажПоУмолчанию.Соглашение; Если ИспользоватьСоглашенияСКлиентами Тогда СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруПересчетаСуммыНДСВСтрокеТЧ(НовыйДок); ПродажиСервер.ЗаполнитьЦены( НовыйДок.Товары, , // Массив строк или структура отбора Новый Структура( // Параметры заполнения "Дата, Валюта, Соглашение, РасчитыватьНаборы, ПоляЗаполнения", НовыйДок.Дата, НовыйДок.Валюта, НовыйДок.Соглашение, Истина, "Цена, СтавкаНДС, ВидЦены, СрокПоставки" ), Новый Структура( // Структура действий с измененными строками "ПересчитатьСумму, ПересчитатьСуммуСНДС, ПересчитатьСуммуНДС, ПересчитатьСуммуРучнойСкидки, ОчиститьАвтоматическуюСкидку, ПересчитатьСуммуСУчетомРучнойСкидки", "КоличествоУпаковок", СтруктураПересчетаСуммы, СтруктураПересчетаСуммы, "КоличествоУпаковок", Неопределено, Новый Структура("Очищать", Ложь))); КонецЕсли; КонецЕсли; УстановитьСпецЦены(НовыйДок); СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруПересчетаСуммыНДСВСтрокеТЧ(НовыйДок); СтруктураДействий = Новый Структура; СтруктураДействий.Вставить("ЗаполнитьСтавкуНДС", НовыйДок.НалогообложениеНДС); СтруктураДействий.Вставить("ЗаполнитьСтавкуНДСВозвратнойТары", НовыйДок.ВернутьМногооборотнуюТару); СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы); СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы); СтруктураДействий.Вставить("ПересчитатьСумму"); КешированныеЗначения = Неопределено; ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(НовыйДок.Товары, СтруктураДействий, КешированныеЗначения); Иначе ПартнерыИКонтрагенты.ЗаполнитьКонтрагентаПартнераПоУмолчанию(НовыйДок.Партнер, НовыйДок.Контрагент); Соглашение = Неопределено; КонецЕсли; НовыйДок.БанковскийСчетКонтрагента = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетКонтрагентаПоУмолчанию(НовыйДок.Контрагент, , НовыйДок.БанковскийСчетКонтрагента); ПартнерыИКонтрагенты.ЗаполнитьКонтактноеЛицоПартнераПоУмолчанию(НовыйДок.Партнер,НовыйДок.КонтактноеЛицо); //Если НЕ ПолучитьФункциональнуюОпцию("ИспользоватьУправлениеДоставкой") Тогда // НовыйДок.АдресДоставки = ФормированиеПечатныхФорм.ПолучитьАдресИзКонтактнойИнформации(НовыйДок.Партнер); //КонецЕсли; НовыйДок.НалогообложениеНДС = ЗначениеНастроекПовтИсп.ПолучитьНалогообложениеНДС(НовыйДок.Организация, НовыйДок.Склад, НовыйДок.Дата); НовыйДок.Комментарий = "#Загружен с сайта" + " #" + НеПодготовленныеДанные.Комментарий;  | 
|||
| 
    5
    
        Defender aka LINN    
     28.02.17 
            ✎
    13:32 
 | 
         
        (4) Ни единого "Свойство()" не найдено.     
         | 
|||
| 
    6
    
        polosov    
     28.02.17 
            ✎
    13:33 
 | 
         
        (5) Ну я тоже не знаю зачем ему Свойство.
 
        Это рабочий код загрузки заказов с сайта.  | 
|||
| 
    7
    
        Defender aka LINN    
     28.02.17 
            ✎
    13:39 
 | 
         
        (6) В (0) русским по белому написано:
 
        "сейчас использую метод ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ НО, в некоторых действиях используется метод Свойство() " В (4) никаких таких "некоторых действий" нет. В (6) вообще говорится "Это рабочий код". Тебе чего надо-то, вообще, поговорить?  | 
|||
| 
    8
    
        polosov    
     28.02.17 
            ✎
    13:43 
 | 
         
        (7) Если ты внимательно посмотришь в (4), то ты увидишь некоторые действия.
 
        Таки юный падаван скорее всего имеет в виду, что в обработчиках действий идет обращение к методу структур "Свойство", а он не правильно заполняет параметры действий и получает исключение из-за отсутствия метода.  | 
|||
| 
    9
    
        Defender aka LINN    
     28.02.17 
            ✎
    13:46 
 | 
         
        (8) Некоторые действия я вижу. Обращений к методу "Свойство" - нет.
 
        Я для загрузки как раз-таки заказов использую как раз-таки этот метод. И все работает. Без некоторых действий.  | 
|||
| 
    10
    
        polosov    
     28.02.17 
            ✎
    13:50 
 | 
         
        (9) Не могу представить как тут тебе помогает 
 
        Интерфейс (управляемый)/Данные формы/ДанныеФормыЭлементКоллекции/Методы/Свойство  | 
|||
| 
    11
    
        polosov    
     28.02.17 
            ✎
    13:50 
 | 
         
        +(10) И зачем тебе форма тоже не понимаю.     
         | 
|||
| 
    12
    
        Defender aka LINN    
     28.02.17 
            ✎
    13:55 
 | 
         
        (10) Мне?!     
         | 
|||
| 
    13
    
        polosov    
     28.02.17 
            ✎
    13:56 
 | 
         
        (12) >Я для загрузки как раз-таки заказов использую как раз-таки этот метод     
         | 
|||
| 
    14
    
        Defender aka LINN    
     28.02.17 
            ✎
    14:29 
 | 
         
        (13) У *меня* все работает.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |