Имя: Пароль:
1C
1С v8
Помогите найти обработчик.
0 gsdgdgds
 
28.05.13
14:25
В документе "ИнвентаризацияОС" программно нарисована кнопочка. Которая ссылается как я понял в справочник ВнешниеОбработки, но там ее нет( Где искать?
1 Defender aka LINN
 
28.05.13
14:28
(0) "кнопочка. Которая ссылается как я понял в справочник ВнешниеОбработки" - а можно мне такой же травы?
2 gsdgdgds
 
28.05.13
14:29
(1) Нееее) Лучше подскажи) Хочешь положу сюда код?)
3 gsdgdgds
 
28.05.13
14:30
Процедура УстановитьКнопкиПодменюЗаполненияТЧ();
   
   СоответствиеТЧ = Новый Соответствие;
   СоответствиеТЧ.Вставить(ЭлементыФормы.ОС,ЭлементыФормы.КоманднаяПанельОС.Кнопки.ПодменюЗаполнить);
   СоответствиеТЧ.Вставить(ЭлементыФормы.ИнвентаризационнаяКомиссия,ЭлементыФормы.КоманднаяПанельИнвентаризационнаяКомиссия);
   
   мКнопкиЗаполненияТЧ = УниверсальныеМеханизмы.СформироватьПодменюЗаполненияТЧ(Ссылка, СоответствиеТЧ, Новый Действие("НажатиеНаДополнительнуюКнопкуЗаполненияТЧ"));
   
КонецПроцедуры
4 gsdgdgds
 
28.05.13
14:31
Функция СформироватьПодменюЗаполненияТЧ(Ссылка, СоответствиеТЧ, Действие) Экспорт
   
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    ВнешниеОбработкиПринадлежность.Ссылка,
   |    ВнешниеОбработкиПринадлежность.ДополнительныеПараметрыОбработки КАК ДополнительныеПараметрыОбработки,
   |    ВЫБОР
   |        КОГДА ЕСТЬNULL(ВнешниеОбработкиПринадлежность.ПредставлениеКнопки, """") <> """" ТОГДА ВнешниеОбработкиПринадлежность.ПредставлениеКнопки
   |        ИНАЧЕ ВнешниеОбработкиПринадлежность.Ссылка.Наименование
   |    КОНЕЦ КАК Наименование,
   |    ВнешниеОбработкиПринадлежность.ТабличнаяЧастьИмя КАК ТабличнаяЧастьИмя
   |ИЗ
   |    Справочник.ВнешниеОбработки.Принадлежность КАК ВнешниеОбработкиПринадлежность
   |ГДЕ
   |    (НЕ ВнешниеОбработкиПринадлежность.Ссылка.ПометкаУдаления)
   |    И ВнешниеОбработкиПринадлежность.СсылкаОбъекта = &Ссылка
   |    И ВнешниеОбработкиПринадлежность.Ссылка.ВидОбработки = &ВидОбработки
   |
   |УПОРЯДОЧИТЬ ПО
   |    ТабличнаяЧастьИмя
   |ИТОГИ ПО
   |    ТабличнаяЧастьИмя";
   
   МетаданныеОбъекта = Ссылка.Метаданные();
   ДеревоКнопок = ИнициализироватьДеревоДополнительныхКнопок();
   
   Запрос.УстановитьПараметр("ВидОбработки", Перечисления.ВидыДополнительныхВнешнихОбработок.ЗаполнениеТабличныхЧастей);
   Если Метаданные.Документы.Содержит(МетаданныеОбъекта) Тогда
       Запрос.УстановитьПараметр("Ссылка", Документы[МетаданныеОбъекта.Имя].ПустаяСсылка());
   ИначеЕсли Метаданные.Справочники.Содержит(МетаданныеОбъекта) Тогда
       Запрос.УстановитьПараметр("Ссылка", Справочники[МетаданныеОбъекта.Имя].ПустаяСсылка());
   Иначе
       Возврат ДеревоКнопок;
   КонецЕсли;
   
   НомерКнопки = 0;
   
   ДеревоТЧ = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
   
   Для каждого КлючИЗначение Из СоответствиеТЧ Цикл
       ИмяТабличнойЧасти = КлючИЗначение.Ключ.Данные;
       
       СтрокаДереваТЧ = ДеревоТЧ.Строки.Найти(ИмяТабличнойЧасти,"ТабличнаяЧастьИмя");
       
       Если Не СтрокаДереваТЧ = Неопределено Тогда
           
           СтрокаПодменю  = ДобавитьСтрокуВДеревоКнопок(ДеревоКнопок,ИмяТабличнойЧасти, ТипКнопкиКоманднойПанели.Действие , , , КлючИЗначение.Ключ, , , ,Истина);
           
           Для каждого ПодСтрокаДереваТЧ Из СтрокаДереваТЧ.Строки Цикл
               
               НомерКнопки = НомерКнопки + 1;
               
               СтруктураРасшифровки = Новый Структура("СсылкаНаВнешнююОбработку, ДополнительныеПараметрыОбработки", ПодСтрокаДереваТЧ.Ссылка, ПодСтрокаДереваТЧ.ДополнительныеПараметрыОбработки.Получить());
               
               ДобавитьСтрокуВДеревоКнопок(СтрокаПодменю, "ЗаполнениеТЧ"+НомерКнопки, ТипКнопкиКоманднойПанели.Действие, ПодСтрокаДереваТЧ.Наименование, Действие , СтруктураРасшифровки, , , ,Истина)
               
           КонецЦикла;
           
           ПодменюИлиКоманднаяПанель = КлючИЗначение.Значение;
               
           Если ТипЗНЧ(ПодменюИлиКоманднаяПанель) = Тип("КоманднаяПанель") Тогда
                   
               ПодменюИлиКоманднаяПанель = ПодменюИлиКоманднаяПанель.Кнопки.Добавить(,ТипКнопкиКоманднойПанели.Подменю,"Заполнить");
                   
           КонецЕсли;
           
           СформироватьПодменю(СтрокаПодменю, ПодменюИлиКоманднаяПанель,Ложь,Истина);
           
       КонецЕсли;
       
   КонецЦикла;
   
   Возврат ДеревоКнопок;
   
КонецФункции
5 Laerys
 
28.05.13
14:32
внешние обработки находятся в сервис-внешние обработки-внешнии обработки, находишь нужную, скачиваешь, открываешь в конфигураторе
6 gsdgdgds
 
28.05.13
14:47
там нет нужной(
7 Операция 1Ы
 
28.05.13
15:34
(3) и где что ссылается?