Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ДАйте плиз пример использования svcsvc.dll в режиме предприятия (число прочтений - 2405 )
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
ДАйте плиз пример использования svcsvc.dll в режиме предприятия
18. Июля 2011 :: 15:23
Печать  
Надо в 1С сделать по аналогии как сделано в конфигураторе при выборе объектов и методов. Например при вводе названия товара чтобы выпадал список с возможностью выбора. Может кто делал такое - поделитесь пожалуйста примером. Спасибо.
  
Наверх
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: ДАйте плиз пример использования svcsvc.dll в режиме предприятия
Ответ #1 - 18. Июля 2011 :: 20:49
Печать  
pvase писал(а) 18. Июля 2011 :: 15:23:
Надо в 1С сделать по аналогии как сделано в конфигураторе при выборе объектов и методов. Например при вводе названия товара чтобы выпадал список с возможностью выбора. Может кто делал такое - поделитесь пожалуйста примером. Спасибо.


Процедура _НайтиВСписке(Конт) Экспорт
     Попытка
           Svc=СоздатьОбъект("Svcsvc.Service");
           НомерВерсии=Svc.version;
     Исключение
           НомерВерсии=0;
     КонецПопытки;

     Если НомерВерсии<1005 Тогда
           Сообщить("К сожалению, нужен Svcsvc.dll версии не ниже 1005", "!");
           Возврат;
     КонецЕсли;
     
     Если ПустоеЗначение(Конт)=1 Тогда // системный список
           Svc.FilterValue("", 1+32+128, "Выбор значения из списка", 0, 0, 400);
           Возврат;
     КонецЕсли;
           
     АктивныйЭлемент=Конт.Форма.АктивныйЭлемент();
     Если ПустоеЗначение(АктивныйЭлемент)=1 Тогда Возврат; КонецЕсли;
           
     ЭлементДиалога="";
     Шаблон("[_ПрисвоитьЗначение(ЭлементДиалога, Конт."+АктивныйЭлемент+")]");
     стрТипЭлементаДиалога=ТипЗначенияСтр(ЭлементДиалога);
     Если стрТипЭлементаДиалога="СписокЗначений" Тогда      
           Svc.FilterValue("", 1+32+128, "Выбор значения из списка", 0, 0, 400);

     ИначеЕсли стрТипЭлементаДиалога="ТаблицаЗначений" Тогда
           идКолонки=ЭлементДиалога.ТекущаяКолонка(); стрСписок="";
           Если ПустоеЗначение(идКолонки)=0 Тогда
                 Для ъ=1 По ЭлементДиалога.КоличествоСтрок() Цикл
                       ЗначениеЯчейки=ЭлементДиалога.ПолучитьЗначение(ъ, идКолонки);
                       стрСписок=стрСписок+?(стрСписок="", "", РазделительСтрок)+Шаблон("[ъ]: [ЗначениеЯчейки]");
                 КонецЦикла;
           Иначе // вероятнее всего это "дерево значений" FormEx
                 Возврат;
           КонецЕсли;
           РезВыбора=Svc.FilterValue(стрСписок, 1+32, "Выбор значения из списка", 0, 0, 1);
           Если ПустоеЗначение(РезВыбора)=0 Тогда
                 НомСтроки=Число(Лев(РезВыбора, Найти(РезВыбора, ":")-1));
                 ЭлементДиалога.ТекущаяСтрока(НомСтроки);
           КонецЕсли;

     ИначеЕсли стрТипЭлементаДиалога="ТабличноеПоле" Тогда
           идКолонки=ЭлементДиалога.ТекущаяКолонка.Имя; стрСписок=""; ъ=1;
           НомСтроки=ЭлементДиалога.ТекущаяСтрока;
           Пока 1=1 Цикл
                 ЭлементДиалога.ТекущаяСтрока=ъ;
                 Если ъ>Число(ЭлементДиалога.ТекущаяСтрока) Тогда Прервать; КонецЕсли; ъ=ъ+1;
                 ЗначениеЯчейки=ЭлементДиалога.ТекущиеДанные.Получить(идКолонки);
                 стрСписок=стрСписок+?(стрСписок="", "", РазделительСтрок)+Шаблон("[ъ]: [ЗначениеЯчейки]");
           КонецЦикла;
       ЭлементДиалога.ТекущаяСтрока=НомСтроки;
           
           РезВыбора=Svc.FilterValue(стрСписок, 1+32, "Выбор значения из списка", 0, 0, 1);
           Если ПустоеЗначение(РезВыбора)=0 Тогда
                 НомСтроки=Число(Лев(РезВыбора, Найти(РезВыбора, ":")-1));
                 ЭлементДиалога.ТекущаяСтрока=НомСтроки;
           КонецЕсли;
     КонецЕсли;
КонецПроцедуры

Просто выдрал из конфы (адаптируешь для себя ), сам сто лет уже не пользовался 7кой Улыбка
  
Наверх
wwwICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ДАйте плиз пример использования svcsvc.dll в режиме предприятия
Ответ #2 - 19. Июля 2011 :: 10:41
Печать  
Спасибо большое, попробую.
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать