Путевые листы в 1С Бухгалтерия — облегчение заполнения

Существуют различные доработки для типовых программ 1С, в частности и для Бухгалтерии 2.0 по учету путевых листов автотранспорта. Как известно для нетранспортных компаний допускается заполнении путевых листов 1 раз в месяц, но тем хуже для ответственного сотрудника, т.к. это достаточно муторная работа и нужно сделать ее за раз, но при этом объем рутины велик.

У одного моего клиента как раз стояла такая задача и решение оказалось очень изящным — использование GPS автотрекеров. Благо рынок сейчас по этой услуге уже очень развит. Теперь достаточно 1 раз в месяц зайти на сайт поставщика услуг и сделать импорт точек в файл, который потом подгрузить в 1С.

Если перед вами стоит подобная проблема, пожалуйста, обращайтесь — автоматизируем этот процесс вместе.

Бюджетирование в 1С УПП 1.3 — удобство и способы настройки

Продолжая тему Настройки бюджетирования в 1С УПП 1.3 хочу поделиться тем, что еще было усовершенствовано в интерфейсе подсистемы для более удобной работы по составлению бюджетов.

В справочнике «Источники данных для расчетов бюджетирования» был добавлен режим, который позволяет получить данные написав кусок кода на встроенном языке программирования 1С. Этот режим предназначен для более сложных случаев получения данных, когда одного запроса мало. Например, возникла необходимость получения средней численности сотрудников. Для этого в системе уже есть отчет, но если посмотреть на его систему компоновки данных, то станет понятно, что просто так оттуда запрос не вытащить. Да и смысла в этом нет, можно использовать уже настроенную СКД для своего случая, что и делается через код 1С, который размещается в источнике данных для расчетов бюджетирования.

Новый режим "Выполнить" для справочника "Источники данных для расчетов бюджетирования"

Новый режим «Выполнить» для справочника «Источники данных для расчетов бюджетирования»

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

Новый режим "Формула" для справочника "Статьи бюджета"

Новый режим «Формула» для справочника «Статьи бюджета»

Еще была добавлена функция «Бюджет-база», смысл ее в том, чтобы для случаев, когда требуется сделать отдельный бюджет, например, по какому-то ЦФО, которое не вписывается в общую картину. И чтобы не копировать все статьи, отличие то всего лишь в десятке статей, достаточно указать, что у текущего бюджета есть бюджет-база

Новая функция "Бюджет-база"

Новая функция «Бюджет-база»

а потом в текущей статье бюджета указать какую статью бюджета бюджета-базы будем замещать

Статья замещения в бюджете-базе

Статья замещения в бюджете-базе

при формирование отчета по такому бюджету произойдет слияние текущих статей и статей бюджета-базы с учетом указанного замещения. Т.о. можно гораздо удобнее и быстрее настраивать несколько бюджетов, которые похожи друг на друга, не говоря о том, что насколько проще потом будет вносить правки в общие статьи таких бюджетов — одним кликом, вместо того, чтобы проходить каждый из бюджетов.

Разработан отчет, который позволяет получить данные по плану и факту бюджета доходов и расходов (БДР):

  • с отклонениями
  • помесячно
  • помесячно только факт
  • сравнение фактов за разные периоды
План-факт бюджета доходов и расходов с отклонениями

План-факт бюджета доходов и расходов с отклонениями

Динамика бюджета доходов и расходов помесячно

Динамика бюджета доходов и расходов помесячно

 

Интеграция 1С и интернет-магазина

Была задача сделать сайт интернет-магазина аксессуаров для сотовых телефонов «Сотолайн»  так, чтобы все необходимые данные брались из 1С (номенклатура, цены) и возвращались обратно (заказы).

Движок написал на «голом» PHP, без применения каких-либо фреймворков или CMS типа 1С-Битрикс. Возможно читатель заметит, что сейчас это не модно, и возможно будет прав в своей ситуации. Я честно потратил некоторое время на изучение популярных CMS (1С-Битрикс, PHPShop, HotCMS и т.п.), самое сложное было найти простую поддержку нескольких цен к товару, оказывается это мало кто умеет «из коробки». Еще одна тенденция — шаг в лево от типовых настроек CMS приводит к тому, что без глубокого изучения используемых подходов и внутреннего языка CMS сделать что-либо затруднительно.

В итоге были достигнуты следующие цели:

  1. Плотная интеграция 1С и интернет-магазина — у сайта нет админки как таковой, все необходимые настройки выполняются на стороне 1С, в т.ч. наполнение статичных страниц «Доставка», «Контакты» и т.д. Пользователь работает только в привычной среде 1С.
  2. Поддержка нескольких цен, у каждой свой диапазон применения исходя из суммы заказа с автоматическим пересчётом при переходе в другой диапазон.
  3. Быстрый движок интернет-магазина за счет отказа от использования фреймворков и CMS.

 

Интернет-магазин аксессуаров для сотовых телефонов Sotoline.su

Интернет-магазин аксессуаров для сотовых телефонов Sotoline.su

 

Переход с 1С УТ 10.3 на 1С УТ 11.1

Как-то, работая еще в офисе, начинал проект по переходу с самописной торговли (аля упрощенная УТ 10) на УТ 11, но дальше подготовительного этапа дело не пошло — руководство мучало меня вопросами «а надо ли переходить?!», я понимая ситуацию честно отвечал, что нет ;), т.к. это непростой процесс, нужно обучить сотрудников новому интерфейсу, логика программы другая и т.д. Да и реально видел, что в компании мало кто заинтересован в этом, обычные менеджеры и финансисты привыкли к расположению кнопочек и циферок в отчетах, им все-равно в какой программе они работают. А чтобы перейти на новый продукт это же сколько телодвижений нужно сделать — этого никому не хочется. Так в раздумьях прошло два месяца и меня уволили, решив остаться на самописке.

Так вот, сейчас как раз начинаю новый проект по переходу с УТ 10 на УТ 11, посмотрим что из этого выйдет. Пока нахожусь в стадии обновления десятки до 10.3.21, чтобы воспользоваться стандартной обработкой по переходу на УТ 11. И уже столкнулся с тем, что через поддержку конфигурация обновляться не хочет — какой-то глюк с номером версии.

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

При выгрузке из 1С УТ 10.3 помощником перехода на 1С УТ 11 столкнулся с проблемами, из-за которых выгрузка останавливалась:

  1. Вид контактной информации задавался строкой, а не ссылкой из справочника. Сделал выборку таких данных через запрос, их оказалось немного, поменял руками.

    ВЫБРАТЬ
    КонтактнаяИнформация.Объект,
    КонтактнаяИнформация.Тип,
    КонтактнаяИнформация.Вид,
    КонтактнаяИнформация.Представление
    ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ ТИПЗНАЧЕНИЯ(КонтактнаяИнформация.Вид) = ТИП(СТРОКА)

  2. Битые ссылки — решается через конфигуратор меню «Администрирование» -> «Тестирование и исправление»
  3. Возникли сложности с выгрузкой данных из 1С УТ 10.

 

продолжение следует…

Перенос базы PostgreSQL на другой сервер

В процессе перехода с 1С УТ 10 на 1С УТ 11 возникла задача выгрузки данных типовой обработкой перехода, но проблема — текущий сервер слабенький и памяти на эту процедуру не хватало. Также был новый сервер, более мощный для дальнейшей работы на 1С УТ 11. Было решено сперва перенести старую базу на новый сервер и уже оттуда делать выгрузку. На обоих серверах в качестве БД был PostgreSQL.

При загрузки базы возникала ошибка:

pg_restore: restoring data for table «_reference20»
pg_restore: [tar archiver] corrupt tar header found in e388645783b719e153965767e18f4baf4645229302ce9ffa13190 (expected 17, computed 35577) file position 9188850688
pg_restore: *** aborted because of error

 

Было много разных попыток, но ничего не помогало, не буду об этом подробнее, лучше расскажу, что в итоге было сделано.

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

Берем полученный pg_dump’ом файл и разархивируем его (например, 7z) в каталог, далее ищем в нем файл restore.sql, по сути это SQL-скрипт, в котором прописано как восстанавливать базу, еще в каталоге есть файлы с расширением dat — в них находится содержимое таблиц.

Нужно открыть restore.sql в текстовом редакторе (лучше использовать Notepad++) и сделать поиск+замену подстроки $$PATH$$ на путь к вашему каталогу, где лежат dat-файлы, например c:/temp/w (последний слэш не нужен). Не забываем сохранить файл.

Теперь нужно очистить dat-файл с данными нашей таблицы, где возникает ошибка. В моем случае у справочника есть еще табличная часть, а значит кроме _reference20 нужно еще почистить и _reference20_vt412. Поиском находим, что это 15523.dat и 15524.dat соответственно. Очистить нужно не буквально, а записать в файл два символа \. (обратный слэш и точка), можно для этого в командной строке использовать

echo \. > XXXX.dat

Находил мнение, что базу 1С для PostgreSQL лучше создавать средствами 1С, не знаю насколько это так, но при танцах с бубнами это может пригодится. Далее в созданную базу будем заливать данные командой psql (вместо pg_restore):

psql.exe —host localhost —port 5432 —username postgres —dbname=w —file=»C:\temp\w\restore.sql»

Ждем окончания процесса, должно получится!

 

Эмулятор кассового аппарата (ККМ) для 1С УТ 11

Возникла необходимость пользоваться функциями розничной продажи в 1С Управление торговлей 11, а именно документами Чек ККМ (и возврат тоже). Чтобы можно было использовать рабочее место кассира, открывать и закрывать кассовую смену, чтобы потом получить отчет по кассовой смене. В 1С УТ 11 этот функционал доступен только при подключенном оборудовании, т.е. фискальном регистраторе (кассовом аппарате). Но в нашем случае кассу ККМ было использовать не обязательно (законодательство позволяет) и её не было. Поэтому было решено не ломать код 1С, а подключить эмулятор кассового аппарата.

