пятница, 20 апреля 2018 г.

Отсутствие многопоточности в рамках одного запроса у PostgreSQL

Отсюда. Записал, так как лаконично и по делу.

В сети можно встретить примеры, (особенно в последнее время) когда  PostgreSQL  работает на сотнях пользователей в 1С, но я такого в живую не видел (чтоб без косяков, при большом количестве запросов) чтоб СУБД работала также быстро и хорошо, как и на MS SQL standard, например.
Вот одна из причин: PostgreSQL не умеет работать многопоточно (не путать с параллельно)!
Иногда в интернете, можно наткнуться на статью что PostgreSQL грузит только одно ядро на 100%, и мол не работает с многоядерными архитектурами. 
Знайте, что это не так! (Вернее не совсем так!)

PostgreSQL грузит все ядра, только если есть соответствующее количество запросов .
Один большой запрос действительно может  на 100% загрузить одно ядро вашего сервера так как
1 запрос = 1 поток! (На этой СУБД).
 Но если запросов будет много, соответственно и все ядра будут задействованы также.
PostgreSQL способен задействовать все ядра вашего сервера!
Каждое ядро может дать нам несколько потоков, например как минимум два, и уже, чтоб задействовать 2 ядра (4 потока) будет достаточно отправить на СУБД 3 – 4 запроса.
Помните?
1 запрос = 1 поток.
Другими словами, не распараллеливается выполнение одного запроса.
Нет многопоточности в рамках одного запроса  – это одна из причин, почему PostgreSQL работает медленнее MS SQL.
Один большой запрос может стать «узким местом» в производительности вашей 1С на этой СУБД.

воскресенье, 1 апреля 2018 г.

Выделение всего текста, экранной клавиатурой


CTRL + SHIFT + HOME
Выделение текста от текущего положения курсора до первой строки документа.
CTRL + SHIFT + END
Выделение текста от текущего положения курсора до последней строки документа.

пятница, 2 марта 2018 г.

Четыре типа соединения таблиц в языке запросов 1С

!!!!! Соединение служит УМЕНЬШЕНИЮ ОБЪЕМА ВХОДЯЩЕЙ (ЛИШНЕЙ) ИНФОРМАЦИИ! Что выбирать- это условия и т.п..
Синтаксис соединений:
СОЕДИНЕНИЕ <Описание источника> ПО <Условие отбора>

Отсюда
Спецификации "ВНУТРЕННЕЕ" и "ВНЕШНЕЕ" ни на что не влияют (их ввели только для красоты).
А так есть четыре типа соединения : 
ВНУТРЕННЕЕ СОЕДИНЕНИЕ- берем только записи удовлетворяющие условию (ни одного флага Все в конструкторе).

ЛЕВОЕ СОЕДИНЕНИЕ- берем весь источник 
указанный слева от слова СОЕДИНЕНИЕ и присоединяем правый по условию (флаг справа от основной таблицы) 

ПОЛНОЕ СОЕДИНЕНИЕ- берем оба источника и заполняем по условию (установлены оба флага Все)

ПРАВОЕ СОЕДИНЕНИЕ (берем весь правый источник и присоединяем левый по условию)
Внимание! При создании запроса с Правым соединением при помощи конструктора или СКД, создается Левое соединение и меняется расположение таблиц (перемена мест слагаемых!).

Тип соединения в Конструкторе запроса определяется установкой флага Все справа от соединяемых таблиц (видимо Правое соединение не создается конструктором для устранения путаницы?). Справа от какой таблицы установлен флаг Все к той таблице и присоединяется другая. Если выбраны оба- ПОЛНОЕ СОЕДИНЕНИЕ, если ни одного- ВНУТРЕННЕЕ СОЕДИНЕНИЕ.
 Условия соединения описывается в следующей секции- Условие связи.

четверг, 1 марта 2018 г.

Установка мобильного клиента и мобильной платформы на планшеты с Windows

UPD. Вышла тестовая 8.3.12

Начинаю попытки создать мобильный клиент для Windows


Мобильная платформа
iOS
prjios.zip
Android
1cem-arm.apk
1cem-x86.apk
Windows
1cem-phone-arm.appx
1cem-phone-x86.appx
1cem-x64.appx
1cem-x86.appx

Мобильный клиент
Windows
1cem-client-x64.appx
1cem-client-x86.appx
1cem-phone-client-arm.appx
1cem-phone-client-x86.appx

iOS
prjios_client.zip

