Top.Mail.Ru
Ответы

Помогите с кодом 1С

Появляется ошибка:
{Обработка.загрузка.Форма.Форма.Форма(60,21)}: Конструктор не найден
ФормаВвода = Новый <<?>>Форма; (Проверка: Тонкий клиент)

Сам код:

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

&НаКлиенте
Процедура ПослеВыбораФайла(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт

Если ВыбранныеФайлы = Неопределено Тогда
Возврат;
КонецЕсли;

Объект.ПутьКФайлу = ВыбранныеФайлы[0];


КонецПроцедуры


&НаКлиенте
Процедура ЗагрузитьДанныеИзExcel(Команда)
ПутьКФайлу=ВыбратьФайл();

Если ПутьКФайлу=Неопределено Тогда
Предупреждение("Файл не выбран");
Возврат;
КонецЕсли;

// Открытие книги
Книга = Excel.Workbooks.Open (ПутьКФайлу);
Лист = Книга.Worksheets(1);

// Ввод номера строки
НомерСтроки = ВвестиНомерСтроки();

Если НомерСтроки = Неопределено Тогда
Предупреждение("Номер строки не введен!");
Возврат;
КонецЕсли;

// Получение данных из указанной строки
ДанныеСтроки = Лист.Rows(NомерСтроки).Value;

// Закрытие книги и Excel
Книга.Close();
Excel.Quit();

// Обработка данных и их загрузка в 1С
ОбработатьДанные(ДанныеСтроки);

Сообщить("Данные успешно загружены!");
КонецПроцедуры

&НаКлиенте
Функция ВыбратьНомерСтроки() Экспорт

ФормаВвода = Новый Форма; //Жалуется на эту строку

Поле = ФормаВвода.Элементы.Добавить("НомерСтроки", Тип("Число"));
ФормаВвода.ОткрытьМодально();
Возврат Поле.Значение;


КонецФункции

По дате
По Рейтингу
Аватар пользователя
Профи
11мес

Степан, ты лох)

Аватар пользователя
Просветленный
11мес

ОткрытьФорму("Справочник.ИмяСправочника.ФормаВыбора");

только смотрите форма чего у вас, правильно пропишите путь к ней, впрочем там увидите, будет предлагать выбрать

Аватар пользователя
Просветленный
11мес

Ошибка возникает потому, что в 1С нет конструктора "Форма" без параметров. Вместо этого можно использовать например:

1
 ФормаВвода = ПолучитьФорму("ОбщаяФорма.ИмяТвоейФормы"); 
1
 ФормаВвода = УправляемаяФорма();