8.х Внешняя обработка ТЧ

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Ольгусик, 1 апр 2011.

  1. TopicStarter Overlay
    Ольгусик
    Offline

    Ольгусик Опытный в 1С Команда форума

    Регистрация:
    4 фев 2010
    Сообщения:
    646
    Симпатии:
    3
    Баллы:
    29
    Здравствуйте. Хочу сделать внешнюю обработку ТЧ "Расшифровка Платежа" для документа ПКО. Обработку сделала, добавила в справочник "Дополнительные отчеты". Но на форме документа кнопка "Заполнить не появилась" . Конф-ия: БП. 1.6.30
  2. TopicStarter Overlay
    Ольгусик
    Offline

    Ольгусик Опытный в 1С Команда форума

    Регистрация:
    4 фев 2010
    Сообщения:
    646
    Симпатии:
    3
    Баллы:
    29
    Код:
    Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПоле) Экспорт;
    
    Объект[ИмяТабличнойЧасти].Очистить();
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |	СУММА(ПлатежноеПоручениеВходящее.СуммаДокумента) КАК Сумма,
    |	ПлатежноеПоручениеВходящее.СубконтоКт1 КАК Магазин,
    |	ПлатежноеПоручениеВходящее.Дата
    |ИЗ
    |	Документ.ПлатежноеПоручениеВходящее КАК ПлатежноеПоручениеВходящее
    |ГДЕ
    |	ПлатежноеПоручениеВходящее.Дата МЕЖДУ &ДатаН И &ДатаК
    |	И ПлатежноеПоручениеВходящее.Организация = &Организация
    |	И ПлатежноеПоручениеВходящее.СчетУчетаРасчетовСКонтрагентом = &Счет5701
    |	И ПлатежноеПоручениеВходящее.СубконтоКт1 В ИЕРАРХИИ(&Магазины)
    |	И ПлатежноеПоручениеВходящее.ПометкаУдаления = ЛОЖЬ
    |
    |СГРУППИРОВАТЬ ПО
    |	ПлатежноеПоручениеВходящее.СубконтоКт1,
    |	ПлатежноеПоручениеВходящее.Дата
    |АВТОУПОРЯДОЧИВАНИЕ";
    
    Запрос.УстановитьПараметр("ДатаК", КонецДня(Объект.Дата));
    Запрос.УстановитьПараметр("датаН", НачалоДня(Объект.дата));
    Запрос.УстановитьПараметр("Счет5701", ПланыСчетов.Хозрасчетный.НайтиПоКоду("57.01"));
    Запрос.УстановитьПараметр("Организация", Объект.Организация);
    Запрос.УстановитьПараметр("Магазины", Справочники.Склады.НайтиПоКоду("000000004"));
    Результат = Запрос.Выполнить();
    Выборка=Результат.Выбрать();
    
    Пока Выборка.Следующий() Цикл
    
    СтрокаТабличнойЧасти = Объект[ИмяТабличнойЧасти].Добавить();
    СтрокаТабличнойЧасти.ДоговорКонтрагента=Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(Строка(Выборка.Магазин));
    СтрокаТабличнойЧасти.СуммаПлатежа=Выборка.Сумма;
    СтрокаТабличнойЧасти.КурсВзаиморасчетов=1;
    СтрокаТабличнойЧасти.СуммаВзаиморасчетов=Выборка.Сумма;
    СтрокаТабличнойЧасти.СтавкаНДС=Перечисления.СтавкиНДС.БезНДС;
    СтрокаТабличнойЧасти.СтатьяДвиженияДенежныхСредств=Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("000000011");
    СтрокаТабличнойЧасти.СчетУчетаРасчетовСКонтрагентом=ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01");
    СтрокаТабличнойЧасти.СчетУчетаРасчетовПоАвансам=ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01");
    
    
    КонецЦикла;
    
    КонецПроцедуры 
    
    
    
    
  3. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Принадлежность и табличную часть указать не забыли?
  4. TopicStarter Overlay
    Ольгусик
    Offline

    Ольгусик Опытный в 1С Команда форума

    Регистрация:
    4 фев 2010
    Сообщения:
    646
    Симпатии:
    3
    Баллы:
    29
    Нет, с этим все нормально
  5. cdb
    Offline

    cdb

    Регистрация:
    10 дек 2010
    Сообщения:
    40
    Симпатии:
    1
    Баллы:
    1
    А зачем ";" после Экспорт стоит?
  6. TopicStarter Overlay
    Ольгусик
    Offline

    Ольгусик Опытный в 1С Команда форума

    Регистрация:
    4 фев 2010
    Сообщения:
    646
    Симпатии:
    3
    Баллы:
    29
    Кстати не обратила внимание. Но для других документов делала также. Там работает. Именно почему-то с ПКО проблема

    Изменила. То же самое
  7. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Тут, видимо, небольшая ошибочка 1С...

    Просто у документа ПКО одна табличная часть "Расшифровка платежа" и два табличных поля на форме: "РасшифровкаПлатежа" и "РасшифровкаВыручки" (У каждого табличного поля своя командная панель, естественно). И оба эти поля связаны с одной таб. частью.

    Кнопки заполнения таб. части (при наличии внешней обработки) устанавливаются в обработчике события "ПередОткрытием" формы документа. Из него вызывается процедура "УстановитьКнопкиПодменюЗаполненияТЧ()".

    Сама эта процедура содержит такой код:
    Код:
    // Процедура устанавливает подменю "Заполнить" в командных панелях ТЧ документа при необходимости
    //
    Процедура УстановитьКнопкиПодменюЗаполненияТЧ();
    
    СоответствиеТЧ = Новый Соответствие;
    СоответствиеТЧ.Вставить(ЭлементыФормы.РасшифровкаПлатежа,ЭлементыФормы.КоманднаяПанельПлатежи);
    СоответствиеТЧ.Вставить(ЭлементыФормы.РасшифровкаПлатежа,ЭлементыФормы.КоманднаяПанельВыручки);//ВНИМАНИЕ СЮДА!!!
    
    мКнопкиЗаполненияТЧ = УниверсальныеМеханизмы.СформироватьПодменюЗаполненияТЧ(Ссылка, СоответствиеТЧ, Новый Действие("НажатиеНаДополнительнуюКнопкуЗаполненияТЧ"));
    
    КонецПроцедуры
    
    
    Т.е. формируется соответствие табличного поля и командной панели.
    Так вот, почему-то во втором случае "КоманднаяПанельВыручки" соответствует табличному полю "Расшифровка платежа", а должна соответствовать табличному полю "РасшифровкаВыручки".

    В общем, Вам надо поменять строку:
    Код:
    СоответствиеТЧ.Вставить(ЭлементыФормы.РасшифровкаПлатежа,ЭлементыФормы.КоманднаяПанельВыручки);
    
    на строку:
    Код:
    СоответствиеТЧ.Вставить(ЭлементыФормы.РасшифровкаВыручки,ЭлементыФормы.КоманднаяПанельВыручки);
    
    И всё заработает :)
  8. TopicStarter Overlay
    Ольгусик
    Offline

    Ольгусик Опытный в 1С Команда форума

    Регистрация:
    4 фев 2010
    Сообщения:
    646
    Симпатии:
    3
    Баллы:
    29
    Да, действительно. Спасибо
Похожие темы
  1. Alexander2
    Ответов:
    3
    Просмотров:
    635
Загрузка...

Поделиться этой страницей