Android
1cem-client-arm.apk
1cem-client-x86.apk
26.6.2.4.2. ОС Windows на сенсорных устройствах (8.3.12)
В теории все должно быть как и с мобильным приложением, но вместо файла 1cem-x86.appx надо взять файл 1cem-client-x86.appx
Поэтому копирую прежнюю последовательность и буду вносить в нее изменения.

Для установки мобильной платформы разработчика на устройство, работающее под управлением Windows, необходимо выполнить следующие действия:
● Скопировать на устройство файл поставки мобильной платформы (mobile.zip);
● Извлечь из файла поставки мобильной платформы (mobile.zip) файл сертификата (файл 1cem.cer);
● Установить сертификат в хранилище Доверенные лица (люди) на локальной машине;
● Извлечь из файла поставки мобильной платформы (mobile.zip) файл с дистрибутивом платформы для компьютера нужной архитектуры (1cem-client-x86.appx);
● Запустить PowerShell от имени администратора (прав администратора системы недостаточно);
● Выполнить команду
Show-WindowsDeveloperLicenseRegistration
Если разрешение на работу в режиме разработчика не установлено, появится сообщение и ссылка на соответствующий пункт меню.
Я перешел к следующему пункту (вероятно я уже был залогинен), но может появится окно, где нужно указать данные учетной записи Microsoft
● Выполнить команду (первая строка- пример):
Add-AppxPackage c:\1cem-client-x86.appx
или в общем случае:
Add-AppxPackage ‘path’\1cem-client-**.appx
где:
‘path’ - каталог, в который помещена мобильная платформа разработчика;
** - архитектура устройства (x86 или x64).

23 мая 2016 г. На основании 26.4.2.3.2. ОС Windows на сенсорных устройствах (8.3.7)


Для разработки мобильного приложения для ОС Windows необходимо выполнить следующие требования:
 1. Работа с мобильным устройством возможна только с компьютера с установленной     операционной системой Windows 8.1 и выше.
 2. Необходимо иметь учетную запись Microsoft.
 3. Для работы необходимо устройство на Windows (планшет или компьютер с сенсорным экраном).

Для установки мобильной платформы разработчика на устройство, работающее под управлением Windows, необходимо выполнить следующие действия:
● Скопировать на устройство файл поставки мобильной платформы (mobile.zip);
● Извлечь из файла поставки мобильной платформы (mobile.zip) файл сертификата (файл 1cem.cer);
● Установить сертификат в хранилище Доверенные лица на локальной машине;
● Извлечь из файла поставки мобильной платформы (mobile.zip) файл с дистрибутивом платформы для компьютера нужной архитектуры (файлы 1cem-x64.appx или 1cem-x86.appx);
● Запустить PowerShell от имени администратора (прав администратора системы недостаточно);
● Выполнить команду
Show-WindowsDeveloperLicenseRegistration
Если разрешение на работу в режиме разработчика не установлено, появится сообщение и ссылка на соответствующий пункт меню.
Я перешел к следующему пункту (вероятно я уже был залогинен), но может появится окно, где нужно указать данные учетной записи Microsoft
● Выполнить команду (первая строка- пример):
Add-AppxPackage c:\1cem-x86.appx
или в общем случае:
Add-AppxPackage ‘path’\1cem-x**.appx
где:
‘path’ - каталог, в который помещена мобильная платформа разработчика;
** - архитектура устройства (x86 или x64).

В дальнейшем запускать мобильную платформу разработчика можно нажатием на иконку «1С:Предприятие» в списке приложений.

четверг, 15 февраля 2018 г.

Чего не хватает УТ11 по сравнению с УТ10.3 (!)

Написано на основании публикации мая 2012 (!) года. Первыми пунктами идет то, что является аксиомой или проверено на момент написания (ноябрь 2015 года) этой статьи.

I) УТ 11 - решение на управляемых формах. Хочется написать "со всеми вытекающими". Если более детально:
1) Помните замечательную возможность ещё с 7.7 "Поиск по строке" в формах списков справочников? Теперь её нет. Теперь её заменили на "поиск" он же "отбор" в отдельном окошке. Мы с Вами конечно понимаем зачем это. Концепция тонкого клиента не позволяет так позиционировать строку в списке при наборе наименования, да и ресурсов это "съедает" ужасно много. Но пользователям это объяснить намного труднее. Почему новая система стала менее удобной?
2) Помните возможность "найти в списке" для каждого объекта? Теперь такой нет. А вот когда её нет, вдруг вспоминаешь, как она нужна была...
3) Не работают все обработки написанные для обычного приложенияВ т.ч. те, которые размещены на диске ИТС. (загрузка данных из табличного документа, консоль отчетов) и т.п. Конечно их можно запустить в режиме обычного приложения. Но конфигурация не предназначена для работы в этом режиме, поэтому результат, сами понимаете... не всегда может оказаться таким, какого ожидали.

