Рохин Сергей

245
Рейтинг

fillin
Сергей Рохин



  •   Регистрация: 01.10.2008 (15 лет назад)

  •   Был(а) на сайте: вчера в 05:44

Друзья
  • Анатолий Ситников
  • Иван Копытов
Подписчики 9

Группы

Профессиональный разработчик

Рейтинг 245

Настройка KDiff3 для исключения номеров строк в отчетах о сравнении конфигураций

Статья Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free) Нет файла Инструментарий разработчика

Те, кто часто обновляют доработанные типовые конфигурации, а потом проверяют корректность обновления, сравнивая отчеты о сравнении конфигураций, знают, как мешают при этом строки вида "Объект присутствует только в первой|второй конфигурации: 99 - 99", "Изменено: 99 - 99". Но если вы, как и я, пользуетесь для этого утилитой KDiff3, то есть простой способ избавиться от таких строк.

21.09.2020    9606    fillin    9       

37

Синтаксический анализатор

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Windows Абонемент ($m) Внешняя обработка (ert,epf) Инструментарий разработчика

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

1 стартмани

21.09.2012    11354    49    fillin    12       

21

Настройка журнала регистрации (Доступ, Отказ в доступе, Уровень событий)

Инструменты и обработки Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m) Внешняя обработка (ert,epf) Журнал регистрации

С помощью этой обработки можно выполнить тонкую настройку регистрации событий Доступа/Отказа в доступе в журнале регистрации без программирования.

1 стартмани

01.09.2011    19989    187    fillin    13       

35

Журнал регистрации по объекту (+ подключение в качестве печатной формы; + выбор настройки колонок)

Инструменты и обработки Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m) Внешняя обработка (ert,epf) Журнал регистрации

Простой фильтр журнала регистрации по колонке Данные. + В отличие от системного ЖР не приходится долго ждать открытия окна отборов. + Предустановлены 2 настройки колонок: Стандарт и Плоская таблица (удобна для выгрузки в Excel). Вы можете добавить в меню свою настройку, предварительно сгенерировав её код. + Можно подключить обработку в качестве печатной формы к документам и справочникам. + Это универсальная обработка для любой конфигурации.

1 стартмани

01.09.2011    16940    223    fillin    9       

28

Просмотр служебных текстовых файлов 1СП8 в виде дерева (например файлы профиля пользователя, журнала регистрации)

Инструменты и обработки Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m) Внешняя обработка (ert,epf) Инструментарий разработчика

Отчет показывает содержимое служебных текстовых файлов 1С:Предприятие 8 в виде дерева значений. Создавался для просмотра профиля пользователя (*.pfl). Можно смотреть и другие файлы в таком же формате, например, файлы консоли запросов (*.sel) или консоли отчетов (*.rcf, *.dcf), а также файлы журнала регистрации (*.lgf, *.lgp, *.elf, *.log).

01.09.2009    13540    59    fillin    5       

20

Отчет "Дерево метаданных"

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free) Внешняя обработка (ert,epf) Инструментарий разработчика

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

23.06.2009    19048    902    fillin    21       

95

Погодный информер

Инструменты и обработки Для всех Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m) Внешний отчет (ert,erf) WEB-интеграция Работа с интерфейсом

В поле HTML-документа выводятся информеры с погодного сайта www.rp5.ru по выбранным населенным пунктам. Отчет заказывали диспетчера. Но он пользуется большой популярностью и у других пользователей корпоративной информационной базы. Обычная форма.

1 стартмани

11.06.2009    8992    33    fillin    17       

7

Комментарии

DevСортировка объектов метаданных на лету, не закрывая конфигуратор#0 19.12.23 16:00
А вы сортируете объекты в дереве метаданных?
Не правда ли, утомительное занятие.

