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

Автор Тема: Не нравится код  (Прочитано 110 раз)

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

Оффлайн Омар Тишбаев

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2018-02-23
  • Сайт: 
Заполняю шаблон Excel. Посреди листа есть динамически изменяемая таблица. Часть ячеек можно править вручную, часть нет. На лист ставится пароль. Вопрос: что не так с кодом? Смотрю на него и он меня прям таки напрягает. Корявый какой то! Создаётся ощущение, что можно было решить как то по другому!
        Книга = ConnectExcel.WorkBooks.Open(ИмяВременногоФайла);
Лист  = Книга.WorkSheets(1);

Лист.Cells(9, 5).Value  = ТекущаяДата();
Лист.Cells(9, 5).Locked = Истина;
Лист.Cells(10, 5).Value = МассивСтрок[0].НомерВыгрузки;       //НомерВыгрузки   
Лист.Cells(10, 5).Locked = Истина;

ИндексСтроки = 18;
Для Каждого СтрокаТовар Из МассивСтрок Цикл
Если Пароль = Неопределено Тогда
Пароль = Строка(СтрокаТовар.Пароль);
КонецЕсли;

Лист.Cells(ИндексСтроки, 2).Value  = ИндексСтроки - 17;
Лист.Cells(ИндексСтроки, 2).Locked = Истина;
Лист.Cells(ИндексСтроки, 2).Borders.LineStyle = 1;             
Лист.Cells(ИндексСтроки, 3).Value  = СтрокаТовар.Номенклатура;
Лист.Cells(ИндексСтроки, 3).Locked = Истина;
Лист.Range(Лист.Cells(ИндексСтроки, 3),Лист.Cells(ИндексСтроки, 5)).Merge();
Лист.Cells(ИндексСтроки, 3).Borders.LineStyle = 1;     
Лист.Cells(ИндексСтроки, 4).Borders.LineStyle = 1; 
Лист.Cells(ИндексСтроки, 5).Borders.LineStyle = 1;
Лист.Cells(ИндексСтроки, 6).Value  = СтрокаТовар.ЕдИзм;
Лист.Cells(ИндексСтроки, 6).Locked = Истина;
Лист.Cells(ИндексСтроки, 6).Borders.LineStyle = 1;
Лист.Cells(ИндексСтроки, 7).Value  = СтрокаТовар.Количество;
Лист.Cells(ИндексСтроки, 7).Locked = Истина;
Лист.Cells(ИндексСтроки, 7).Borders.LineStyle = 1;

Лист.Cells(ИндексСтроки, 8).Borders.LineStyle = 1;     
Лист.Cells(ИндексСтроки, 9).Borders.LineStyle = 1; 
Лист.Cells(ИндексСтроки, 10).Borders.LineStyle = 1;       
Лист.Cells(ИндексСтроки, 11).Borders.LineStyle = 1; 
Лист.Cells(ИндексСтроки, 12).Borders.LineStyle = 1;

ИндексСтроки = ИндексСтроки + 1;
Лист.Rows(ИндексСтроки).Insert();
КонецЦикла;

Лист.Rows(ИндексСтроки).Delete();

ИмяФайла = МестоСохранения + "\Шаблон " + МассивСтрок[0].НомерВыгрузки + ".xlsx";

Если СписокКонтрагентов.Количество() = 0 Тогда
Лист.Protect(Пароль);
КонецЕсли;

Книга.Application.DisplayAlerts = False;

Попытка
Книга.SaveAs(ИмяФайла);
ConnectExcel.ActiveWorkbook.Close();
УдалитьФайлы(ИмяВременногоФайла);
Возврат ИмяФайла;
Исключение
Сообщить(ОписаниеОшибки());
Возврат Неопределено
КонецПопытки;


Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 6957
  • РЕПУТАЦИЯ: 824
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С
Re: Не нравится код
« Ответ #1: 11 Июл 2019, 12:59 »
Если работает, то лучше не трогать.


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
61 Сообщений
MuI_I_Ika MuI_I_Ika
54 Сообщений
LexaK
19 Сообщений
DmitriyF DmitriyF
17 Сообщений
wise wise
14 Сообщений
Александр Мун Александр Мун
12 Сообщений
Мария112689
11 Сообщений
alexandr_ll
10 Сообщений
alex0402 alex0402
8 Сообщений
Lun
7 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal