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


Выбор документа на клиенте

Выбор документа на клиенте
Я
   tabarigen
 
14.05.18 - 16:07
Ребят, у меня внешняя обработка заполнения таб части документа.
УФ, розница 2.

Код простой:

&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения) Экспорт
    Режим = РежимДиалогаВопрос.ДаНет;
    Ответ = Вопрос("Внимание, товары будут удалены из табличной части, вы точно хоите их очистить?", Режим,0) ;
    Если Ответ = КодВозвратаДиалога.Да Тогда
        Сообщить(ВладелецФормы.Объект.Товары.Количество());
        ВладелецФормы.Объект.Товары.Очистить();//Очистить табличную часть документа

        Оповещение = Новый ОписаниеОповещения("ПослеВводаЗначения", ЭтаФорма, Параметры); 
        ПоказатьВводЗначения(Оповещение, ,"Выберите документ поступления", Тип("ДокументСсылка.ПоступлениеТоваров"));    
            
    Иначе
        Возврат;    
    КонецЕсли ;
КонецПроцедуры


&НаКлиенте
Процедура ПослеВводаЗначения(ВыбЗнач, Параметры) Экспорт
    Если ВыбЗнач <> Неопределено Тогда
        Для Каждого Стр Из ВыбЗнач.Товары Цикл
            НоваяСтрока = ВладелецФормы.Объект.Товар.Добавить();
            ЗаполнитьЗначенияСвойств(НоваяСтрока, Стр);
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры


При выполнеии кода вываливается ошибка.
{ВнешняяОбработка.ЗаполнениеРТизПТ.Форма.Форма.Форма(21)}: Поле объекта не обнаружено (Товары)
        Для Каждого Стр Из ВыбЗнач.Товары Цикл

так обработка внешняя отладить не могу. 
Чсотрел через Сообщить(ТипЗнач(ВыбЗнач)), там Поступление товаров и услуг. 
вроде как там ссылка, но как перебать ТЧ выбранного дока ума не приложу.
Хелпуйте парни плиз.
 
 
   Lexey_
 
1 - 14.05.18 - 16:11
(0) на сервере перебирай
   tabarigen
 
2 - 14.05.18 - 16:13
(1) блин а ты крут черт побери.. ща попробую.
   tabarigen
 
3 - 14.05.18 - 16:44
(2) Все равно не получается((

&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения) Экспорт
    Режим = РежимДиалогаВопрос.ДаНет;
    Ответ = Вопрос("Внимание, товары будут удалены из табличной части, вы точно хоите их очистить?", Режим,0) ;
    Если Ответ = КодВозвратаДиалога.Да Тогда
        ВладелецФормы.Объект.Товары.Очистить();//Очистить табличную часть документа

        Оповещение = Новый ОписаниеОповещения("ПослеВводаЗначения", ЭтаФорма, Параметры); 
        ПоказатьВводЗначения(Оповещение, ,"Выберите документ поступления", Тип("ДокументСсылка.ПоступлениеТоваров"));    
            
    Иначе
        Возврат;    
    КонецЕсли ;
КонецПроцедуры


&НаКлиенте
Процедура ПослеВводаЗначения(ВыбЗнач, Параметры) Экспорт
    Если ВыбЗнач <> Неопределено Тогда
        ЗаполнитьДокНаСервере(ВыбЗнач, ВладелецФормы.Объект.Номер);
    КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьДокНаСервере(ДокПоступления, НомерДокРеализации)
    ДокПродажи = Документы.РеализацияТоваров.НайтиПоНомеру(НомерДокРеализации);
    ДДД = ДокПродажи.ПолучитьОбъект();
    ДокПродажи.Комментарий = "вава";
    Для Каждого Стр Из ДокПоступления.Товары Цикл
        НоваяСтрока = ДДД.Товары.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяСтрока, Стр);
    КонецЦикла;
    ЗначениеВРеквизитФормы(ДокПродажи, "Объект");
КонецПроцедуры    



Вываливается ошибка
{ВнешняяОбработка.ЗаполнениеРТизПТ.Форма.Форма.Форма(27)}: Ошибка при вызове метода контекста (ПолучитьОбъект)
    ДДД = ДокПродажи.ПолучитьОбъект();
по причине:
Элемент не выбран!
   Lexey_
 
4 - 14.05.18 - 16:47
(3) не "всё равно", а это уже другая ошибка: Документы.РеализацияТоваров.НайтиПоНомеру(НомерДокРеализации) не находит ничего
   tabarigen
 
5 - 14.05.18 - 17:14
(4) да все верно..
странно почему док не находится. в процедуру номер вторым параметром верно передается "0000-000155"
   Lexey_
 
6 - 14.05.18 - 17:16
(5) почитай в СП про НайтиПоНомеру()
   tabarigen
 
7 - 14.05.18 - 17:17
(6) читаю..
   tabarigen
 
8 - 14.05.18 - 17:17
(6) ДокументМенеджер.<Имя документа> (DocumentManager.<Имя документа>)
НайтиПоНомеру (FindByNumber)
Синтаксис:

НайтиПоНомеру(<НомерДокумента>, <ДатаИнтервала>)
Параметры:

<НомерДокумента> (обязательный)

Тип: Число; Строка.
Номер искомого документа. Тип передаваемого значения зависит от установки в конфигураторе представления номера документа.
<ДатаИнтервала> (необязательный)

Тип: Дата.
Дата из интервала, в котором проводится поиск по номеру. Сам интервал определяется как период уникальности номеров документа, в который входит указанная дата. Например, если номера документов уникальны в пределах месяца и задана дата 10 декабря 2001 года, то поиск будет проводиться в интервале с 01 по 31 декабря 2001 года.
Параметр используется для документов с периодической нумерацией.
Возвращаемое значение:

Тип: ДокументСсылка.<Имя документа>; Неопределено.
Ссылка на найденный документ. Если документ не найден, возвращается пустая ссылка на документ.
Если номер не задан (длина = 0), то будет возвращено Неопределено.
Описание:

Осуществляет поиск документа по номеру.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
   dezss
 
9 - 14.05.18 - 17:19
(8) сюда запостил, чтоб крупнее шрифт был?)))
ну так теперь смотри на дату дока и на периодичность нумерации
   Lexey_
 
10 - 14.05.18 - 17:20
(8) ну вот
 
 Рекламное место пустует
   tabarigen
 
11 - 14.05.18 - 17:20
(10) все понял...
передал текущую дату, вторым параметром, док нашелся..
   tabarigen
 
12 - 14.05.18 - 17:20
(10) спасибо кеп, ты лучший)

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