Ввод на основании и открытый документ

  1. 9 г. назад

    8.3 Обычные формы

    Проблема с вводом на основании если уже открыт новый документ такого же типа, который вводится на основании. Т.е ввод на основании не срабатывает, срабатыват только "ПриПовторномОткрытии". Как обойти ситуацию? Есть способы?

    Ответы: (3)
  2. кстати, в клюшках такая же байда, емнип

  3. Зачем тебе два новых документа?

  4. (0) какой такой не срабатывает? запишись сначала

    Ответы: (4)
  5. (3) так об том и речь, что без записи хотят. я так понял

  6. вобщем задача была такая:
    у продавцов постоянно открыт новый документ пустой.
    При ввооде на основнии нужно либо перезаполнять этот новый, либо открыть еще один новый документ.
    Платформа стандартно ничего не делает в случае открытого нового документа.

    что я сделал:

    1) Убрал ввод на основании
    2)Прописал в документах свой ввод на основании
    3)в обработчиках событий своего воода на основании прописал код:

    Документ:

    сли Не ЭтоНовый() Тогда
    
            ФормаНового=Документы.ЧекККМ.ПолучитьФормуНовогоДокумента();    
            Если ФормаНового.Открыта() Тогда
                
                ФормаНового.Модифицированность = ЛОЖЬ;
                ФормаНового.Закрыть();
                
            КонецЕсли;
                        
            ЧекККМНаВозврат  = Документы.ЧекККМ.СоздатьДокумент();
            ЧекККМНаВозврат.Заполнить(ссылка);
            ФормаДокумента = ЧекККМНаВозврат.ПолучитьФорму();
            ФормаДокумента.Открыть();
            ФормаДокумента.Активизировать();
                            
        КонецЕсли;
    

    Список:

    Если ЭлементыФормы.Список.ТекущиеДанные <> Неопределено Тогда
            
            ФормаНового=Документы.ЧекККМ.ПолучитьФормуНовогоДокумента();    
            Если ФормаНового.Открыта() Тогда
                
                ФормаНового.Модифицированность = ЛОЖЬ;
                ФормаНового.Закрыть();
                
            КонецЕсли;	
        
            ЧекККМНаВозврат  = Документы.ЧекККМ.СоздатьДокумент();
            ЧекККМНаВозврат.Заполнить(ЭлементыФормы.Список.ТекущиеДанные.ссылка);
            ФормаДокумента = ЧекККМНаВозврат.ПолучитьФорму();
            ФормаДокумента.Открыть();
            ФормаДокумента.Активизировать();
                
        КонецЕсли;
    

    В событии "ПриПовторномОткрытии" нужно всякое прописать. Я прописал:

    РаботаСДиалогами.УстановитьЗаголовокФормыДокумента(Строка(ВидОперации), ЭтотОбъект, ЭтаФорма);

или зарегистрируйтесь чтобы ответить!