Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Выполнить команду другой формы программно

Выполнить команду другой формы программно
Я
   K1RSAN
 
13.04.18 - 13:29
В общем:
Делается обработка для 8.2
В ней я получаю запросом все ЭСФ, к которым привязана СФ в определенном периоде
Далее нужно для всех ЭСФ выполнить команду Отсоединить счет-фактуру.
Но чет не могу понять, как это сделать. Получаю объект, получаю форму, но запустить команду не могу. ЧЯДНТ

Код (тапками не кидаться)

Запрос.Текст = 
    "ВЫБРАТЬ
    |         ЭСФ.Ссылка,
    |         ЭСФ.ДатаОборота,
    |         ЭСФ.Дата,
    |         ЭСФ.Номер,
    |         ЭСФ.СуммаДокумента,
    |         ЭСФ.Статус,
    |         ЭСФ.СчетФактура
    |     ИЗ
    |         Документ.ЭСФ КАК ЭСФ
    |     ГДЕ
    |         ЭСФ.ДатаОборота МЕЖДУ &Дата1 И &Дата2
    |         И ЭСФ.Статус = &Статус
    |         И ЭСФ.Направление = &Направление
    |         И ЕстьNull(ЭСФ.СчетФактура.Ссылка,0) <> 0";

    Запрос.УстановитьПараметр("Дата1", Дата1);
    Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2));
    Запрос.УстановитьПараметр("Направление", Перечисления.НаправленияЭСФ.Исходящий);
    Запрос.УстановитьПараметр("Статус", Перечисления.СтатусыЭСФ.Доставленный);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    
    Пока Выборка.Следующий() Цикл
        
        Объект = Документы.ЭСФ.НайтиПоНомеру(Выборка.Номер).ПолучитьОбъект();
        Форма = Объект.ПолучитьФорму("ФормаДокумента");
        Форма.Открыть();
        Форма.ЭлементыФормы.СчетФактураОтсоединить.Выполнить();
        
        Форма.Закрыть();
        
            
    КонецЦикла;

То, что в цикле - это мои попытки, я там разное пробую, готов услышать ваше фи (запрос тоже на скорую руку, лишь бы получить то, что надо)
 
 
   Fragster
 
1 - 13.04.18 - 13:31
все правильно
   tesseract
 
2 - 13.04.18 - 13:32
>> ЧЯДНТ  

С сервера пытаешься вызвать метод клиента. Надо просто найти  какой серверный метода в итоге вызывает  Форма.ЭлементыФормы.СчетФактураОтсоединить.Выполнить();
   Fragster
 
3 - 13.04.18 - 13:32
нужно сделать процедуру, на которую указывает команда, экспортной, и вызывать её через ТаСамаяФорма.ТаСамаяПроцедура
   Fragster
 
4 - 13.04.18 - 13:32
и все делать на клиенте, да
   catena
 
5 - 13.04.18 - 13:43
(0)Если там типовой механизм, то для отсоединения достаточно очистить реквизит СчетФактура и записать, дальше он сам все сделает.
   K1RSAN
 
6 - 13.04.18 - 13:48
(5) Спасибо
(4) (2) Спасибо

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует