Показаны сообщения с ярлыком 1C. Показать все сообщения
Показаны сообщения с ярлыком 1C. Показать все сообщения
воскресенье, 30 июля 2017 г.
Как я делал управленческий учет в Excel
Я работаю обычным аналитиком и, так получилось, что летом 2014 года, участвуя в одном e-commerce проекте, на коленке за 3 недели сделал управленческий учет в MS Excel. Давно планировал и наконец-то решил выложить на Хабр. Думаю, будет полезно малым предпринимателям, понимающим важность управления финансовыми потоками, но не желающим тратить значительное количество времени и средств на ведение управленческого учета. Не претендую на истину в последней инстанции и буду рад иным решениям, предложенным участниками сообщества.
Бизнес, к которому я летом имел отношение, был обычным интернет-магазином одежды премиум и выше сегмента с оборотом около 1 млн рублей в месяц. Бизнес работал, не сказать, чтобы очень успешно, но работал и продолжает работать. Собственник понимал необходимость ведения управленческого учета и, с этим пониманием, взял меня в качестве финансового директора (аналитика/менеджера ...), так как предыдущий ушел из бизнеса за 3 месяца до моего прихода. Собственно, дыра такой же продолжительности была и в ведении управленческого учета. Забегая вперед скажу, что дыру не устранил (решили не ворошить прошлое), но создал систему, которая успешно работает при минимальных трудозатратах и по сей день.
Мой предшественник вёл управленку в Финграде, который оказался весьма мощным инструментом. Например, он позволял автоматически грузить информацию из 1С и выписок разных банк-клиентов, создавая проводки по заранее сформулированным правилам. Вещь, безусловно полезная, однако, при соблюдении системы двойной записи увеличивала время работы в разы. Чтобы избежать увеличения работы этот инструмент позволял генерировать «зависимые проводки». В создании этих дополнительных проводок и была зарыта собака. И тут выяснилось, что за всей мощью Финграда крылась уникальность, обусловившая полное отсутствие экспертизы в свободном доступе. Обычным пользователям (платившим, кстати, 3000 рублей в месяц за доступ к системе) были доступны лишь «Руководство пользователя» на официальном сайте, да 6 видео-уроков там же. Youtube, дававший доступ к ещё паре десятков видеоуроков, также не сильно помогал. Форумов с информацией «how to...» не было в принципе. Поддержка, на конкретные вопросы о правилах создания «зависимых проводок» и просьбах помочь именно в моем случае — морозилась фразами «у нас с вами не заключен договор на поддержку, поэтому на такие специфические вопросы мы не готовы отвечать». Хотя казалось бы — чего специфического в таких просьбах, да ещё и со скриншотами с моей стороны? Понятно, что все можно бить руками, но спрашивается, а зачем тогда вообще платить за инструмент, который сильно увеличивает время, необходимое на ведение управленки и не дает никаких преимуществ для малого бизнеса?
Убедив собственника в нецелесообразности использования «Финграда» при таких объемах бизнеса и выгрузив всю информацию из системы, я поставил на нем БОЛЬШОЙ и жирный крест. При этом решение уйти именно в MS Excel было не спонтанным. Хорошенько загуглив на тему ведения управленческого учета находил монстров, похожих на «Финград», либо ссылки на веб-приложения для ведения личных финансов, в то время как основными требованиями к системе были:
— возможность ведения БДДС и БДР на основе изменяемого плана счетов;
— простота в дальнейшем ведении управленческого учета (в том числе силами «финансово-неграмотных» пользователей);
— гибкость (возможность на ходу расширять/убирать функционал);
— отсутствие перегруженности инструмента/интерфейса.
Для начала проясним термины: будучи не финансистом, под БДДС понимаю «Баланс Движения Денежных Средств», БДР — «Бюджет Доходов и Расходов». БДДС считаем кассовым методом (днем совершения операции — колонка «Дата операции») и используем для операционного day-to-day планирования, а БДР методом начисления (колонка «Период начисления») для стратегического, в рамках года и более.
Итак, как все устроено и как оно работает (в идеале):
1. Управленческий учет собирается на основе информации вводимой конечными пользователями при помощи формы в Google Docs. Красным помечены названия полей и кодировки вариантов в конечном файле управленческого учета — своего рода мапинг полей.

