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

Расчет алиментов

В типовой конфигурации “Бухгалтерия для Украины” есть возможность настроить автоматический расчет и удержание алиментов. Если способ расчета указан “Процентом”, то в качестве базы для расчета берется начисленный доход, в то время как правильным было-бы облагать процентом фактический доход, т.е. начисленный минус удержания. Что нужно сделать:

  1. В общем модуле ПроведениеРасчетов в процедуре РассчитатьЗаписиРегистраРасчета, перед вызовом функции получения исходных данных для расчета ПолучитьДанныеДляРасчета, добавить в структуру НеобходимыеДанные параметр ИсчисленныйНДФЛ. НеобходимыеДанные.Вставить(“ИсчисленныйНДФЛ”,Истина);
  2. В теле функции ПолучитьДанныеДляРасчета пришлось исправить текст запроса ИсчисленныйНДФЛТекст, в нем просто все обращения к реквизиту ФизЛицо нужно заменить на Сотрудник.
  3. В процедуре РасчитатьЗаписьРегистраРасчета, в структуре ИсходныеДанные теперь будет доступна сумма рассчитанного НДФЛ с военным сбором, а в Переменной ВидРасчета есть признак того, что наш расчет является именно алиментами – ВидРасчета.ЭтоАлименты. Остается только вычесть из базы начисленные налоги перед применением процента.

Что изменилось?

При сохранении объекта, справочника или документа, в его модуле, в процедуре ПередЗаписью можно легко определить, какие реквизиты объекта изменились. Для этого достаточно сравнить значение по идентификатору со значением через Ссылку. Например, узнаем, что изменилась группа элемента справочника:

Если Родитель <> Ссылка.Родитель Тогда

...

Коды ошибок HTTP

При работе с веб-сервисами 1С, в процессе отладки, удобно сразу понимать, в каком месте что-то пошло не так. Если данные через сервис совсем не проходят, обычно можно понять причину в логе веб-сервера. При использовании Apache лог находится в файле \logs\access.log
Нормальный запрос от клиента выглядит примерно так:
46.211.159.63 - - [23/May/2017:11:41:22 +0300] "POST /base/ws/AgentExchange HTTP/1.1" 200 321
В этой строке виден ip адрес клиента, время, имя веб-сервиса “AgentExchange”, код ответа – “200”

Коды ответов при ошибках:
500 – ошибка обращения к веб-сервису, обычно из-за нарушения прав доступа в 1С
401 – ошибка авторизации в 1С

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

В конфигурации “Бухгалтерия для Ураины”, редакция 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. Решается без каких-либо манипуляций простым обновлением баз до одинаковой версии.

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

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

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

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

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

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

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

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