Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 23:24

Нажатие кнопки (внешняя обработка)

Автор Firepwnz, 11 окт 2014, 16:01

0 Пользователей и 1 гость просматривают эту тему.

Firepwnz

Есть внешняя обработка с созданной кнопкой.  Надо написать процедуру, чтобы по нажатию кнопки из общего модуля была выполнена процедура по созданию задач.

Процедура КнопкаВыполнитьНажатие(Кнопка)
ОбъектЗадача = ОбщиеМодули.ПолучитьОбъект();
ОбъектЗадача.СозданиеЗадачАО();
КонецПроцедуры


При нажатие ничего не происходит

дфтын


Firepwnz

Процедура Команда1(Команда)
ОбъектЗадача = ОбщиеМодули.СозданиеЗадачАО();
ОбъектЗадача.СозданиеЗадачАО();
КонецПроцедуры


{Форма.Форма.Форма(4,17)}: Переменная не определена (ОбщиеМодули)
   ОбъектЗадача = <<?>>ОбщиеМодули.СозданиеЗадачАО(); (Проверка: Тонкий клиент)
Модуль и Процедура называются СозданиеЗадачАО

дфтын

ну значит СозданиеЗадачАО.СозданиеЗадачАО()

Firepwnz

Процедура Команда1(Команда)
    ОбъектЗадача = СозданиеЗадачАО.СозданиеЗадачАО();
КонецПроцедуры


Получается так код должен выглядеть?

дфтын

НУ если у вас процедура СозданиеЗадачАО() возвращает объект, то да. что врядле. но если она функция то да.

Firepwnz

{Форма.Форма.Форма(4,17)}: Переменная не определена (СозданиеЗадачАО)
   ОбъектЗадача = <<?>>СозданиеЗадачАО.СозданиеЗадачАО(); (Проверка: Тонкий клиент)

Вот сам код, если это чем-то поможет
&НаСервер
Процедура СозданиеЗадачАО () Экспорт

Запрос = Новый Запрос;
Запрос.Текст =  "ВЫБРАТЬ
                | ТехническиеПроекты.ОписаниеАО,
                | ТехническиеПроекты.СуммаАО
                |ИЗ
                | Справочник.ТехническиеПроекты КАК ТехническиеПроекты
                |ГДЕ
                | ТехническиеПроекты.АбонентскоеСопровождение";
Выборка = Запрос.Выполнить();
Выборка = Результат.Выбрать();
СотрудникПоУмолчанию = Константы.СотрудникПоУмолчанию.Получить();
Задача.Ответственный = СотрудникПоУмолчанию;
Задача.СотрудникСоздания = СотрудникПоУмолчанию;
ТекДата = ТекущаяДата();
ТекущийМесяцИГод = Формат(ТекДата, "ДФ=MM.yyyy");
Пока Выборка.Следующий() Цикл
Задача = Справочники.Задачи.СоздатьЭлемент();
Задача.Наименование = "Услуги по договору за " + ТекущийМесяцИГод;
Задача.ОписаниеЗадачи = Выборка.ОписаниеАО ;
Задача.Сумма = Выборка.СуммаАО;
Задача.Цена = Выборка.СуммаАО;
Задача.Трудоемкость = 1;
Задача.Записать();
КонецЦикла;
КонецПроцедуры

дфтын

Мне поможет?
1С:Предприятие 8.2. Практическое пособие разработчика (М.Г.Радченко, Е.Ю.Хрусталева)
Хорошая книга, вам поможет:)
Добавлено: 11 окт 2014, 18:06


по коду вам просто нужно вызвать эту процедуры и все. она ничего не возвращает. а просто каждый раз на весь справочник создает задачи. зачем оно вам так? ну ваше дело
Добавлено: 11 окт 2014, 18:08


да и не будет процедура работать.  у вас она написано человеком который не вкурсе, что такое 1С

Firepwnz

Не отрицаю что плохо, возможно даже отвратительно разбираюсь в 1с, вызвать я её хочу, т.к по словам друга во внешней обработке смогу понять почему она не работает, и вот уже целый день я пытаюсь это сотворить. При запуске процедуры 1с тупо виснет наглухо, и через минуту вылетает

дфтын

ага. с ошибкой, что задача не определена. у вас алгоритм написан не очень хорошо, он работать не будет.  нужно вам вызывать специалиста. хотите помогу. а так, вам нужно прочитать, что такое запросы и что такое создание объектов.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск