Шаблон компонента news.list
Месяц: Август 2016
Зависшие бизнес-процессы в 1С-Битрикс
Выполняющиеся активити ContractApproveActivity, у которых нет выполняющихся задач, т.е. все пользователи выполнили.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
SELECT s.id, s.DOCUMENT_ID, s.STATE, s.STATE_TITLE, t.ID, t.ACTIVITY_NAME, t.MODIFIED, t.STATUS, CASE t.STATUS WHEN 0 THEN 'Running' WHEN 1 THEN 'CompleteYes' WHEN 2 THEN 'CompleteNo' WHEN 3 THEN 'CompleteOk' WHEN 4 THEN 'Timeout' END AS STATUS_TITLE, u.USER_ID, u.STATUS AS USER_STATUS, CASE u.STATUS WHEN 0 THEN 'Waiting' WHEN 1 THEN 'Yes' WHEN 2 THEN 'No' WHEN 3 THEN 'Ok' END AS USER_STATUS_TITLE, u.DATE_UPDATE, u.ORIGINAL_USER_ID FROM b_bp_workflow_state s INNER JOIN b_bp_task t ON s.ID = t.WORKFLOW_ID INNER JOIN b_bp_task_user u ON t.ID = u.task_ID WHERE 1=1 AND t.ACTIVITY = 'ContractApproveActivity' AND t.STATUS = 0 #AND s.DOCUMENT_ID = 194817 AND NOT EXISTS (SELECT 1 FROM b_bp_task_user u2 WHERE u2.TASK_ID = t.id AND u2.STATUS = 0) ORDER BY s.ID, t.ID ; |
Фильтр по свойству заказов при обмене 1С-Битрикс с 1С:Предприятие
Вопрос: Как отдавать разным информационным базам 1С:Предприятие только свои заказы?
Ответ:
- Добавляем новое свойство заказа Код магазина.
- При обмене в URL добавляем shop_id=XXX
- Копируем компонент sale.export.1c в local/components/bitrix и кастомизируем.
Для версии младше 16
1 2 3 |
if (!empty($_GET['shop_id'])) { $arFilter['PROPERTY_VAL_BY_CODE_SHOP_ID'] = $_GET['shop_id']; } |
Для версии старше 16:
1 2 3 4 5 6 7 8 9 10 11 12 |
if (!empty($_GET['shop_id'])) { $options['RUNTIME'] = array( 'PROPERTY_SHOP_ID' => array( 'data_type' => 'Bitrix\Sale\Internals\OrderPropsValueTable', 'reference' => array( 'ref.ORDER_ID' => 'this.ID' ), 'join_type' => 'inner' ), ); $arFilter['PROPERTY_SHOP_ID.VALUE'] = $_GET['shop_id']; } |
Работа с Wine
Основы работы с Wine для начинающих
Изменить язык системы в реестре:
1 |
$wine regedit |
HKEY_CURRENT_USER\Keyboard Layout\Preload
409 — English
419 — Русский
Git cook book
Читаем мануал или для старой версии.
Получить из репозитория:
1 |
git fetch origin |
или:
1 |
git fetch http://host.xz/path/to/repo.git/ |
Отправить проиндексированные изменения в локальный репозиторий (закоммитить, сделать коммит):
1 |
git commit -m 'Описание коммита' |
То же, но с заполнением описания коммита в открывающемся редакторе (vi):
1 |
git commit |
Закоммитить с автоматическим индексированием всех уже отслеживаемых на момент коммита файлов (для ввода описания откроется редактор):
1 |
git commit -a |
Добавить изменения в последний коммит (подробнее здесь):
1 |
git commit --amend |
Вывести изменения в репозитории:
1 |
git log HEAD..origin |
Вывести подробную информацию об изменения в коммитах:
1 |
git log -p |
Посмотреть изменения в репозитории с подробностями только по 1 последнему коммиту:
1 |
git log -p -1 HEAD..origin |
Вывести историю изменения файла:
1 |
git log -p file.php |
Вывести историю изменения за период (интервал дат):
1 |
git log --since "FEB 4 2018" --until "FEB 6 2018" |
Установить meld приложением по умолчанию для сравнения файлов
1 2 |
git config --global diff.tool meld git config --global difftool.prompt false |
Сравнить измененный файл с версией из репозитория:
1 |
git diff file.php |
Сравнить измененный файл с версией из репозитория в графическом приложении:
1 |
git difftool file.php |
Получить список измененных файлов из коммита:
1 |
git diff-tree --no-commit-id --name-only -r b3385486 |
Накатить на локальную ветку:
1 |
git merge origin |
Извлечь (fetch) данные с сервера и автоматически попытаться слить (merge) их с наработанным кодом:
1 |
git pull origin |
Отправить в репозиторий:
1 |
git push origin |
Посмотреть содержимое файла из ветки:
1 |
git show origin:index.php |
Посмотреть содержимое файла из коммита:
1 |
git show <commit>:index.php |
Добавить файлы по маске
1 |
git ls-files . | grep '\.htaccess' | xargs git add |
Добавить в коммит удаленные файлы:
1 |
git ls-files --deleted -z | xargs -0 git rm |
Удалить уже отслеживаемые файлы из репозитория, но не из текущего рабочего каталога:
1 |
git rm --cached <filename> |
Посмотреть статус в выбранном каталоге
1 |
git status local/modules/ |
Список измененных файлов, помещенных в индекс для коммита (разница между индексом и последним коммитом):
1 |
git diff --staged --name-only |
Список непроиндексированных файлов (новых или измененных), которые могут быть помещены в индекс git add .
:
1 |
git ls-files --others --exclude-standard |
Исключить файл file.php из списка проиндексированных для коммита (в рабочей директории файл останется измененным или новым):
1 |
git reset HEAD file.php |
Восстановить (заменить) файл в рабочей директории версией из репозитория:
1 |
git checkout file.php |
19 советов по повседневной работе с Git
Создать репозитарий из существующего проекта:
В удаленном репозитарии:
1 |
git init --bare |
В каталоге проекта:
1 2 3 4 5 6 |
git init git add . git commit -m 'initial commit' git remote add origin /path/to/remote/repo git push origin master |
При попытке клонировать удаленный репозиторий:
1 2 3 4 5 6 7 8 9 10 |
$ git clone ssh://user@remotehost.ru/home/user/git/project.git Cloning into 'project'... remote: Counting objects: 2630, done. remote: fatal: inflateInit: out of memory (no message) error: git upload-pack: git-pack-objects died with error. fatal: git upload-pack: aborting due to possible repository corruption on the remote side. remote: aborting due to possible repository corruption on the remote side. fatal: early EOF fatal: index-pack failed |
По совету отсюда добавил на удаленном хосте в /home/user/.gitconfig и все заработало:
1 2 3 4 5 |
[pack] threads = 1 deltaCacheSize = 128m windowMemory = 50m |
How to delete a file from a Git repository, but not other users’ working copies