Имя: Пароль:
1C
1С v8
1C-Рарус:SMS Коммуникатор для sms4b.ru для УНФ 1.4
0 DonJon
 
26.01.15
17:11
Добрый вечер всем!)
Подскажите пожалуйста, может кто сталкивался?
В модуле от cмс4b, в документе смс сообщение, в табличной части реквизит контрагент, в нем нужно указать составной тип данных, согласно инструкции от РАРУСА, но при  его указании (ставлю галочки на не сколько справочников. Контрагент, Сотруднки, Организации,  функционал не работает. Выходит ошибка на форме.
{Документ.смсСообщение.Форма.ФормаДокументаУправляемая.Форма(819)}: Значение не является значением объектного типа (Поле1)
ВыбранныйТелефон = смсРаботаССообщениями.УбратьЛишниеСимволыТелефона(СокрЛП(Выборка.Поле1) + СокрЛП(Выборка.Поле2) + СокрЛП(Выборка.Поле3));
1 Лефмихалыч
 
26.01.15
17:14
надо программиста позвать, чтобы он посмотрел, почему в переменной Выборка нет поля Поле1
2 DonJon
 
26.01.15
17:20
Вот если указывать на только один справочник Получатели, то все работает.

&НаКлиенте
Процедура ПолучателиКонтрагентОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    Если Элементы.Получатели.ТекущиеДанные.Контрагент = ВыбранноеЗначение Тогда Возврат; КонецЕсли;
    
    Выборка = ПолучитьНомерТелефона(ВыбранноеЗначение);
        
    НомерСтроки = Элементы.Получатели.ТекущиеДанные.НомерСтроки;
    ВыбранныйТелефон = смсРаботаССообщениями.УбратьЛишниеСимволыТелефона(СокрЛП(Выборка.Поле1) + СокрЛП(Выборка.Поле2) + СокрЛП(Выборка.Поле3));
    
    Для Каждого ТекСтрока Из Объект.Получатели Цикл
        СтрокаНомер = ТекСтрока.НомерСтроки;
        Если СтрокаНомер = НомерСтроки Тогда Продолжить; КонецЕсли;
        ТекТелефон = СокрЛП(ТекСтрока.НомерТелефона);
        ВладелецТелефона = ТекСтрока.Контрагент;
        Если ВыбранныйТелефон = смсРаботаССообщениями.УбратьЛишниеСимволыТелефона(ТекТелефон) Тогда
            НомерУжеЕсть = Истина;
            Предупреждение(НСтр("ru = 'Выбранный номер телефона уже присутствует в таблице получателей!" + Символы.ПС
            + "Владелец телефона: " + ВладелецТелефона + " строка №:" + СтрокаНомер+"'"));
            Возврат;
        КонецЕсли;
    КонецЦикла;
    
    Элементы.Получатели.ТекущиеДанные.Контрагент = ВыбранноеЗначение;
    Элементы.Получатели.ТекущиеДанные.НомерТелефона = ВыбранныйТелефон;
    
    Если Объект.АвтотекстБулево Тогда
        Элементы.Получатели.ТекущиеДанные.ТекстСообщения = СформироватьСообщениеПоШаблону(Объект.ТекстСообщения, ВыбранноеЗначение);
        Если Объект.Транслитерация Тогда
            Элементы.Получатели.ТекущиеДанные.ТекстСообщения = смсКоммуникатор.Транслитерация(Объект.Получатели.ТекущаяСтрока.ТекстСообщения);
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры
3 Лефмихалыч
 
26.01.15
17:21
все равно нужно программиста позвать
4 DonJon
 
26.01.15
17:22
Так я (он) и есть ((((.
5 DonJon
 
26.01.15
17:23
(3) Смущает что &НаКлиенте.
6 Лефмихалыч
 
26.01.15
17:23
(4) уверен?
ну, тогда бери отладчик и смотри, почему ПолучитьНомерТелефона() возвращает значение, в котором нет ожидаемых полей.
7 IШаман
 
26.01.15
17:25
(4)То странное чувство когда система рекомендует обратиться к системному администратору - но он это ты:)