4) Нет "групповой обработки справочников и документов" (есть некоторые варианты). Как следствие невозможна и групповая печать документов, которой регулярно пользовались. Подобие некоторое этой обработки есть. Но функционально оно основано на выделении объектов, которые нужно изменить. Очевидно что в большинстве случаев это не устроит

5) нет "изменения табличной части товары". Замечательной возможности, которой все пользовались - "добавить из документа", "изменить цену на %", "удалить строки" и т.п. Видимо сложно перенести на управляемые формы оказалось.

6) нет итогов по ТЧ "товары" в документахНе предусмотрены они для управляемой формы. для каких-то колонок выведены отдельно. Но колонка "количество" почему-то в таковые не вошла. Сделать итоги можно, но при этом управляемые формы уже перестают "оптимизировать клиент-серверное взаимодействие".

II) УТ 11.0 это ещё не законченное решение. Ведётся его активная разработка.Как следствие недоработок куча. Часть скорее всего исправят. С другой частью со временем придумаем как бороться.  Самые на мой взгляд критичные: 

  • dr2c точно остались "в силе":       

  1. (19.11.2015 УТ 11.2) Узнать проведён ли документ или нет теперь совсем не тривиальная задача.  Нигде в документе это не указано. А "найти в списке" теперь нет в меню документа.

  • dr2c не проверял:    


  1. Серий номенклатуры больше нет. Если кто использовал в методике учета ещё один разрез теперь придётся что-нибудь изобретать.        
  2. РАУЗ. Он теперь единственно возможный вариант учета.  Так что аналитикам можете смело объявить что анализа "сколько прибыли мы получили из продажи товара этой поставки" теперь нет, да и вообще про всю аналитику в разрезе поставки можно забыть.
  3.        Закрытие периода. Это какая-то частичная процедура. Полного закрытия периода не существует. Не знаю вообще как решение с отсутствием данного функционала можно было выпустить в продажу.
  4.        Себестоимость вы можете получить только "бухгалтерскую". Т.е. если используется (штатная в УТ 11) схема перепродажи между собственными организациями, все движения товара внутри компании влияют на себестоимость. Так же без НДС себестоимость посчитать нельзя. Кроме того, фонового задания для расчета себестоимости нет.
  5.        Курс валюты в документах указывать нельзя. Всегда продаём по ЦБ :).  Да собственно вообще с валютными операциями всё "туго"
  6.       Внешними обработками заполнения табличных частей теперь пользоваться не реально.  Добавляются только в шапку документа. Весьма странная кнопка. Работать с документом тоже целая история...
  7.        Если у вас вдруг случилась филиальная сеть и вы используете БП КОРП для ведения БУ, то обмен вам придётся писать самому - не предусмотрен он...
  8.        Значения по умолчанию. Нет такого понятия, всё заполняете "ручками". Собственно отказались с какой-то целью. Решили что пользователи и "так справятся". При работе из браузера конечно есть авто подстановка... Но не всегда это решение проблемы.
  9. Цены на характеристики. Нельзя теперь их использовать и цены на них не ставить. Даже если у вас всегда на все характеристики одна цена, устанавливать её упорно придётся.
  10. Счет без основания уже просто выставить нельзя. А нужно обязательно "заморочиться".
  11. Возвратная тара- теперь возможности её учета нет.
  12. Учет материалов (не товара) теперь вести как-то проблематичноОприходовать по 0 цене уже нельзя.
  13. Функционал WMS выглядит не законченным.  Вроде как есть он, а вроде как и нельзя им пользоваться - неудобно, возможности работы с ТСД нет. А как без работы с ТСД организовать адресное хранение не совсем понятно.
  14. Разделение на контрагентов и партнёров существенно усложняет обмен с бухгалтерией и другими системами. Там ведь партнёров нет... и понять что куда иногда совсем не простая задача.



