Приветствую Вас ГостьВторник, 14.05.2024, 22:45

Каталог статей

Всего материалов в каталоге: 245
Показано материалов: 221-230
Страницы: « 1 2 ... 21 22 23 24 25 »

Рефа́кторинг (англ. refactoring), или перепроектирование кода, переработка кода, равносильное преобразование алгоритмов — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы.

Во многом при рефакторинге лучше полагаться на интуицию, основанную на опыте. Тем не менее имеются некоторые видимые проблемы в коде (англ. code smells), требующие рефакторинга:

  1. дублирование кода;
  2. длинный метод;
  3. большой класс;
  4. длинный список параметров;
  5. «жадные» функции — это метод, который чрезмерно обращается к данным другого объекта;
  6. избыточные временные переменные;
  7. классы данных;
  8. несгруппированные данные.

Один из основных приемов "Выделение метода".

Выделение метода заключается в выделении из длинного и/или требующего комментариев кода отдельных фрагментов и преобразовании их в отдельные методы, с подстановкой подходящих вызовов в местах использования. В этом случае действует правило: если фрагмент кода требует комментария о том, что он делает, то он должен быть выделен в отдельный метод. Также правило: один метод не должен занимать более чем один экран (25-50 строк, в зависимости от условий редактирования), в противном случае некоторые его фрагменты имеют самостоятельную ценность и подлежат выделению. Из анализа связей выделяемого фрагмента с окружающим контекстом делается вывод о перечне параметров нового метода и его локальных переменных.

В 1С есть встроенный механизм Выделение метода. Примеры использования можно посмотреть здесь: https://1c-programmer-blog.ru/platforma/refaktoring-v-1s.html

 

Программирование | Просмотров: 372 | Добавил: leshic | Дата: 23.05.2019 | Комментарии (0)

Информацию взял с http://1centerprise8.blogspot.com/2015/12/vyvod-tch-v-ja-chejku.html

Для отображения нескольких строк (значений) в одной ячейке надо использовать агрегатный функции Массив([Различные] Выражение) и СоединитьСтроки (Значение, РазделительЭлементов, РазделителиКолонок).

Так же есть агрегатная функция ТаблицаЗначений([Различные] Выражение1 [КАК ИмяКолонки1][, Выражение2 [КАК ИмяКолонки2],...]), но при её использовании не получиться вывести таблицу внутри ячейки.

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

СКД | Просмотров: 4320 | Добавил: leshic | Дата: 23.05.2019 | Комментарии (0)

При обновлении платформы на сервере могут вылезти следующие косяки:

1. Отвалилась консоль.

Чтобы исправить надо перерегистрировать в реестре новый путь для консоли. Так же надо не забыть установить "Администрирование сервера 1С: Предприятия"

2. Отвалились веб-сервисы.

Лечится установкой нового клиента на IIS. Так же в настройках IIS надо проверить обработчик ("Сопоставление обработчиков" в разделе IIS для сайта Default Web Site)

Для обработчика 1C Web-service Extension надо прописать путь C:\Program Files\1cv8\<правильная версия>\bin\wsisapi.dll 

3. Отвалилась отладка.

Если ранее была отладка по HTTP, то она может отвалиться. Для того, чтобы отладка заработала надо проверить строку запуска службы агента сервера 1С.

В строке запуска должны стоять ключи -debug -http . Первый говорит, что отладка должна быть, а второй указывает, что отладка по http.

Если этих ключей нет, то их можно добавить через regedit. После перезапуска службы должен появиться процесс dbgs с указанием портов, на которых работает отладка.

4. Отвалилась оснастка "Администрирование серверов 1С Предприятия".

Чтобы оснастка снова заработала надо зарегистрировать библиотеку "C:\Program Files\1cv8\<Версия платформы>\bin\radmin.dll".

Переходим в нужный каталог с платформой и пишем команду regsvr32 radmin.dll

Администрирование | Просмотров: 392 | Добавил: leshic | Дата: 21.05.2019 | Комментарии (0)

ОписаниеТипов используется для определения типов колонок в таблице значений.

Примеры:

ОписаниеТипов("СправочникСсылка.Оборудование");

Новый ОписаниеТипов("Дата");

Новый ОписаниеТипов("Строка"); // если тип колонки строка, то его можно вообще не указывать, так как тип Строка подставляется по умолчанию

///////////////////////////////////////////////////////////////////////

Через квалификаторы.

Формат:

Новый ОписаниеТипов(<Типы>, <КвалификаторыЧисла>, <КвалификаторыСтроки>, <КвалификаторыДаты>, <КвалификаторыДвоичныхДанных>)

Примеры:

Массив = Новый Массив;
Массив.Добавить(Тип("СправочникСсылка.Методы"));
Массив.Добавить(Тип("Число"));
Знак = ДопустимыйЗнак.Неотрицательный;
КвЧисла = Новый КвалификаторыЧисла(10, 2, Знак);

ДопустимыеТипы = Новый ОписаниеТипов(Массив, КвЧисла);

///////////////////////////////////////////////////////////////////////////

Когда колонка может содержать несколько типов:

КЧ = Новый КвалификаторыЧисла(12,2);
КС = Новый КвалификаторыСтроки(20);
Массив = Новый Массив;
Массив.Добавить(Тип("Строка"));
ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
Массив.Очистить();
Массив.Добавить(Тип("Число"));
ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,КЧ);

// Создание таблицы значений 

ТаблицаЗначений = Новый ТаблицаЗначений;
// добавим в таблицу значений три колонки

ТаблицаЗначений.Колонки.Добавить("Отдел",ОписаниеТиповС,"Отдел",20);
ТаблицаЗначений.Колонки.Добавить("Сотрудник",ОписаниеТиповС,
        "Фамилия сотрудника",20);
