Andreev Sergey

961
Рейтинг
+3 за сутки

Sergey Andreev
starik-2005



  •   Регистрация: 20.12.2014 (2 года назад)

  •   Был(а) на сайте: сегодня в 15:42


Группы

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

Рейтинг 961

Как добавить/убрать кота в отчет? 60

Программист v8 БП3.0 Бесплатно (free)

Кот в отчете: кому-то нравится, кого-то жутко бесит. Как избавиться, заменить, оставить (нужное подчеркнуть)?

12.05.2017    5090    0    13    

Значение в строку внутреннюю для сложных типов: как работает платформа или немного о декодировании base64 в текст через двоичные данные 27

Программист v8 Бесплатно (free)

Интересная особенность работы платформы со сложными типами при использовании метода ЗначениеВСтрокуВнутр, двоичные данные и новые методы платформы...

28.04.2017    1668    0    3    

Таблицы на управляемых формах: создание, расширение, управление. 66

Программист v8::УФ Бесплатно (free)

Как вывести результат запроса в таблицу на управляемую форму, ведь здесь нет метода "СоздатьКолонки()"? Как добавить поле ввода в табличную часть документа, если нет желания менять документ? Разбираемся...

10.01.2017    5500    0    21    

Произвольный отбор при открытии формы любого динамического списка 85

Программист v8::УФ 1cv8.cf Бесплатно (free)

Как установить хитрый отбор при открытии формы списка, например, отбор формы списка документов по элементу табличной части? Давайте разбираться...

05.12.2016    6071    0    26    

Загрузка XML в дерево значений 48

Программист v8 1cv8.cf Абонемент ($m)

Случайно наткнулся на статью с алгоритмом загрузки XML-строки в дерево значений и подумал, а не проще ли сделать это через механизм XDTO рекурсивно. На мой взгляд, решение получилось неплохое - даже атрибуты грузит..

1 стартмани

17.11.2016    4511    19    13    

Внешние источники данных на Linux-серверах 1С 54

Администратор Программист v8 Бесплатно (free)

Не знаю, все ли внешние источники, изображенные на картинке, можно использовать в 1С, но многие из них точно можно прикрутить к 1С, в том числе и установленном на сервере под управлением замечательной свободной ОС LINUX.

11.05.2016    9063    0    25    

Дай дернуть-2! Обращение к веб-сервисам с помощью подручных средств 76

Программист v8 Бесплатно (free)

Как показала практика, о веб-сервисах знает почти каждый программист, но о том, как их готовить, - весьма ограниченный круг. Давайте интереса ради замутим сервис и дернем его с помощью простого подручного средства - "Бумеранг"!

21.04.2016    8692    0    25    

Регулярные выражения без внешних компонент? Легко! 169

Программист v8 Бесплатно (free)

Сложный способ организовать проверку строки с помощью регулярного выражения в 1С. При этом ни одна внешняя компонента не пострадала. Ну и от платформы (Linux, MustDie) - не зависит.

04.03.2016    10090    0    43    

Пример рекурсивной выгрузки иерархической структуры в XDTO 17

Программист v8 1cv8.cf Абонемент ($m)

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

1 стартмани

26.02.2016    4907    7    3    

Сборка PostgreSQL 9.4.2 из исходников с патчами от 1С 72

Администратор Программист v8 Бесплатно (free)

Честно - не нашел нигде описания того, как пропатчить KDE для FreeBSD, поэтому решил ликвидировать данную несправедливость. Ниже по тексту я расскажу не только про то, как собрать Postgres, но и как использовать флаги оптимизации для вашего процессора, чтобы все работало максимально быстро. Ну и немного остановлюсь на конфигурировании и администрировании.

23.02.2016    11309    0    28    

X, Y и Z теории, искусство управления или что и почему "хавает пипл" 35

Директор Менеджер Бесплатно (free)

В прошлом веке появилось много теорий управления человеческими ресурсами. Хочется рассмотреть три из них и некоторым образом переплести их с общим образовательным кризисом последних лет.

13.02.2016    7640    0    49    

Дай дернуть! О веб-сервисах, Linux'ах и добрых поисковых сайтах 46

Программист v8 1cv8.cf Бесплатно (free)

О веб-сервисах, апачах и *nix'ах. - установим на новенький убунту старенький апач с php. - дернем сервис из php-скрипта. - создадим приложение, позволяющее дергать произвольный сервис с произвольными данными. - ну и что там получится по пути в лес...

