8.х Условное оформление во внешней обработке

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

  1. TopicStarter Overlay
    Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.025
    Симпатии:
    51
    Баллы:
    54
    Добрый день!
    В БП 3.0 условное оформление документа "Отчет о розничных продажах" ставит флажок "Только просмотр" для колонки "Себестоимость".
    Нужно эту колонку открыть для пользователя, но сделать это без расчленения типовой бухгалтерии.
    Пробую во внешней обработке заполнения написать код, а там идет вызов клиентского метода, а с клиента условное оформление недоступно.
    Как можно изменить условное оформление в уже открытой форме?
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    Форма документа является владельцем формы обработки. Находится в Параметры.ВладелецФормы
  3. TopicStarter Overlay
    Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.025
    Симпатии:
    51
    Баллы:
    54
    Код:
    &НаКлиенте
    Процедура ВыполнитьКоманду(ИмяКоманды, ОбъектыНазначения) Экспорт
      
        Если ИмяКоманды = "РазрешитьРедактированиеСебестоимости" Тогда
            ДополнительныеПараметры = ОбъектыНазначения[0];
            ПараметрыФормы = Новый Структура("Ключ", ДополнительныеПараметры);
            Если ТипЗнч(ДополнительныеПараметры) = Тип("ДокументСсылка.ОтчетОРозничныхПродажах") Тогда  
                ТекФорма = ПолучитьФорму("Документ.ОтчетОРозничныхПродажах.Форма.ФормаДокумента", ПараметрыФормы);
                ИзменитьУО();
                Если ТекФорма.Открыта() Тогда
                    ТекФорма.Прочитать();
                КонецЕсли;
            КонецЕсли;
        Иначе
            ВызватьИсключение "Неизвестная команда """ + ИмяКоманды + """!";
            Возврат;
        КонецЕсли;
      
    КонецПроцедуры
    
    &НаСервере
    Процедура ИзменитьУО()
        ТекФорма = Параметры.ВладелецФормы;
        Элемент = ТекФорма.УсловноеОформление.Элементы.
    КонецПроцедуры
    
    так не получилось..
    Пишет, что поле объекта не обнаружено "ВладелецФормы"
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    Параметры.Владелец?
  5. TopicStarter Overlay
    Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.025
    Симпатии:
    51
    Баллы:
    54
    Тоже самое..
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    Отладчиком уже посмотри, какие вообще ключи есть в Параметры.

    Обработка заполнения ТЧ типовым методом типовой конфигурации запускается?
  7. TopicStarter Overlay
    Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.025
    Симпатии:
    51
    Баллы:
    54
    Я так понимаю, что параметры заполнятся только если запустить подключенную обработку. А если запускать просто через файл>>>Открыть то нет..
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    Да, необходимо найти место вызова внешней обработки в типовом алгоритме и временный файл будет доступен, вроде бы....во всяком случае так работало в ОФ.
  9. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Ну, вообще, типовой функционал (настройки условного оформления) предполагает, что колонка "Себестоимость" доступна если в учетной политике способ оценки МПЗ установлен "По средней себестоимости". В противном случае (если способ оценки - ФИФО) для ее редактирования необходимо сначала заполнить колонку "Документ оприходования".
    Очевидно, в Вашем случае надо просто указать документ оприходования и колонка "Себестоимость" станет доступной.

    Это, кстати, вполне логично. Ведь при ведении учета по партиям (при использовании метода "ФИФО") обязательно нужно указывать партию.
    А Вы хотите разрешить заполнять себестоимость списания без указания партии.
    Думаю, это не совсем корректно совсем некорректно.
  10. alexey25
    Offline

    alexey25

    Регистрация:
    6 окт 2015
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Я так и не понял, можно ли из внешней обработки применять условное оформление к форме владельца.
    У кого-нибудь получилось в итоге это сделать?
    Через параметр ВладелецФормы на сервере не получается ведь, а на клиенте оформление недоступно.

    добавлено немного позже:

    всё, разобрался. если в типовой конфигурации применяется более-менее новая БСП, то вместо ВызовКлиентскогоМетода можно указать тип команды использования "ЗаполнениеФормы", тогда через ПараметрыВыполнения.ЭтаФорма можно в самом модуле объекта внешней обработки напрямую работать с контекстом формы документа, из которого вызывается внешняя обработка: условное оформление, добавление на лету новых реквизитов и элементов формы - чего хотите.
    Последнее редактирование: 25 апр 2016

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