ТаблицаЗначений.Колонки.Добавить("Оклад",ОписаниеТиповЧ,"Оклад",10);

Объекты конфигурации и типы данных | Просмотров: 981 | Добавил: leshic | Дата: 20.05.2019 | Комментарии (0)

1С СКД. Параметры и необязательные параметры
http://wiki.programstore.ru/1s-skd-parametry-i-neobyazatelnye-parametry/

СКД | Просмотров: 382 | Добавил: leshic | Дата: 08.05.2019 | Комментарии (0)

Источник https://infostart.ru/public/181336/

В конфигураторе условное оформление существует на уровне самой формы (как в формах объекта, так и списка):

В формах списка условное оформление существует и на уровне самого динамического списка:

Программная работа с условным оформлением (УО).

Начнем с того, что работа с УО доступна только:

&НаСервере

Для Добавления элемента УО в списке нужно обратится к списку и добавить элемент УО:

ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить();

Для УО формы добавление происходит через прикладной объект УсловноеОформление:

ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();

Далее алгоритмы будут похожими. Для УО нам нужно задать условие отбора, задать значение свойства УО и добавить оформляемые поля.

// Создаем условие отбора
ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля); // имя поля
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; // либо задаем свой
//**** Значение для отбора
ЭлементОтбора.ПравоеЗначение = ЗначениеДляОтбора;
// следует заметить что правым значением может выступать ПолеКомпоновкиДанных формы или списка
ЭлементОтбора.ПравоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля);
//****
ЭлементОтбора.Использование = Истина;

Значение свойства УО:

// Установка значения элемента УО
// Возможно обращение как по индексу так и установка через метод
//1.
Элемент = ЭлементОформления.Оформление.Элементы[0];
Элемент.Значение = Цвет;
//2.
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.СеребристоСерый);

Элемент.Использование = Истина;

Добавим поля оформления, если ничего не добавлять, то система применит оформления ко всей строке:

// Создаем поля оформления
ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(ПолеДляОформления);
ПолеОформления.Использование = Истина;

В качестве ИменПолей нужно передавать строковое представление ИМЕНИ реквизита.

Формы | Просмотров: 625 | Добавил: leshic | Дата: 29.04.2019 | Комментарии (0)

Если требуется выводить только количество в итогах, а в детальных записях ничего не выводить, тогда в настройках выбираем ветку <Детальные записи>, на вкладке "Выбранные поля", разворачиваем <Авто> и убираем галку с того поля, которое не должно отображаться.

Если надо чтобы в группировке выходила не сумма всех записей, а только одно значение (например когда есть общий остаток по абоненту и остатки в разрезе услуг в 2 разных столбцах), то в выражении ресурса можно использовать формулу типа:  Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(ТекущийОстаток)", "Абонент"))

 

СКД | Просмотров: 606 | Добавил: leshic | Дата: 26.04.2019 | Комментарии (0)

1С продвигает технологию 1C:Enterprise Development tools (EDT)

По сути это разработка в Eclipse функционала 1С. Надо скачать плагины и добавить конфигурацию. Пока не все объекты доступны, но основная часть уже включена.

Так как Eclipse работает на Java, то разработка теперь доступна не только под Windows, но и под Linux.

Подробнее можно почитать здесь https://infostart.ru/public/344802/

https://edt.1c.ru/docs/git/?hash=t000055.html#t000055

Администрирование | Просмотров: 306 | Добавил: leshic | Дата: 24.04.2019 | Комментарии (0)

https://its.1c.ru/db/v8312doc#bookmark:adm:TI000000446

Система «1С:Предприятие» обеспечивает возможность ведения технологического журнала, в который помещается информация от всех приложений, относящихся к системе «1С:Предприятие».

Технологический журнал предназначен для выявления ошибок, возникающих при эксплуатации системы, и диагностики работы системы службой технической поддержки фирмы «1С», а также для анализа технологических характеристик работы системы.

Состав и свойства событий технологического журнала могут меняться при выпуске обновлений платформы.

 

Администрирование | Просмотров: 358 | Добавил: leshic | Дата: 24.04.2019 | Комментарии (0)

Для записи событий, возникающих в критических ситуациях (с точки зрения системы «1С:Предприятие») предназначен технологический журнал по умолчанию. Для этого журнала создается фиксированный фильтр событий, который формирует платформа и который невозможно изменить.

Технологический журнал по умолчанию имеет следующие настройки:

● Каталог файлов технологического журнала по умолчанию:

● ОС Windows: %USERPROFILE%\Local Settings\Application Data\1C\1cv8\logs (или %LOCALAPPDATA%\1C\1cv8\logs для ОС Windows Vista и старше).

● ОС Linux: ~/.1cv8/1C/1cv8/logs.

● ОС macOS: ~/.1cv8/1C/1cv8/logs.

● Информация удаляется из технологического журнала по умолчанию через 24 часа.

● В технологический журнал по умолчанию попадают события SYSTEM с уровнем Error.

Указанные настройки можно изменить с помощью элемента <defaultlog> (см. здесь). Настройка правил формирования событий, которые регистрируются в технологическом журнале по умолчанию выполняется с помощью элемента <system> (см. здесь).

Администрирование | Просмотров: 375 | Добавил: leshic | Дата: 24.04.2019 | Комментарии (0)


Вход на сайт
Поиск
Категории раздела
Материалы по 1С [206]
Программирование под Android [16]
То, что касается программирования под Android
Заметки из книг [20]
Заметки из книг
Редакторы языка QPILE [3]
Текстовые редакторы в которых удобно создавать портфели на языке QPILE
Программы для MetaTrader4 [0]
Эксперты, индикаторы и т.д.
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0