III)   УТ 11 решение для дистрибьюции и оптовой торговли.      Это не маркетинговое заявление 1С. Это общая направленность конфигурации. Собственно стоит только обратить на это внимание как всё сразу становится на свои места. Все дальнейшие пункты отличий в этом разделе, по сути, являются лишь следствием этого основного различия конфигураций УТ 11 и УТ 10.3. В УТ 10.3 пытались охватить все процессы торгового предприятия, естественно без погружения в детали. В УТ 11 углубились в сторону процессов оптовой компании, при этом оставив без внимания прочие возможные варианты использования. Собственно можно просто прочитать http://v8.1c.ru/trade/index.htm и это становится ясно. При этом полноценным Back решением для Розницы УТ 11 навряд ли может стать без доработок.

      1) Механизм скидок, дисконтных карт, маркетинговых мероприятий. Дисконтных карт нет. Ну вот просто нет их в УТ 11 как-то. Автоматически скидки есть, но в самом простом варианте - за      период, на конкретные позиции, конкретным контрагентам (партнёрам).

      2) "Замечательный и удобный" реквизит  "состояние" в каждом документе. Который должен выбирать каждый раз руками каждый пользователь. А если забудет - документ проведётся и движений не сделает. Конечно для большой организации с кучей бюрократии это хорошо. А для "обычной"? Никакой возможности этот "статус" поставить группой не предусмотрено в систему.

      3) "очень удобный" подбор товаров. Фильтра по остаткам теперь нет - как то решили в 1С что медленно он работает. Цен тоже почему-то нет (не нужны может). Поиск товара теперь полнотекстовый, т.е.
- задание по обновлению индекса должно работать постоянно,
- новый товар сразу в поиске не найдете,
- нельзя теперь написать "чёрный", нужно писать "черный*".
В случае когда у вас несколько заказов в день, это конечно не играет особой роли, а вот если реальная розница...

       4) Количество обязательных для заполнения реквизитов в документах увеличилось. Это конечно сделано с благими намерениями, а именно - вывести на новый уровень блок финансов и планирования. Вот только если вдруг вы их не используете "дату платежа" и "дату планируемого поступления" вам всё равно придётся заполнять в каждом документе.


IV) Ключевые преимущества. Все они, за исключением ВИДОВ НОМЕНКЛАТУР, напрямую к торговле не относятся.
19.11.2015  (dr2c) 15:37 Буквально минуты назад вышел официальный релиз технологической платформы 8.3.7(1759). На момент написания источника был актуален 8.2.14 Поэтому появилось еще одно преимущество:
-1) Работа с мобильными приложениями

0) (было доступно и на 8.2)  web и тонкий клиент. 
Об этом пункте скажу (dr2c) подробнее.
При выходе платформы 8.2, чьим основным (интерфейсным) нововведением стали управляемые формы, главным новым функционалом провозглашались именно web и тонкий клиент. Все жертвы были принесены на их алтарь. Что мы видим спустя 6-ть лет (!)? Данный функционал крайне редко используется ибо даже там где он актуален (работа крупных поставщиков с постоянными клиентами в ИБ поставщика) как правило используются сторонние (более совершенные и позволяющие сохранить возможность работы обычных (не управляемых) форм) решения.
Пример лично мой- доступ к ИБ МеталлоПрофиль осуществлен посредством Citrix XenApp к базе на обычных формах.

1) Работа с контрагентами - наконец то понятная и логичная. Разделили на контрагентов и партнеров. Схемы "филиальная сеть", "отгрузка на одно ю.л., оплата с другого" вполне укладываются теперь в штатную логику

2) Индивидуальные ценовые условия клиента. Реализовано красиво и понятно. 

3) Блок финансов и планирования. Существенно расширен стало намного лучше. появилась возможность получить полноценный финансовый результат. Существенный шаг вперёд.

4) Перепродажа между собственными организациями. Автоматизирована теперь. Называется "схема интеркомпани". С ней ещё конечно работать и работать, но уже позволяет снять существенную часть нагрузки.

5) Механизм ценообразования. Стал очень мощным и "хитрым" - использование СКД и формул при расчете цен предоставляет существенную гибкость.

6) Виды номенклатуры - возможность задавать "обязательность" заполнения доп. реквизитов для вида номенклатуры, заведения характеристик для вида номенклатуры. В общем- достаточно серьёзный инструмент.

7) Возможность задания наименований справочников по формулам.

8) Возможность редактирования макетов печатных форм в пользовательском режиме, включая макеты этикеток и ценников

9) Все отчеты на СКД. В принципе с отчетами стало удобнее работать.

10) Расширились возможности администрирования. В частности - удобный инструмент работы с журналом регистрации и подсистема версионирования объектов.

11) Существенно улучшена система прав доступа. Теперь права можно расставлять галочками на разные "самые неожиданные" функциональные блоки. Формировать произвольные группы доступа и назначать их пользователям.