Архив рубрики: 1С 8.3

Расчет зарплаты

В конфигурации «Бухгалтерия для Ураины», редакция 2.0, при подсчете количества часов не учитываются предпраздничные дни. Простой способ исправить ситуацию:

Модуль РасчетЗарплатыБазовый
Функция РабочихДнейЧасовВПериоде
было: РабочихДнейЧасов.Часов = РабочиеДни * 8 + ПредпраздничныеДни * 8;
нужно: РабочихДнейЧасов.Часов = РабочиеДни * 8 + ПредпраздничныеДни * 7;
Читать далее

Бета-тест программы Агент

Агент. Приложение для торговых представителей

Агент. Приложение для торговых представителей

С сегодняшнего дня доступна для тестирования бета-версия андроид-приложения, которое будет обмениваться информацией с учетной системой в 1С.
Сейчас работают такие функции: загрузка списка товаров с ценами и остатками, загрузка списка клиентов с долгами, набор заявки клиента, отправка заявки в 1С.
Для установки приложения нужно пройти по ссылке: Вход для тестировщиков, там будет доступна ссылка на маркет. В самом приложении, в настройках подключения нужно ввести адрес сервера «demo» и имя базы «demo».
В целях тестирования будем пробовать обмен с базой 1С «Простой учет»: вход в веб-интерфейс. Логин «Пользователь», без пароля.
Общие правила для тестировщиков таковы: нажимать и вводить что угодно, как угодно, но при возникновении сбоя обязательно отправлять отчет если это предложит сама система или оставить отзыв в маркете.
Группа в Телеграме для обсуждения программы: ссылка.

Sic С 7 февраля 2017 бета-тестирование окончено, программа доступна в плей-маркете

Целое число в запросе

Для округления чисел в запросе необходимо применять функцию ВЫРАЗИТЬ, для отсечения дробной части придется использовать конструкцию ВЫБОР.

Пример округления до целого:

ВЫРАЗИТЬ(ЦеныМагазина.Цена КАК ЧИСЛО(12, 0))

Пример получения целой части (отсечение дробной):

ВЫБОР
КОГДА (ВЫРАЗИТЬ(ЦеныМагазина.Цена КАК ЧИСЛО(12, 0))) > ЦеныМагазина.Цена
ТОГДА (ВЫРАЗИТЬ(ЦеныМагазина.Цена КАК ЧИСЛО(12, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ(ЦеныМагазина.Цена КАК ЧИСЛО(12, 0))
КОНЕЦ

Конфигурация не соответсвует ожидаемой. Опять

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

Конфигурация не соответствует ожидаемой

Если во время обмена между распределенными базами на периферийной базе возникает ошибка «Конфигурация не соответствует ожидаемой» и обмен не загружается, нужно выполнить следующие действия:

  • Сделать выгрузку конфигурации на центральной базе, это та конфигурация, которую ожидает периферийная база и которую нужно будет туда загрузить.
  • На периферийной базе — отключить от главного узла обмена. Это возможно программно, для этого нужно написать обработку с одной командой: ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
  • Конфигурацию периферийной базы нужно снять с поддержки, если это включено, затем объединить с конфигурацией из центральной базы, а затем выполнить загрузку конфигурации из этого-же файла. Я делаю так для того чтобы перенести признак поддержки.
  • Вернуть привязку к главному узлу обмена. Это снова можно сделать программно, только теперь нужно будет указать узел, который будет назначен главным: ПланыОбмена.УстановитьГлавныйУзел(ТекущийУзел); В переменную ТекущийУзел нужно передать элемент из плана обмена, его можно сделать полем выбора в форме обработки.
  •  

    После этих манипуляций обмен должен пройти в обычном режиме.

    Простой учет 8.0.2

    В развитии конфигурации наступил важный этап — добавлен отчет «Финансовый результат». Отчет строится по оборотам специального одноименного регистра. Теперь можно увидеть результат работы предприятия за любой период и, главное, проанализировать источники оборотов: суммы отчета можно развернуть по аналитике, периодам и по документам, сформировавшим движения.
    Финансовый результат

    Простой учет 7.11.7

    В документе Инвентаризация товаров добавлен алгоритм очистки остатков от партий с отрицательным количеством. При рассчете списания создаются дополнительные проводки: сторно минусовой партии и списание этого-же количества из «нормальной» партии по правилу FIFO. Проводки формируются только по товарам, которые на момент инвентаризации имеют положительный общий остаток.

    Простой учет 7.11.5

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

    Простой учет 7.10.3

    В документе Приобретение услуг добавлен выбор базы для расчета распределения дополнительных расходов. Теперь вариантов три: сумма, вес и объемный вес.
    В документе Инвентаризация товаров добавлены столбцы с суммами — по данным учета и разницы. Также сумма разницы выведена в печатную форму инвентаризации.
    Обновлен Материальный отчет по розничной точке. Если сформировать его по обычному складу, будет выведена информация о приходах на склад, суммах приходов в продажных ценах, расчет дооценки товаров по данным установок цен и суммы реализации, реализованной наценки.

    WooCommerce

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

    В процессе написания обработки пришлось разложить по полочкам схему данных магазина, при этом сначала меня удивила концепция: все основные сведения хранить в таблице posts. Т.е. там лежат и данные о товарах, и данные о заказах, сам WordPress там хранит данные постов. На деле оказалось, что для целей обмена данными к этой таблице обращаться практически не приходится — нужные параметры разбросаны по множеству дополнительных таблиц.

    WooCommerce shema

    схема связи данных в таблицах WordPress и WooCommerce

    Так например, чтобы узнать, есть-ли заказы ожидающие обработки, нужно прочитать из таблицы term_relationships записи со значением поля term_taxonomy_id равным коду статуса «ожидание». Поле записи object_id будет содержать код заказа, а по сути это id записи в таблице posts соответствующей искомому заказу. Содержимое заказа лежит в таблице woocommerce_itemmeta, здесь надо сделать выборку по полю order_item_id (id заказа) и перечитать содержимое в полях meta_key и meta_value. Это еще одна «фишка» этого плагина: значения записаны не в отдельных полях таблицы, а вписаны в две колонки таблицы по принципу: одна колонка содержит ключ, вторая — значение. Т.е перебирая строки нужно анализировать значения ключа, к примеру в строке с ключом «_qty» получим количество, «_line_total» — сумма товара по строке и т.д. По такому-же принципу «спрятаны» данные и заголовка заказа с именем покупателя, телефоном и прочим, только уже в таблице postmeta.