2. В итоге выглядит оно так (зеленым залито то, что перенесено в итоговый файл управленки).

3. Управленческий учет построен на базе .xls выгрузки из Финграда (отсюда странные для сторонних пользователей названия и, в целом избыточное количество колонок). Убедительная просьба не воспринимать всерьез значения колонок «Приход», «Расход» — многое рандомно изменено.

Механизм заполнения прост: аккуратно переносим во вкладку «Общая книга» из формы Google Docs и банковских выписок. Красным выделены строки, используемые для формирования БДР, зеленым — БДДС., которые представляют собой сводные таблицы и строятся на основе промежуточных вкладок с говорящими названиями. Единственные колонки, информация в которых не связана с иными источниками: «Исходный ID» (уникальные значения строк) и «Дата создания» (=ТДАТА(), а затем копируем и вставляем как значение)
4. Статьи ДДС (движения денежных средств) располагаются на отдельной вкладке «ПС_служебный» и вполне могут регулярно пересматриваться в зависимости от конкретных потребностей (не забываем обновлять формулы на листах «Данные_БДДС», «Данные_БДР»).

5. На картинке образец БДДС, в формате по умолчанию, свернутый до понедельной «актуальности».

6. Образец БДС (помесячный). Обратите внимание на уже упоминавшийся выше тезис об использовании строк из «Общей книги»: Бюджет и Факт для БДР, План и Факт — для БДДС.

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