Sikuli-скрипт нам поможет!
UtilsНастройка KDiff3 для исключения номеров строк в отчетах о сравнении конфигураций#0 21.09.20 6:00
Те, кто часто обновляют доработанные типовые конфигурации, а потом проверяют корректность обновления, сравнивая отчеты о сравнении конфигураций, знают, как мешают при этом строки вида "Объект присутствует только в первой|второй конфигурации: 99 - 99", "Изменено: 99 - 99".
Но если вы, как и я, пользуетесь для этого утилитой KDiff3, то есть простой способ избавиться от таких строк.
DevJavascript и 1С. Кросс-платформенное взаимодействие#42 10.06.17 0:02
Спасибо за статью. Очень помогла.
Внесу свои 5 копеек.

1. Часто интерфейсы библиотек JS реализуют как функции. Примерно так:
Код
(function(){
   // Внутренняя реализация
   ...
   // Интерфейс
   var moduleInterface= function(){};
   ...
   // Экспорт
   window.moduleName = moduleInterface;
}());

В JS обращение к свойствам и методам библиотеки происходит, как обычно, через точку: moduleName.method()
Но в 1С в этом случае надо обращаться к модулю, как к функции: moduleName().method()

2. Сделал заменитель запрещенной функции eval - аналог Выполнить и Вычислить в 1С.
Код
(function(moduleName){
   "use strict";

   /**
    * Выполняет код, полученный из строки code с параметрами paramsDesc в контексте context.
    * Параметры, описанные в paramsDesc передаются в аргументах, начиная с 4-го.
    *
    * Примеры использования:
    *   executeCodeFromString('', 'console.log("Hi!")')(); // Hi!
    *   executeCodeFromString('a, b', 'return a + b', null, 1, 2); // 3
    */
   function executeCodeFromString(paramsDesc, code, context) {
      var func = new Function(paramsDesc, code);
      return func.apply(context || window, [].slice.call(arguments, 3));
   }

   var moduleInterface = function(){};
   moduleInterface.executeCodeFromString = executeCodeFromString;

   // Экспорт
   window[moduleName||"myModule"] = moduleInterface;

}(/*Здесь можно переопределить внешнее имя модуля*/));

Пример использования:
Код
   // Объявим короткое имя
   jsWindow = Элементы.ДокументHTML.Документ.parentWindow;
   myModule = jsWindow.myModule();

   // Выполним проивольный код на стороне JavaScript
   myModule.executeCodeFromString("", "alert('Привет!')");
Код
   // Передадим произвольный контекст в 3-м параметре
   Сообщить(myModule.executeCodeFromString("", "return this.ИмяФормы", ЭтотОбъект));  // ВнешнийОтчет.ВнешнийОтчет1.Форма.Форма
   
   // Вычислим что-нибудь с передачей параметров
   Сообщить(myModule.executeCodeFromString("a, b, c", "return Math.max(a, b, c)", , 1, 5, 4));  // 5
Код
   // Опишем новую функцию на стороне JS, а потом вызовем ее
   myModule.executeCodeFromString("", "myModule.sum = new Function('a, b', 'return a + b  //Это могла бы быть очень большая функция ')");
   Сообщить(myModule.executeCodeFromString("a, b", "return myModule.sum(a, b)", , 4, 10));  // 14
   Сообщить(myModule.executeCodeFromString("", "return myModule.sum(this.Высота, this.Ширина)", Элементы.ДокументHTML));  // У меня получилось 60
