Имя: Пароль:
1C
1С v8
Вопрос по СКД
0 bUbA
 
22.04.13
19:14
Нужно сделать следующую вещь:
в отчёте СКД (он уже готов и полностью рабочий), в окне, которое появляется двойным нажатием на левую кнопку мыши, среди строчек расшифровать, открыть, отфильтровать и т.д. добавить ещё одну строчку, в которой отражались бы документы прихода для выбранного товара. При чём без использования регистратора. Кто-нибудь с таким сталкивался?
1 Нуф-Нуф
 
22.04.13
19:16
расшифровка в СКД. поиск спасет.
2 SherifSP
 
22.04.13
19:21
(0) Конечно сталкивались, здесь каждый день подобные вопросы задают
3 bUbA
 
22.04.13
23:42
я уже где не искал только, мне нужно данные о приходе вывести именно в этом всплывающем меню, да ещё и без использования регистратора
4 sanja26
 
23.04.13
00:02
как-то так

СтандартнаяОбработка = Ложь;
ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных   (ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
ДополнительныеДействия=Новый СписокЗначений;
ДополнительныеДействия.Добавить("Действие2","Моё действие...");
ДоступныеДействия = Новый Массив();
ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Расшифровать);
Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, ДоступныеДействия, ДополнительныеДействия);
Если Настройки<>Неопределено Тогда                
   Отчет = Отчеты.ОбороткаДляБухгалтерии.Создать();
   Форма = Отчет.ПолучитьФорму();
   Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
   Отчет.СкомпоноватьРезультат(Форма.ЭлементыФормы["Результат"], ДанныеРасшифровки);
   Форма.Открыть();
               
   
Иначе
   Если ВыполненноеДействие="Действие2" Тогда
       ВыполнитьДействие2(Расшифровка);
   КонецЕсли;
КонецЕсли;

---------------------------------------------------

ДополнительныеДействия.Добавить("Действие2","Моё действие...");

http://help1c.com/help/view/3394.html
5 bUbA
 
23.04.13
10:56
а что находилось по той ссылке? а то она нерабочая оказалась
6 bUbA
 
23.04.13
12:16
Получилась у меня пока такая сыроватая процедура:


Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   
   Перем ВыполненноеДействие;
   Перем Дополнительно;
   
   СтандартнаяОбработка = Ложь;
   ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
   
   ДоступныеДействия = Новый Массив();
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Расшифровать);
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить);
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Отфильтровать);
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Оформить);
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Сгруппировать);
   
   ДополнительныеДействия = Новый СписокЗначений;
   ДополнительныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Дополнительно);
   ДоступныеДействия = Новый Массив();
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Расшифровать);
   Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, ДоступныеДействия, ДополнительныеДействия);
   Если Настройки <> Неопределено Тогда                
       Отчет = Отчеты.ОбороткаДляБухгалтерии.Создать();
       Форма = Отчет.ПолучитьФорму();
       Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
       Отчет.СкомпоноватьРезультат(Форма.ЭлементыФормы["Результат"], ДанныеРасшифровки);
       Форма.Открыть();
       
       
   Иначе
       Если ВыполненноеДействие = Дополнительно Тогда
           ВыполненноеДействие.Выполнить(Расшифровка);
       КонецЕсли;
   КонецЕсли;
   
   
КонецПроцедуры



Мне надо узнать значение элемента в строке роцедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка). Как это сделать можно? Через точку останова смотрел, там нету.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший