Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 11:45
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Данные в общий модуль и обратно  (Прочитано 4344 раз)

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

Оффлайн Seolkin

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-09-27
  • Сайт: 
Всем привет, сразу хочу пояснить, что поисковики мне не помогли найти ответ на данный вопрос.

Вот есть у меня общий модуль "КнигаЭкселя"

Функция ПолучитьКнигу(Книга, Лист, ВсегоСтрок)Экспорт
Попытка
Эксель=Создать Новый ComОбъект(Excel.Application);
Исключение
Сообщить(ОписаниеОшибки);
Возврат;
КонецПопытки
Книга=Эксель.WorkBooks.Open("N:\Пароли от почты\Пароли.xls");
Лист=Книга.WorkSheets("Лист3");
ВсегоСтрок=Лист.Cells(1,1).SpecialCells.Row;
КонецФункции

И предположим у меня справочник "Пароли почты" с необходимыми реквизитами и кнопкой "Запустить", по нажатию которой забираются все необходимые данные из общего модуля. А как сделать так, что бы он в начале передавал необходимые данные общему модулю, а потом забирал другие данные?

к примеру:
	Книга=Эксель.WorkBooks.Open("N:\Пароли от почты\Пароли.xls");
Лист=Книга.WorkSheets("Лист3");
тут могут быть разные пути к файлам экселя и соответственно разные имена листов. Можно ли как-то в начале передавать общему модулю путь к книге и имя листа, а потом забирать "Книга", "Лист" и "Всего строк"?

Я прекрасно понимаю, что этот код очень глупый, но хочу сделать именно таким путём.


Оффлайн Slin

  • Глобальный модератор
  • *****
  • Сообщений: 780
  • РЕПУТАЦИЯ: 247
  • КПД: 32%
  • Game over...
  • Регистрация: 2010-10-13
  • Сайт: 
  • Профессия: Программист 1С
почему нет?
введите дополнительные параметры к функции, в которых будете передавать необходимые данные
skype: slin-dev

Оффлайн Seolkin

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-09-27
  • Сайт: 
Цитировать
введите дополнительные параметры к функции, в которых будете передавать необходимые данные
Мысль ясна, спасибо, но не совсем понял как это сделать, можете пример написать (Ну или хотя бы подскажите куда копать)

Оффлайн Slin

  • Глобальный модератор
  • *****
  • Сообщений: 780
  • РЕПУТАЦИЯ: 247
  • КПД: 32%
  • Game over...
  • Регистрация: 2010-10-13
  • Сайт: 
  • Профессия: Программист 1С
Функция ПолучитьКнигу(ПутьКниги, ИмяЛиста, Книга, Лист, ВсегоСтрок)Экспорт
    Попытка
        Эксель= Новый ComОбъект("Excel.Application");
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки
    Книга=Эксель.WorkBooks.Open(ПутьКниги);
    Лист=Книга.WorkSheets(ИмяЛиста);
    ВсегоСтрок=Лист.Cells(1,1).SpecialCells.Row;
КонецФункции
skype: slin-dev

Оффлайн Seolkin

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-09-27
  • Сайт: 
Спасибо большое, не думал что так всё просто будет. Я думал надо будет через "получить форму". :bleh: Только Он в вашем коде в общем модуле ругается на "Возврат", требует какие-то параметры к нему. Если этот код использовать в модуле формы - то отлично работает.

{ОбщийМодуль.КнигаЭкселя.Модуль(7,9)}: Ожидается выражение
Возврат<<?>>; (Проверка: Сервер)

Я так понимаю, что из-за того что ругается он не может получить "Всего строк"

Код модуля в форме справочника "БланкиПользователей"
&НаКлиенте
Процедура Команда1(Команда)
ПутьКниги="N:\new___УВЦ\IP и пароли\Пароли от почты @MTKP.xls";
ИмяЛиста="Лист3";
КнигаЭкселя.ПолучитьКнигу(ПутьКниги);
КнигаЭкселя.ПолучитьКнигу(ИмяЛиста);
Сообщить(КнигаЭкселя.ПолучитьКнигу(ВсегоСтрок));
КонецПроцедуры

Припопытке использовать код, появляется надпись, что переменная "ВсегоСтрок не определена"...

Если я спрашиваю уж совсем элементарные вещи, то можете пожалуйста дать ссылку, где можно нормально изучить "Общий модуль"?
А то я ничего не нашёл на этот счёт, только описания нескольких примеров.

Оффлайн Slin

  • Глобальный модератор
  • *****
  • Сообщений: 780
  • РЕПУТАЦИЯ: 247
  • КПД: 32%
  • Game over...
  • Регистрация: 2010-10-13
  • Сайт: 
  • Профессия: Программист 1С
так как это функция, следует использовать не
Возврат;
a хотя бы
Возврат "";
или заменить ее на процедуру

Добавлено: 28 Сен 2012, 23:38

Использовать нужно примерно так
&НаКлиенте
Процедура Команда1(Команда)
    ПутьКниги="N:\new___УВЦ\IP и пароли\Пароли от почты @MTKP.xls";
    ИмяЛиста="Лист3";
    Книга = 0; Лист = 0; ВсегоСтрок = 0;
    КнигаЭкселя.ПолучитьКнигу(ПутьКниги, ИмяЛиста,  Книга, Лист, ВсегоСтрок );
    Сообщить(ВсегоСтрок);
КонецПроцедуры
skype: slin-dev

Последний раз редактировалось: Slin; 28 Сен 2012, 23:39

Оффлайн Seolkin

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-09-27
  • Сайт: 
Теперь всё полностью понял))) Большое спасибо=)))


Теги:
 

Как перенести данные из 7.7 типовая УСН 1.3 в 1С 8 типовая бухгалтерия

Автор Александр бухгалтерРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 4837
Последний ответ 13 Фев 2010, 07:58
от Александр бухгалтер
"Лишние" данные в зарплате

Автор Мария_ХРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 3790
Последний ответ 05 Апр 2014, 11:11
от Славянка
"Данные по коду не найдены"

Автор elteawРаздел Пользователям "1С - Предприятие 8"

Ответов: 6
Просмотров: 8119
Последний ответ 03 Дек 2015, 13:58
от Timofey Gurubanov
Куда сохраняются данные в режиме работы клиент при выгрузке данных обработкой "Универсальный обмен данными в формате XML"

Автор xDDРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 6961
Последний ответ 13 Ноя 2014, 08:23
от cska-fanat-kz
Как при помощи СКД при формировании макета отчета данные связанного набора данных вывести в Параметр через ";"

Автор sveta CРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 966
Последний ответ 01 Мар 2016, 14:33
от sveta C

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
177 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
alex0402
44 Сообщений
andron81_81
38 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 825
  • Точка Скрытых: 0
  • Точка Пользователей: 12
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal