7.7 Открытие окна в данном режиме недоступно!

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Natalia_k, 11 сен 2009.

  1. TopicStarter Overlay
    Natalia_k
    Offline

    Natalia_k Опытный в 1С

    Регистрация:
    8 сен 2009
    Сообщения:
    153
    Симпатии:
    0
    Баллы:
    26
    Подскажите, пожалуйста, почему выводится сообщение
    ОткрытьФорму("Отчет.Двойники",ТЗ);
    {Справочник.Контрагенты.Форма.Модуль(75)}: Открытие окна в данном режиме недоступно!

    Но сама таблица после второго нажатия на кнопку ОК все равно выводится. Как сделать так, чтобы эта таблица с двойниками выводилась при первом нажатии?


    функция ПроверкаЛистаСогл()
    Перем рез1;
    рез1=1;
    если (СокрЛП(ЛистСогл)="") тогда
    возврат рез1;
    конецесли;

    Контр = СоздатьОбъект("Справочник.Контрагенты");
    ТЗ = СоздатьОбъект("ТаблицаЗначений");
    ТЗ.НоваяКолонка("Двойник","Справочник.Контрагенты");
    Контр.ВыбратьЭлементыПоРеквизиту("ЛистСогл",ЛистСогл,0,0);
    ТекстСообщения = "";
    Пока Контр.ПолучитьЭлемент() = 1 Цикл
    Если (Контр.ЛистСогл = ЛистСогл) Тогда
    если Контр.Код=Код тогда
    Продолжить;
    конецесли;
    ТекстСообщения = ТекстСообщения+"Такой номер листа согласия "+ЛистСогл+" уже есть в базе "+Контр.Код+""+РазделительСтрок;
    ТЗ.НоваяСтрока();
    ТЗ.Двойник = Контр.ТекущийЭлемент();
    КонецЕсли;
    КонецЦикла;
    Если ПустоеЗначение(ТекстСообщения) = 0 Тогда
    //Сообщить(ТекстСообщения);
    Если Вопрос("Совпадение реквизитов номеров листа согласия."+РазделительСтрок+"Показать двойников?","Да+Нет") = "Да" Тогда
    ОткрытьФорму("Отчет.Двойники",ТЗ);
    рез1=0;
    СтатусВозврата(0);
    КонецЕсли;
    КонецЕсли;

    возврат рез1;
    конецфункции
  2. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    Синтаксис:
    ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>)
    ...
    <КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен).

    другими словами предположу что все дело в твоей ТЗ:

    Код:
                 ТЗ = СоздатьОбъект("ТаблицаЗначений");
    ОткрытьФорму("Отчет.Двойники",ТЗ);
    или просто попробуй
    ТЗ = ""
    ОткрытьФорму("Отчет.Двойники",ТЗ);
    
    
    Я вот что думаю, если ты хочешь чтобы тебе выводились двойники в отчете просто добавь таблицу в свой модуль и выводи ее
  3. TopicStarter Overlay
    Natalia_k
    Offline

    Natalia_k Опытный в 1С

    Регистрация:
    8 сен 2009
    Сообщения:
    153
    Симпатии:
    0
    Баллы:
    26
    Всё равно тоже самое сообщение выводится. А может быть проблема в том, что на туже таблицу может ссылаться и проверка на двойников с одинаковыми паспортными данными?

    Хотя, я пробовала создавать отдельный отчет и ссылалась на него, всё одно и тоже :unsure:
  4. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    если я тебя правильно понял тебе ненужно создавать отдельный отчет..
    Код:
    	Если ПустоеЗначение(ТекстСообщения) = 0 Тогда
    //Сообщить(ТекстСообщения);
    Если Вопрос("Совпадение реквизитов номеров листа согласия."+РазделительСтрок+"Показать двойников?","Да+Нет") = "Да" Тогда
    oTab = CreateObject("Table");
    oTab.SourceTable("Таблица");
    oTab.PutSection("Шапка");
    ТЗ.SelectLines();
    While ТЗ.GetLine() = 1 Do
    oTab.PutSection("Строка");
    EndDo;
    oTab.ReadOnly(1);
    oTab.Show();      
    КонецЕсли; 
    КонецЕсли;
    
    
    Ну и собственно саму печатную форму в модуле подправь (добавь секции шапку,строку и ячейку c ТЗ.Двойник вставь)

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