30.12.2015    7887    0    4    

Жадина с рюкзаком, или немножко о поиске лучшей жизни 46

Программист Бесплатно (free)

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

23.12.2015    6760    0    31    

Распределение суммы по базе 34

Программист v8 Бесплатно (free)

Или еще одна попытка изобрести велосипед )))

08.11.2015    7898    0    10    

Мультипоточность в клиент-серверном варианте 1С, мьютексы 36

Программист v8 Бесплатно (free)

Как сделать так, чтобы два (пять, сто, миллион) процесса(ов) не делали одно и тоже одновременно, а ждали друг друга тогда, когда мы этого хотим...

30.07.2015    7677    0    49    

СКД, пробуем вывести содержимое строк в колонки 21

Программист v8 1cv8.cf Бесплатно (free)

Иногда нужно что-то из табличной части вывести в строку. Попробую описать один из методов. Выводим колонки "Тип номенклатуры" с номенклатурой в столбцы, в строки выводим Реализации, клиентов, суммы, ...

26.06.2015    8108    0    4    

Обработка для управления регламентными и фоновыми заданиями (управляемые формы, такси, асинхронные вызовы, только для 8.3) 12

Администратор Программист v8 1cv8.cf Абонемент ($m)

Представляю вашему вниманию обработку, способную сильно облегчить жизнь администраторам решений на базе 1С 8.3, в которых постоянно работают сотни регламентных и фоновых заданий. Обработка гарантировано работает в УТ 11. Должна работать во всех конфигурациях на базе БСП.

1 стартмани

24.06.2015    8026    131    8    

Многопоточность в 1С, клиент-серверный вариант 51

Программист v8 1cv8.cf Бесплатно (free)

Многопоточность - это свойство системы выполнять одновременно более одной операции (в пределе - более одной программы), позволяя в ряде случаев добиться существенного роста производительности программного продукта...

21.06.2015    11777    0    48    

Быстрое обновление данных в клиент-серверном варианте (SQL) 9

Программист v8 1cv8.cf Бесплатно (free)

В статье рассматривается инструкция UPDATE языка запросов SQL.

20.06.2015    4993    0    39    

Комментарии

DevСУПЕРЗАПРОСЫ: У кого самый большой запрос?#46 29.05.17 19:11
(43)
Цитата
ЕМНИП, если начать лопатить большую ТЧ на клиенте, то это спровоцирует ряд неявных контекстных вызовов платформы для синхронизации серверного контекста
Пример приведете? Всегда было интересно )))
DevСУПЕРЗАПРОСЫ: У кого самый большой запрос?#47 29.05.17 19:11
(44)
Цитата
абсолютно согласен
Доверяй, но проверяй! (с)
DevСУПЕРЗАПРОСЫ: У кого самый большой запрос?#41 29.05.17 17:47
(38)
Цитата
е эти справедливые замечания плохо ложатся на 1С.
Не уверен. Достаточно многое можно делать и на клиенте (особенно, если на сервере какое-нить г-но с 100 ядрами и частотой 2ГГц - зион 1-го поколения 65нм, а на клиенте i3 3,5ГГц 14нм, который это же этак раза в три быстрее вычислит, ибо все-равно в один поток). Я, например, стараюсь на сервер бегать из больших форм только без контекста или в общие модули, т.к. большую часть управления формой можно сделать безо всего вот этого серверного дергания контекста. Более того, ради интереса попробуйте строку разложить в массив подстрок вызвав безконтекстную процедуру и вызвав клиентскую процедуру. Даже на файловой базе скорость клиентского вызова на порядок выше, не говоря уже о вызове безконтекстной процедуры в клиент-сервере - это на два порядка медленнее. И если стоит задача размазать сумму по строкам табличной части документа, то серверный вызов тут нафиг не нужен - на клиенте реально будет быстрее. Это не говоря о запросах. Просто MVC нужно уметь готовить, а не просто по-привычке юзать то, что в 1С типа считается стандартом. (- Вы все делаете так, как делали все время... - Но все время делали так...(с) Астерикс и Обеликс: Клеопатра).
DevСУПЕРЗАПРОСЫ: У кого самый большой запрос?#37 29.05.17 15:51
(36)
Цитата
где выборки быстрее запроса
Это не единственная причина. Предположу, что "ВЫБРАТЬ 1+2+3*7+12*34+4...." может работать быстрее, чем А = 1+2+3*7+12*34+4..., но мы же не используем для этого запрос, да?

Есть много всего, что можно делать запросами (например, реализация жадного алгоритма от Ильдаровича), но это не значит, что оное нужно делать запросами. По поводу статей -то если Вас забанили в гугле, то я, конечно, могу поискать, но, помнится, их было достаточно, чтобы Вы и сами могли справиться. Например, на том же хабре была статья, в которой достаточно убедительно предлагали даже сортировку в ряде случаев передавать даже не серверу приложений (не говоря уже о сервере базы данных), а клиенту при отображении, чтобы экономить ресурсы сервера. Это может быть справедливо для небольших списков, которые используются достаточно часто в интерфейсе клиента. Т.к. клиентов много и все они работают на отдельном компьютере, то в ряде случаев лучше сэкономить на сортировке и упорядочивать данные списки на стороне клиента, а не писать "упорядочить" в запросе. Но, конечно, это уже при достаточной зрелости проекта и высоком числе пользователей, ибо сортировка в любом случае меньше чем n*log2(n) не займет и при выполнении оной на сервере эта нагрузка будет взята из его ресурсов, при этом клиент будет "курить".
DevКакой тип объекта выбрать для хранения подобной информации#13 29.05.17 14:19
Во всех системах (в том же Аксессе в Делфи, в прочих системах) строка таблицы формировала форму, в которой и осуществлялось редактирование. При таком раскладе что регистр сведений, что справочник - все одно. Для эмуляции самого экселя я бы использовал табличное поле и обновлял бы данные по мере их изменения в реальном времени. Поменял юзер данные - они поменялись, выделились цветом. А хранить это все все равно где...
DevСУПЕРЗАПРОСЫ: У кого самый большой запрос?#33 29.05.17 13:23
(29) ну, например, на хабре про 1С и распределение: https://habrahabr.ru/post/318240/
Но важен тут вот этот комментарий:
Цитата
Вы попали в точку. На специализированном форуме (ссылка выше), где была размещена та же статья, автору указали на это несоответствие.
В том подмножестве T-SQL, которое реализовано в 1С нет, например, оконных функций, которые в этой задаче позволяют быстро посчитать нарастающий итог — это два первых запроса. Также нет и RowNumber(), который помог бы третий запрос оптимизировать. Поэтому как будто все должно было быть наоборот: запрос должен был тормозить (там n^2), а код — снизить затраты до n. Как автор получил прямо противоположный результат — можно только догадываться.
В статье действительно больше лирики, чем физики.
Но если действительно интересно, то могу поискать соответствующие статьи (да и Вы можете их поискать на том же хабре).
DevСУПЕРЗАПРОСЫ: У кого самый большой запрос?#28 27.05.17 9:16
(27)
Цитата
Примеров сравнения производительности не видел
Ну так почитайте соответствующую литературу. Есть достаточно много публикаций о том, что не нужно все делать в запросе. Но, конечно, это не публикации про 1С, но принципы работы везде примерно одинаковые.
DevСУПЕРЗАПРОСЫ: У кого самый большой запрос?#26 26.05.17 16:39
(23)
Цитата
Есть на входе таблица номенклатура + цена. Надо по ней пропорционально сумме строки размазать какую-то общую сумму.
Это вообще не должно решаться запросом. Запросы не для этого созданы. У Ильдааровича есть примеры того, как это делать, и запрос там - далеко не первый по производительности. Запросам запросово, а коду кодово! (с)
DevСУПЕРЗАПРОСЫ: У кого самый большой запрос?#24 26.05.17 16:36
(20)
Цитата
...
Ну, во-первых, если этого недостаточно, то никто не мешает отфильтровать данные в самом соединении. Если же данные используются повторно (типа списка физиков из ЗУП), то я лично, ни разу не против того, чтобы поместить их в ВТ и проиндексировать. Но реляционные структуры - это связанные данные, которые нужны обычно в одном кортеже из нескольких таблиц. И если сначала все засовывать во временную таблицу, а потом это все обрабатывать, то проблема возникает в том, что временная таблица - это не таблица в памяти - она пишется в tempdb. И если есть очень много документов, из которых нужно отобрать все документы по определенной, например, номенклатуре, то не стоит засовывать этот список во временную таблицу, а нужно просто взять и получить ссылку из табличной части документа, отфильтрованной по нужной номенклатуре.

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