8. Собственно сам файл управленческого учета.
PS: Долго думал над тем, как автоматизировать процесс «перелива» информации из формы Google Docs, пока не пришел к мысли о необходимом ручном контроле вводимой разнородной информации (много людей заполняет формы + наличие минимум одного банк-клиента + 1С). Тем более не знаю VBA… Отдаю на суд хабрасообщества как есть, надеюсь, кому-нибудь поможет или просто будет интересно.
суббота, 29 июля 2017 г.
Автоматическая архивация данных 1C c помощью WinRAR
Иногда случаются казусы типа: БД «рухнула», кто-то что-то совершенно «случайно» грохнул, или вообще HDD скончался…. Первая мысль: сейчас бы архивчик…. А его частенько нет, ибо любим мы на русский «авось» полагаться. Предлагаю универсальный и безотказный способ автоматической архивации, не требующий ничего потустороннего, только известный всем архиватор WinRAR. Потратите 5-10 минут на настройку, и Вы спокойны.
Общее описание
Метод основан на сочетании возможностей Windows (назначенные задания) и архиватора WinRAR (управление из командной строки), WinRAR потребуется «необрезанный».
Настройки «Назначенного Задания» позволят установить:
- -Каким образом будет запускаться задание: при включении компьютера, по графику, вручную.
- -Из какого режима работы компьютера будет запускаться задание: из рабочего или спящего.
- -Дополнительные настройки для ноутов и прочего антиквариата ПК.
Настройки WinRAR позволят: указать адрес архива, каталоги/файлы/списки для архивации. Уточнить состав архива по принципам: расширения файлов, время создания, наличие/отсутствие в архиве, «освежить» архив (обновить только файлы, которые в архиве есть), добавить файлы, вновь появившиеся по архивируемому адресу, удалить те, которые «пропали», впрочем, о возможностях WinRAR позже на примерах.
ВНИМАНИЕ! Если в настройках Winrar не указаны каталоги/файлы/списки для архивации, а указан только адрес архива: WinRAR займётся архивацией всей системы, и всего того, что доступно системе в данный момент. Это может привести к «нехорошему».
Проверено для: Windows 2000/2000 Server/XP/Server 2003/Windows 7/Server 2008.
Настройки на примерах
Описание по принципу: цель – способ решения, отклонения не описываю, только краткая справка в скобках. Уверен, на основе примеров Вы сможете составить именно Ваше задание. Итак:
1
ЦЕЛЬ: 1 раз в неделю архивировать все БД 1с, лежащие в одном каталоге. Задание должно добавлять в архив новое, удалять отсутствующее, статичные (неизменённые) файлы не трогать: обрабатываться будут только файлы: вновь созданные, изменённые, удалённые. На «автоматике» это будет выглядеть так:
Создаём в Windows новое "назначенное задание". Запускается мастер. Предлагает выбрать программу. Естественно, выбираем WinRAR. Пишем имя Задания, когда ему выполняться. Пошагово заполняем..., включите «Установить дополнительные…».
Что? Пишет, что работать не будет? Поэтому: открываем наше задание (входим в Панель Управления - Назначенные Задания), включаем флаг «Выполнять только при выполненном входе в систему», переходим на закладку «Параметры» и включаем «Разбудить комп…». Это надо для того, чтобы компьютер, оставленный в спящем режиме, «проснулся» для выполнения задания. Для запуска в назначенное время "разрешаем" компу использовать Спящий режим. Если по графику задание должно запуститься, к примеру, ночью, вечером перед этим комп не выключаем, а переводим в спящий режим. В нужный момент комп проснётся, выполнит, а может и выключиться после завершения, такая возможность есть в настройках WinRAR.
Итак, настраиваем WinRAR. Открываем задание, в первой строке «Выполнить» видим примерно:
C:\PROGRA~1\WinRAR\WinRAR.exe
Это полный путь запускаемой программы. Слово WinRAR может заменить эту строку, т.к. для Windows это УЖЕ команда.
WinRAR – заменитель.
В этом состоянии наше задание работоспособно, но оно только запустит программуWinRAR. Теперь настройки.
Настройки пишутся в параметре «Выполнить» после уже имеющегося (C:\PROGRA~1\WinRAR\WinRAR.exe) через пробел.
Общий синтаксис командной строки:
WinRAR – – //в этом примере «
Что требуется для нашего задания:
WinRAR u -as F:\Arhiv\Data_1C.rar D:\Data_1C //выделил цветом сегменты строки. По цвету и комментарии.
u – команда. Обновляет файлы в архиве, обрабатывает только изменённые и добавляет новые.
-as – ключ. Удаляет из архива файлы, отсутствующие в источнике.
Таким образом, комбинация команды и ключа синхронизирует архив с исходными данными.
F:\Arhiv\Data_1C.rar – это наш архив с адресом. Архив, хоть пустой, уже должен быть по указанному адресу.
D:\Data_1C – архивируемые данные. В данном случае – каталог.
ИТАК, порядок: команда – ключ/ключи – архив – файлы/@файл-список. Разделитель «_» (пробел).
В дальнейшем повторяться не буду. Только комментировать отличия.
2
ЦЕЛЬ: архивировать ценные данные (документы, избранное и пр.) ежедневно. Чтобы процесс не отвлекал, включает и выключает комп на автомате, добавлены 2 новых ключа. Отличие от 1-го задания в том, что данные находятся в разных каталогах. Придётся использовать файл-список. Файл-список – это текстовый файл, в котором:
-первая запись начинается с первого символа первой строки
-последующие записи начинаются с новой строки
-ни каких лишних символов, комментариев и пр.
Если указываете вместо адреса данных файл-список, учтите, в этом случае параметр (адрес файла) начинается с символа @ (собака).
В файл-список можно включать файлы, каталоги, выбрать файлы по расширению и пр.
Нам потребуется строка :
WinRAR u -as –dh – IOFF F:\Arhiv\Doc.rar @C:\SpisokArh.txt
-dh – позволяет архивировать открытые в данный момент файлы. Включил потому, что частенько компьютер отправляю в «спячку» с открытыми документами и программами (кроме 1с). При этом самое плохое – в архив пойдёт и несохранённая копия файла. А это не критично, т.к. при открытии такого архива компьютер «вспомнит» о несохранённых версиях. Что с ними делать – Ваше дело.
-IOFF – выключение компьютера после завершения архивации. Т.о., компьютер это делает совершенно самостоятельно. Одно НО: именно ВЫКЛЮЧЕНИЕ, а не переход в спящий режим. В связи с этим рассчитывайте размещение заданий во времени, если у Вас несколько заданий на ночь, используйте этот ключ только на последнем задании, да так, что-бы этот ключ не "тормознул" другие задания, которые не успели завершиться.
@C:\SpisokArh.txt – файл-список. Вот его текст:
D:\Doc
C:\Documents and Settings\Admin\Избранное
C:\Documents and Settings\Admin\Рабочий стол\Закачки
Не буду описывать все вариации, которые использую, думаю, у Вас фантазии на большее хватит, я лишь намекнул. Читайте справку WinRAR, там полные списки ключей и команд, рекомендации по использованию.
Дополнительно
- WinRAR способен архивировать открытые в данный момент файлы (читай: открытые БД 1С), но! Если архивировать БД «на ходу» может получиться такое… 1с-ка во время архивации БД может изменить файлы, в архиве БД получится, что файлы *.dbf не согласованы. Отсюда правило: на момент архивации все архивируемые данные (1C) должны быть закрыты. Для прочих (MS Office) не актуально.
- Новый архив автоматически не создаётся! Необходимо указывать уже имеющийся, хоть пустой.
- При заполнении нового архива процедура может затянуться на…, потом всё будет работать в соответствии с заданными параметрами.
P.S.: Извиняюсь за скудность примеров: описал только самое наглядное. Дальше – дело Ваших потребностей и фантазии. Читайте справку WinRAR, раздел "Режим командной строки".
пятница, 28 июля 2017 г.
Обмен данными в распределенной базе через e-mail.
Если у вас нет финансов для покупки отдельного сервера под 1С или вы просто не хотите пока вкладывать денежные средства для развития этого программного продукта, но у вас есть острая необходимость в обмене данными между двумя удаленно расположенными пользователями, то в данной статье я расскажу как настроить обмен данными без финансовых вложений по средствам e-mail.
Итак, вы стали счастливым обладателем 1С версии 8.2, настроили и заполнили ее, но в один прекрасный момент осознали, что одного рабочего места вам мало. Причин на то может быть много: появилось обособленное подразделение (склад, например); бухгалтер заболел и ему нужно работать из дома; или просто руководитель хочет отслеживать что происходит на его фирме, но постоянно находится в разъездах и не имеет частой возможности приехать лично, а постоянные звонки отвлекают персонал от основной работы.
Выходов из данной ситуации много. Я покажу как обойтись наименьшими финансовыми вложениями. Ведь не у всех сразу есть свободные денежные средства для покупки отдельного сервера. Настройка ftp доступа тоже не всегда подходит, так как либо нужен хостинг, что требует вложений, либо основной компьютер с настроенным локально FTP должен быть включен 24 часа в сутки, что не лучшим образом сказывается на его работоспособности и долговечности.
Выход – создать распределенную базу. В 1С 8.2 есть 3 способа обмена данными между базами: на локальном уровне, когда компьютеры соеденены в сеть; по доступу ftp; при помщи e-mail. Как сделать распределенную базу первыми двумя способами написано уже много. Я покажу как настроить обмен через электронную почту.
Для начала нужно зарегистрировать отдельный ящик, на mail.ru, скажем. Можно, конечно, использовать существующий, но это, на мой взгляд, не совсем удбно. Ведь через этот ящик будут проходить множество сообщений с вложенными файликами, среди которых может затеряться важное вам сообщение.
Лучше пользоваться распространенными почтовыми сервисами, так как на них проще найти информацию по настройке почтовых клиентов (таких как The Bat, OutLook и т.д.), так как настройки в 1С будут эдентичными с настройкой почтового клиента.
Теперь непосредственно перейдем к настройке 1С.
1.Для того чтобы у вас появился в 1с слева пункт «Обмен данными». Нужно зайти в «Настройка параметров учета».
Далее слева выбираем пункт «Обмен данными», ставим галочку «Использовать обмен данными» и назначем префикс распределенной базы. Это могут быть любые 2 буквы.
После этого у нас слева появилось меню «Обмен данными» в разделе «Администрирование».
Нажимаем на «Обмен данными», в появившемся меню кликаем на «создать» и выбираем «Создать обмен в распределенной информационной базе".
Следующие шаги, думаю, нет смысла комментировать. Делаем всё по картинкам.
Тут расскажу по-подробнее.
В самом начале сататьи было рекоммендовано создать отдельный почтовый ящик. Именного его мы вписываем в гарфы "Почтовый адрес" и "пользователь".
Ставим галочку "Запоминать пароль". Это нужно, чтобы обновление происходило без лишних вопросов.
Так же следует поставить галочки "Использовать для отправки" и "Использовать для получения".
Что касается Сервера входящей и исходящей почты, то тут у каждого почтового сервиса они разные. В моем случае они совпадают.
Для mail.ru, например, сервер входящей почты будет pop.mail.ru, а исходящей imap.mail.ru.
Информацию по серверам можно узнать в службе поддержки вашего почтового клиента. Так же есть смысл проверить порты, через которые идет прием\отправка сообщений. Это можно проверить, нажав, "Дополнительные настройки сервера почты". После того, как все данные введены, нажимаем "Записать и сохранить".
На данном этапе стоит проверить всё ли правильно мы сделали. Для этого нажимаем "Проверка учетной записи"
Если есть ошибки, то стоит опять вернуться назад и перепроверить, как написаны сервера почты (часто вместо pop.mail.ru пишут pop@mail.ru) и порты через которые отправляются\принимаются сообщения.
Если всё хорошо, то появится следующая запись.
Нажимаеи "ОК" и закрываем окно.
Теперь наша учетная запись настроена, можем переходить к следующему пункту.
На следующем этапе нужно указать названия для двух баз. Названия должны быть интуитивно понятные, чтобы не запутаться кому какая база предназначается. В качестве основного способа обмена нужно выбрать "Обмен по почте". В префиксе второй информационнной бызы нужно указать две буквы, отличные от префикса первой базы, который мы уже назначили в начале статьи.
Теперь у нас всё готово для создания распределенной базы. В двух последующих окошках нажимаем "Далее".
Теперь мы уже непосредственно создаем файл информационной базы. Для этого нужно выбрать папку, куда эту базу сохранить.
Запомните этот путь, чтобы потом без труда найти файл базы. Хочу обратить внимание, что мы выбираем папку. Не стоит искать на компьютере файл 1Сv8.1CD. Он допишется автоматически после выбора папки. Нажимаем "Создать начальный образ".
После этого в правой нижней части экрана появится следующее окошко.
Процесс создания базы достаточно продолжительный по времени. Время зависит от размера самой базы и мощности компьютера на котором данная база создается. Поэтому можно смело пойти поставить чайник и попить чай или кофе.
После кофе-паузы, когда вы вернетесь за компьютер, то должно появиться сообщение об успешном завершении создания бызы.
Поздравляю! Распределенная база создана. Но ведь не совсем удобно каждый раз нажимать на кнопки, чтобы произошел обмен данными между базами. Для этого в 1С 8.2 предусмотрены сценарии, которые позволяют настроить дату, день недели, время, периодичность обновления. Для этого кликаем правой клавишей мыши по нашей базе и выбираем "Настроить сценарии обмена данными..."
Нажимаем "Добавить"
Нажимаем на надпись с часиками как на картинке.
Настройка сценариев состоит из четырех закладок. В 1С 8.2 предусмотрен достаточно гибкий механизм настройки. Я приведу пример настройки для обновления с 8 утра до 8 вечера с периодичностью в 1 час (3600 секунд). После настройки, нажимаем "ОК".
Теперь на надписи с часиками, которую мы нажимали, появилась введенная нами информация по времени обновления. Нажимаем "Записать и сохранить", чтобы наши данные не потерялись.
Сценарий обновления создан, можно закрыть окошко.
Итак, у нас есть настроенная на автоматическое обновление основная база и файл с распределенной базой.
Многие не знают что же теперь с этим файлом делать.
Файл распределенной базой (в моем случае это было D:\Распределенная база\1Сv8.1CD) нужно сохранить на второй компьютер, который находится удаленно от нашей базы. Можно записать ее на диск и отправить по почте. Если не очень далеко, то сохранить на флэшку и скопировать на жесткий диск второго компьютера. Ну или просто залить на файлообменник, чтобы вторая сторона ее скачала. Главное, чтобы сохраненный файл с распределенной базой оказался на жетском диске второго компьютера.
Основную базу трогать не стоит. Она остается в том виде, как мы ее настроили.
Итак, чудесным образом файл на второй компьютер сохранен.
Теперь, как обычно, мы добавлем новую базу к 1С ( у меня уже есть подключенная конфигурация, у вас скорее всего это окошко будет пустым). Подробно останавливаться как подключить конфигурацию я не буду, об этом достаточно написано. На всякий случай выложу картинки.
Тут указываем путь к файлику с распределенной базой, который мы перенсли с первого компьютера.
После запуска подключенной конфигурации с распределенной базой у нас выскочит окно, которое мы уже видели при создании распределенной базы. На втором компьютере делаем всё по аналогии как мы делали на первом.
Готово. Теперь заходим в "Администрирование" - "Обмен данными".
У нас теперь и на втором компьютере есть задание на Обмен данными. По аналогии с первым компьютером настраиваем Сценарии обмена. Они могу отличаться от первой базы. Еще раз описывать не буду, если кто забыл как это делать, вернитесь чуть назад и посмотрите как мы делали сценарий для основной базы.
После того, как сценарии обмена создан, можно проверить работает ли обмен (таким же образом можно обновлять принудительно базу, если время обмена еще не подошло, а вам в сею минуту нужно отправить или получить данные). Нажимаем "Выполнение обмена данными" - "Выполнить автоматически".
В следующем окошке нажимаем "выполнить обмен". Так как информация с обменом данными занимает несколько килобайт, то обмен происходит достаточно быстро.
Первый раз запустив на одном из компьютеров обновление, вы увидете, что выгрузка произошла успешно, а вот загрузка с ошибкой. Это связано с тем, что на втором компьютере еще никакие данные не отправлены и обновлять, собственно, нечего, ведь файликов на почте нет пока.
После того, как вы таким же образом запустете обновление на втором компьютере, то получете информацию об успешном обновлении. Ведь с первого компьютера данные отправлены. Второй компьютер получил данные от первого и в свою очередь отправил свои данные на почту.
Теперь, запустив обновление на первом компьютере, там где у нас была ошибка, мы также получим информацию об успешном обновлении. Как вы видете, на предыдущей картинке у нас обновились данные со Офисом, на данной картинке со Складом.
Если у вас снова появится сообщение, что данные не обновлены, не стоит вдаваться в панику. Это означает, с другой стороны не было никаких изменений и обновлять, собственно, нечего.
Подведем итого. При помощи обмена данными через e-mail вы получете полноценный обмен данными между двумя пользователями 1с. При этом вам не придется вкладывать деньги в отдельный сервер и програмное обеспечение или сервер с FTP доступом, не нужно постоянно держать включенным один из компьютеров с открытым ftp доступом. Единственное, что вам понадобится - это доступ в интернет, а уж его можно найти в наше время практически везде.
Конечно, для серьезных компаний с большим количествов пользователей или пусть не больших компаний, но располагающих достаточным количеством денежных средств, эта статья не подойдет. Ведь, без сомнения, связка Windows Server 2008 + SQL Server 2008 + 1С 8.2 - имеет огромное преимущесто. Но для тех, кто, в силу ряда причин, не имеет возможности или по-просту не хочет вкладыать деньги, а необходимость в обмене данными существует, эта статья, на мой взгляд, будет очень даже полезна.
Спасибо за потрченное на данную статью время и удачи!











