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

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

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

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

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

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