|   |   | 
| 
 | Выбор документа на клиенте | ☑ | ||
|---|---|---|---|---|
| 0
    
        tabarigen 14.05.18✎ 16:07 | 
        Ребят, у меня внешняя обработка заполнения таб части документа. 
 УФ, розница 2. Код простой: &НаКлиенте Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения) Экспорт Режим = РежимДиалогаВопрос.ДаНет; Ответ = Вопрос("Внимание, товары будут удалены из табличной части, вы точно хоите их очистить?", Режим,0) ; Если Ответ = КодВозвратаДиалога.Да Тогда Сообщить(ВладелецФормы.Объект.Товары.Количество()); ВладелецФормы.Объект.Товары.Очистить(); //Очистить табличную часть документа Оповещение = Новый ОписаниеОповещения("ПослеВводаЗначения", ЭтаФорма, Параметры); ПоказатьВводЗначения(Оповещение, ,"Выберите документ поступления", Тип("ДокументСсылка.ПоступлениеТоваров")); Иначе Возврат; КонецЕсли ; КонецПроцедуры &НаКлиенте Процедура ПослеВводаЗначения(ВыбЗнач, Параметры) Экспорт Если ВыбЗнач <> Неопределено Тогда Для Каждого Стр Из ВыбЗнач.Товары Цикл НоваяСтрока = ВладелецФормы.Объект.Товар.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, Стр); КонецЦикла; КонецЕсли; КонецПроцедуры При выполнеии кода вываливается ошибка. {ВнешняяОбработка.ЗаполнениеРТизПТ.Форма.Форма.Форма(21)}: Поле объекта не обнаружено (Товары) Для Каждого Стр Из ВыбЗнач.Товары Цикл так обработка внешняя отладить не могу. Чсотрел через Сообщить(ТипЗнач(ВыбЗнач)), там Поступление товаров и услуг. вроде как там ссылка, но как перебать ТЧ выбранного дока ума не приложу. Хелпуйте парни плиз. | |||
| 1
    
        Lexey_ 14.05.18✎ 16:11 | 
        (0) на сервере перебирай     | |||
| 2
    
        tabarigen 14.05.18✎ 16:13 | 
        (1) блин а ты крут черт побери.. ща попробую.     | |||
| 3
    
        tabarigen 14.05.18✎ 16:44 | 
        (2) Все равно не получается((
 &НаКлиенте Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения) Экспорт Режим = РежимДиалогаВопрос.ДаНет; Ответ = Вопрос("Внимание, товары будут удалены из табличной части, вы точно хоите их очистить?", Режим,0) ; Если Ответ = КодВозвратаДиалога.Да Тогда ВладелецФормы.Объект.Товары.Очистить(); //Очистить табличную часть документа Оповещение = Новый ОписаниеОповещения("ПослеВводаЗначения", ЭтаФорма, Параметры); ПоказатьВводЗначения(Оповещение, ,"Выберите документ поступления", Тип("ДокументСсылка.ПоступлениеТоваров")); Иначе Возврат; КонецЕсли ; КонецПроцедуры &НаКлиенте Процедура ПослеВводаЗначения(ВыбЗнач, Параметры) Экспорт Если ВыбЗнач <> Неопределено Тогда ЗаполнитьДокНаСервере(ВыбЗнач, ВладелецФормы.Объект.Номер); КонецЕсли; КонецПроцедуры &НаСервере Процедура ЗаполнитьДокНаСервере(ДокПоступления, НомерДокРеализации) ДокПродажи = Документы.РеализацияТоваров.НайтиПоНомеру(НомерДокРеализации); ДДД = ДокПродажи.ПолучитьОбъект(); ДокПродажи.Комментарий = "вава"; Для Каждого Стр Из ДокПоступления.Товары Цикл НоваяСтрока = ДДД.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, Стр); КонецЦикла; ЗначениеВРеквизитФормы(ДокПродажи, "Объект"); КонецПроцедуры Вываливается ошибка {ВнешняяОбработка.ЗаполнениеРТизПТ.Форма.Форма.Форма(27)}: Ошибка при вызове метода контекста (ПолучитьОбъект) ДДД = ДокПродажи.ПолучитьОбъект(); по причине: Элемент не выбран! | |||
| 4
    
        Lexey_ 14.05.18✎ 16:47 | 
        (3) не "всё равно", а это уже другая ошибка: Документы.РеализацияТоваров.НайтиПоНомеру(НомерДокРеализации) не находит ничего     | |||
| 5
    
        tabarigen 14.05.18✎ 17:14 | 
        (4) да все верно..
 странно почему док не находится. в процедуру номер вторым параметром верно передается "0000-000155" | |||
| 6
    
        Lexey_ 14.05.18✎ 17:16 | 
        (5) почитай в СП про НайтиПоНомеру()     | |||
| 7
    
        tabarigen 14.05.18✎ 17:17 | 
        (6) читаю..     | |||
| 8
    
        tabarigen 14.05.18✎ 17:17 | 
        (6) ДокументМенеджер.<Имя документа> (DocumentManager.<Имя документа>)
 НайтиПоНомеру (FindByNumber) Синтаксис: НайтиПоНомеру(<НомерДокумента>, <ДатаИнтервала>) Параметры: <НомерДокумента> (обязательный) Тип: Число; Строка. Номер искомого документа. Тип передаваемого значения зависит от установки в конфигураторе представления номера документа. <ДатаИнтервала> (необязательный) Тип: Дата. Дата из интервала, в котором проводится поиск по номеру. Сам интервал определяется как период уникальности номеров документа, в который входит указанная дата. Например, если номера документов уникальны в пределах месяца и задана дата 10 декабря 2001 года, то поиск будет проводиться в интервале с 01 по 31 декабря 2001 года. Параметр используется для документов с периодической нумерацией. Возвращаемое значение: Тип: ДокументСсылка.<Имя документа>; Неопределено. Ссылка на найденный документ. Если документ не найден, возвращается пустая ссылка на документ. Если номер не задан (длина = 0), то будет возвращено Неопределено. Описание: Осуществляет поиск документа по номеру. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). | |||
| 9
    
        dezss 14.05.18✎ 17:19 | 
        (8) сюда запостил, чтоб крупнее шрифт был?)))
 ну так теперь смотри на дату дока и на периодичность нумерации | |||
| 10
    
        Lexey_ 14.05.18✎ 17:20 | 
        (8) ну вот     | |||
| 11
    
        tabarigen 14.05.18✎ 17:20 | 
        (10) все понял...
 передал текущую дату, вторым параметром, док нашелся.. | |||
| 12
    
        tabarigen 14.05.18✎ 17:20 | 
        (10) спасибо кеп, ты лучший)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |