8.х Как заполнить форму обработки при открытии?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Незнайка это Я, 24 мар 2014.

  1. TopicStarter Overlay
    Незнайка это Я
    Offline

    Незнайка это Я

    Регистрация:
    8 мар 2013
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    Всем привет! обработка скопирована из типового дока Акт сверки взаиморасчетов. Добавил её в Бух 2.0 в справочник дополнительные отчеты и обработки. Хочу открыть от тудого, но пишет ошибку времени заполнения сейчас у меня там код такой из типовой. Мне нужно чтоб форма открывалась и заполнялась. Помогите пожалуйста. Особенно ругается на "Заполнить шапку документа", "Механизм НумерацииОбъектов", "СверкаСогласована", Работа с диалогами --- это всё процедуры из общего модуля. Всем заранее благодарен

    Код:
    Процедура ПриОткрытии()
    
    Если ЭтоНовый() Тогда // проверить объект на то, что он еще не внесен в ИБ
    
    //Заполнить реквизиты значениями по умолчанию.
    ЗаполнитьШапкуДокумента(ЭтотОбъект, глЗначениеПеременной("глТекущийПользователь"), мВалютаРегламентированногоУчета);
    
    //Заполнить таблицу счетов значениями по умолчанию
    ЗаполнитьСписокСчетовЗначениямиПоУмолчанию();
    
    СверкаСогласована = Ложь;
    
    ДатаОкончания = Дата;
    ДатаНачала = НачалоГода(Дата);
    
    КонецЕсли;
    //
    МеханизмНумерацииОбъектов.ДобавитьВМенюДействияКнопкуРедактированияНомера(ЭлементыФормы.ДействияФормы.Кнопки.Подменю3);
    МеханизмНумерацииОбъектов.УстановитьДоступностьПоляВводаНомера(Метаданные(), ЭтаФорма, ЭлементыФормы.ДействияФормы.Кнопки.Подменю3,ЭлементыФормы.Номер);
    
    мТекущаяДатаДокумента = Дата;
    НП.УстановитьПериод(ДатаНачала, ДатаОкончания, Истина);
    
    // Вывести в заголовке формы вид операции.
    РаботаСДиалогами.УстановитьЗаголовокФормыДокумента(, ЭтотОбъект, ЭтаФорма);
    
    // Подписать колонки и реквизиты остатков.
    УстановитьПодписиВалют();
    
    // Пересчитать конечные остатки и расхождение
    ПересчитатьОстатки();
    
    УстановитьДоступность();
    
    // Установить активный реквизит.
    СтруктураРеквизитов = Новый Структура("Дата,ДатаНачала,ДатаОкончания,Организация,Контрагент");
    РаботаСДиалогами.АктивизироватьРеквизитВФорме(ЭтотОбъект, ЭтаФорма,СтруктураРеквизитов,ЭлементыФормы.ПоДаннымОрганизации);
    
    // Установить доступность формы с учетом даты запрета редактирования
    РаботаСДиалогами.УстановитьДоступностьФормыДляРедактирования(ЭтотОбъект, ЭтаФорма);
    
    РаботаСДиалогами.ИзменитьПредставлениеКнопкиВыбораСвойств(ЭтаФорма, РаботаСДиалогами.ПолучитьОписаниеЗначенийСвойствОбъекта(Ссылка));
    
    КонецПроцедуры
    
    Последнее редактирование модератором: 24 мар 2014
  2. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Текст ошибок какой?
  3. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.756
    Симпатии:
    509
    Баллы:
    204
    Не хватает процедур :)))
  4. TopicStarter Overlay
    Незнайка это Я
    Offline

    Незнайка это Я

    Регистрация:
    8 мар 2013
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    [​IMG]
    --- Объединение сообщений, 24 мар 2014 ---
    эта ошибка и выбрасывает на процедуру общего модуля, в справочнике ВнешниеОбработки
    в эту
    Код:
    Процедура СправочникСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
    
    Если Не ВыбраннаяСтрока.ЭтоГруппа Тогда
    
    ЭтоОбработка = ?(ВыбраннаяСтрока.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Обработка, Истина, Ложь);
    ЭтоОтчет = ?(ВыбраннаяСтрока.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Отчет, Истина, Ложь);
    
    Если НЕ (ЭтоОбработка ИЛИ ЭтоОтчет) Тогда
    Возврат;
    КонецЕсли;
    
    
    //И ВыбраннаяСтрока.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Обработка Тогда
    
    Попытка
    
    ИмяФайла = ПолучитьИмяВременногоФайла();
    ДвоичныеДанные = ВыбраннаяСтрока.ХранилищеВнешнейОбработки.Получить();
    ДвоичныеДанные.Записать(ИмяФайла);
    
    Если ЭтоОбработка Тогда
    
    Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
    
    Иначе
    
    Форма = ВнешниеОтчеты.ПолучитьФорму(ИмяФайла);
    
    КонецЕсли;
    
    Если Форма <> Неопределено Тогда
    
    Форма.Открыть(); // здесь эта ошибка появляется
    
    Иначе
    
    Если ЭтоОбработка Тогда
    ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
    Иначе
    ВнешнийОтчет = ВнешниеОтчеты.Создать(ИмяФайла);
    Форма = ВнешнийОтчет.ПолучитьФорму();
    Если Форма <> Неопределено Тогда
    Форма.Открыть();
    КонецЕсли;
    КонецЕсли;
    
    КонецЕсли;
    
    УдалитьФайлы(ИмяФайла);
    
    Исключение
    
    Если ЭтоОбработка Тогда
    
    Предупреждение("Выбранный файл не является внешней обработкой.
    |Либо, данная обработка не предназначена для
    |запуска в этой конфигурации.");
    Иначе
    Предупреждение("Выбранный файл не является внешним отчетом.
    |Либо, данный отчет не предназначена для
    |запуска в этой конфигурации.");
    КонецЕсли;
    
    КонецПопытки;
    
    СтандартнаяОбработка = Ложь;
    
    КонецЕсли;
    
    КонецПроцедуры
    
    Последнее редактирование модератором: 24 мар 2014
  5. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.756
    Симпатии:
    509
    Баллы:
    204
    И что ??? Кстати, Объект не доступен на клиенте. Почитайте про функцию ЭтоНовый() в СП, особенно ее доступность...
  6. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    оформляйте код тегами....

    если вы скопировали обработку, то необходимо копировать и процедуры, которые она вызывает, как вам уже подсказали
  7. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Метод ЭтоНовый() применим к ссылочным объектам метаданных. А у вас внешняя обработка )
    В вашем случае, если необходимо тупо открывать форму нового документа
    Код:
    Форма =ПолучитьФорму("Документ.АктСверкиВзаиморасчетов.ФормаДокумента");
    Форма.Открыть();
  8. TopicStarter Overlay
    Незнайка это Я
    Offline

    Незнайка это Я

    Регистрация:
    8 мар 2013
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    [​IMG]
    --- Объединение сообщений, 24 мар 2014 ---
    така ошибка если я удалю условие ЭтоНовый()
  9. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.756
    Симпатии:
    509
    Баллы:
    204
    Незнайка, может вам пора в раздел для фриланса ??? Или в угадайку будем играть ?
  10. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Объясните толком, что должна делать обработка.
  11. TopicStarter Overlay
    Незнайка это Я
    Offline

    Незнайка это Я

    Регистрация:
    8 мар 2013
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    обработка - это акт сверки взаиморасчетов, она работает если в режиме Предприятия её открывать через меню Файл-Открыть. проблемы возникли после того как прикрутил её как дополнительную обработку. Она загрузилась, но если двойным щелчком по ней чтоб открыть и тут всё вылезает
  12. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.756
    Симпатии:
    509
    Баллы:
    204
    Потому что ее нужно переделать под внешнюю обработку/отчет.
  13. TopicStarter Overlay
    Незнайка это Я
    Offline

    Незнайка это Я

    Регистрация:
    8 мар 2013
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    да, вот с этого момента поподробнее пожалуйста:confused::confused:;)
  14. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.756
    Симпатии:
    509
    Баллы:
    204
    Так это обработка или отчет ??? или ВПФ ???
  15. TopicStarter Overlay
    Незнайка это Я
    Offline

    Незнайка это Я

    Регистрация:
    8 мар 2013
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
  16. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.756
    Симпатии:
    509
    Баллы:
    204
    Ну и переделайте ее как внешнюю обработку. На ИТС есть инфа по созданию.

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