Для этого потребовалось:

  1. Настроить виртуальную пару COM-портов, можно использовать для этого программу com0com
  2. Сделать еще множество непростых шагов, особенно в 1С УТ 11, если вам требуется подобная настройка — смело обращайтесь ко мне!
  3. Установить сам эмулятор Cremu

Кстати, в УТ11 есть и встроенный эмулятор, можно использовать его, кому как удобно!

Инструкция для обновления 1С 8 на примере Бухгалтерия 2.0

Инструкция для обновления 1С 8 на примере Бухгалтерия 2.0 предназначена для измененных (но еще на поддержке) конфигураций в режиме конфигуратора (базы без изменений можно обновлять также, но есть способы и попроще).

1. Открываем конфигуратор и первым делом выполняем бэкап базы, укажите имя файла, в который программа поместит копию базы 1С

2. После сообщения об окончании выгрузки можно приступать непосредственно к обновлению

3. Следуем по указаниям на картинках



4. Появится окно сравнения конфигураций, нужно тщательно проанализировать какие изменения предлагаются, чтобы не затереть внесенный ранее функционал. От каких-то обновлений придется отказаться, какие-то накатить, но потом руками заново добавить свои изменения. Какой способ выбрать зависит от каждого конкретного случая. Лучше всего обновление доверить программисту, например, мне 😉, тогда можно быть уверенным, что прошлые доработки никуда не пропадут.

Оставьте галочки там, где требуется обновить метаданные из новой версии и нажмите «Выполнить»

5. Это ещё не всё, нужно также обновить конфигурацию баз данных

6. После этого запустите базу в режиме Предприятие, чтобы завершить обновление с пользовательской стороны

7. Программа сообщит об изменениях в новой версии и на этом всё, процесс обновления закончен, можно работать!

Обмен данными между 1С Бухгалтерия 2.0 и самописной CRM на вебе

Настроил обмен данными между 1С Бухгалтерия 2.0 и самописной CRM на вебе. Из 1С экспортируются данные о выставленных счет-фактурах, импортируются контрагенты и счета на оплату. Обмен через XML-файл на ftp-ресурсе.

Заодно пришлось наводить порядок с контрагентами — чистить дубли, где-то ИНН, КПП неверно были заведены — первоначально полуавтоматическую разовую синхронизацию делал по ним, после этого уже по уникальному коду.

Обмен данными между 1С УТ 11 и Битрикс

Обмен данными между 1С Управление торговлей 11 и сайтом под управлением Битрикс. Моя задача — добавить в выгрузку дополнительные данные по номенклатуре.

У номенклатуры реализовал схему, когда она может быть головной моделью, подчиненной моделью или аксессуаром в рамках одного справочника «Номенклатура».

Естественно в типовом механизме 1С обмена с сайтом это не предусмотрено. Спасибо фирме 1С за отличный типовой код, не часто это бывает. Но с модулем процедур по обмену разобрался достаточно быстро, всё логически выделено.

Сперва добавил в XML выгрузку обычные теги типа <Аксессуары>, но потом выяснилось, что со стороны подрядчика по сайту появилось нежелание учить Битрикс понимать эти тэги. Пришлось переделывать это на громоздкие конструкции, через которые передаются дополнительные реквизиты 1С — <ЗначениеСвойств>.

Вообще этот проект не самый удачный в моей практике, с самого начала не очень хотел за него браться — нет никакого ТЗ, есть только установка, что будем «резать по-живому» и очень укрупненное понимание что нужно делать. Плюс подрядчик по сайту крайне не организован и нетороплив. Но раз взялся, нужно довести дело до конца, благо пока еще за рамки бюджета не вышли.

Настройка бюджетирования в 1С УПП 1.3

До этой задачи финансовой темы я касался и конечно же не раз, но вот чтобы конкретно настраивать источники для бюджета — еще не доводилось. Собственно все основные настройки хранятся в справочнике «Источники данных для расчетов бюджетирования».

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

Справочник "Источники данных для расчетов бюджетирования"

Стало проще настраивать — меньше переключаешься по закладкам и параметры сами «появляются». Ещё убрал очистку настроек источника при каждом изменении запроса, это дико раздражало — чуть изменишь текст запроса и надо настраивать заново.

Подсказка: лучше всего переменные запроса называть зарезервированными наименованиями, тогда не придется настраивать таблицу «Связь с измерениями бюджетирования» (Период, ЦФО, Проект, Контрагент и т.д.). Точные названия можно посмотреть здесь:

Связь с измерениями бюджетирования

Второй справочник, который аккумулирует данные из источников — «Статьи оборотов по бюджетам», здесь для удобства доработал, чтобы при выборе источника (при условии что показатели Сумма и Количество так и названы в запросе) они автоматически заполняются в соответствующих реквизитах статьи оборотов, а также коэффициенты пересчета.

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

Продолжение усовершенствования подсистемы бюджетирования в 1С УПП