DevСимулятор 1С-ника#34 21.04.17 15:45
Круть!
Управление проектамиМотивация персонала в фирмах франчайзи: а она работает?#149 07.04.17 21:32
(93)
Цитата
Причем тут часы? Если часы на проекте закончатся, вы же не перестанете платить сотрудникам зарплату и не бросите проект.
Возможно, Вы удивитесь, но именно так было почти во всех франчайзи в 90-х и начале 0-ых.
В 98-м году моя ЗП зависела от часов работы и! поступления оплаты от клиента.
Нет проекта - нет зарплаты, клиент не заплатил - тоже нет зарплаты.
Я сам заключал договоры, сам программировал, сам выбивал оплату.
В общем-то спасибо им за это. Из программиста они вырастили предприниматели.Через год я вполне спокойно обходился без этого работодателя.
Управление проектамиМотивация персонала в фирмах франчайзи: а она работает?#148 07.04.17 21:09
(66) Вывод следует из статьи. Идите во франч, который платит фикс. Я сейчас как раз в таком.
Если контора все еще работает по всяким сложным схемам мотивации, значит они либо не заинтересованы работать с Вами в долгую, либо они еще не поняли, что схемы мотивации, эффективные для менеджеров и продавцов, ни разу не эффективны для программистов.
Управление проектамиМотивация персонала в фирмах франчайзи: а она работает?#147 07.04.17 20:57
(43)
Цитата
ИМХО, даже если работаешь на фиксе нужно хотя бы раз в два-три года менять работу, как бы хорошо не было. Иначе "бронзовеешь"...
Именно так я и делал, раз в 3-5 лет менял работу.

А потом меня занесло во франч, временно, как я думал, максимум на год. Работаю в итоге 2-й год и уходить не собираюсь.
Столкнулся со всеми описанными в комментах недостатками. Важнее сделать быстро, чем качественно, ну и чтоб выглядело не совсем убого.
Внутреннее качество - зло, твой красивый эффективный код никто не увидит, а каждый час задержки повышает градус бешенства заказчика.
Внешнее качество (интерфейс) допустимо в некоторых пределах, но "юзабилити" и все такое - страшное незнакомое слово, и "заказчик нам за это не платит". "Твою юзабельную компоновку формы никто не оценит и не оплатит, тратить время на проектирование формы нельзя. Проектирование интерфейса - роскошь, которую может себе позволить только фирма 1С".

Но проект крупный, долгоиграющий, заказчик не дурак. И, как выяснилось, лишний час, потраченный на тестирование и отладку, вполне себе окупает несколько часов на будущую поддержку. И интерфейс таки имеет значение. Лучше хорошо спроектировать форму, чем каждый день отвечать на вопросы "Как мне в этой вашей обработке (документе, отчете)...?"

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

Цитата
То есть всё имеет свою цену - фикс относительно комфортнее, франч, думаю, квалификационно интереснее, но более рискованный.
Согласен. И франч, нацеленный на работу в долгую с крупными проектами, и заинтересованный поэтому на долгосрочное сотрудничество с сотрудниками :) , в моем случае оказался хорошим компромиссом.

Цитата
Про тиражное решение немного не понял.
Кажется, коллега имел в виду фундаментальное противоречие в работе франчайзи.

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

В случае с проектами внедрения, в идеале надо как можно меньшими силами выполнить необходимый минимум, лишь бы подписать акт и получить оплату. Потом надо отказаться поддерживать внедренное, и скорее брать новый проект.
Все это, конечно, верно, если мы рассчитываем сорвать, что получится, а потом замутить какой-нибудь другой бизнес. Репутация - для нас пустой звук. Сотрудники? Да кто они такие, чтоб ради них чего-то там выдумывать. Я плачу бабки - я заказываю музыку.

В общем как-то так. :)
БУКак ускорить закрытие периода?#4 26.04.15 0:20
(3) 2 недели. Силами 2 штатных программистов.
БУКак ускорить закрытие периода?#1 25.04.15 19:16
Всем привет.
Помогите решить такую проблему.

Имеется БП 2.0. В конце каждого месяца требуется загрузить 120000 реализаций, создать 120000 сч-ф на реализацию.
А после этого надо выполнить закрытие периода. Для начала надо перепровести 160000 документов.

Вопрос: Как все это сделать в разумные сроки? Надо уложиться хотя бы в 12 часов.
Клиент-серверный вариант. MS SQL. Сервера 16х1.4Ггц, RAM 32ГБ.

Еще похожая задача (тоже БП 2.0):
Имеется 75000 контрагентов-физлиц, не ИП. Надо заменить их на одного контрагента. Один из этапов - удалить 500000 документов.
На это дается всего 2 часа (не спрашивайте, откуда такая цифра).

Помогите, плиз.