Программы учета финансово-хозяйственной деятельности
Текущее время: Пн, 27 фев 2017, 04:56

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
Непрочитанное сообщениеДобавлено: Ср, 27 ноя 2013, 16:14 
Не в сети

Зарегистрирован: Ср, 27 ноя 2013, 03:56
Сообщения: 4
Введение.
Возможно, кому-то это будет интересно...
В небольшом интернет-магазине ведется учет в программе "LS Торговля".
Бухгалтерские услуги на аутсорсе и для бухгалтеров нужна выгрузка первичных документов (приход-расход).

Начальные данные.
Торговля 2.0 установлена на ОС Линукс (дистрибутив основанный на Slackware). Установка проблем не вызвала:
1. Устанавливается wine;
2. Устанавливаем торговлю.
И всё, можно работать.
1С Бухгалтерия 2.0 находится, соответственно в бухгалтерской конторе. Т.к. учет простой УСН, только розничная торговля, то для отражения расхода будут формироваться только документы "Отчет о розничных продажах". Для прихода - "Поступление товаров и услуг".

Что было сделано.
1. Устанавливаем СУБД Firebird для вашей ОС с сайта http://www.firebirdsql.su
2. Пишем скрипт с запросом нужных нам данных:
Код:
connect localhost://home/hamlet/.wine/drive_c/Lugasoft/Toros/data/toros.fdb user SYSDBA password masterkey;
set NAMES WIN1251;
SELECT
   OGLAV.OPER AS "Operation",
   OGLAV.NMR AS "Number",
   OGLAV.DATA AS "Data",
   OGLAV.TIMN AS "CreationTime",
   OGLAV.SUM_R AS "DocSumm",
   DOKUM.PRX AS "Quantity",
   DOKUM.CEN_R AS "DocPrice",
   POSTU.CEN_S AS "PostuPrice",
   S_TOVAR.NAMEP AS "Tovar",
   S_OBEKT.NAMEP AS "Customer",
   "Otpravitel".NAMEP AS "Otpravitel",
   S_OBEKT.ADRES AS "Adres",
   S_GRUP0.NAMEV AS "TovarParent0",
   S_GRUP1.NAMEV AS "TovarParent1"
FROM
   OGLAV
      LEFT JOIN DOKUM
         LEFT JOIN POSTU
            LEFT JOIN S_TOVAR
               LEFT JOIN S_GRUP0
                  ON SUBSTRING(S_TOVAR.TOVAR FROM 1 FOR 1) = S_GRUP0.GRUP0
               LEFT JOIN S_GRUP1
                  ON SUBSTRING(S_TOVAR.TOVAR FROM 1 FOR 3) = S_GRUP1.GRUP1
               ON S_TOVAR.TOVAR = POSTU.TOVAR
            ON POSTU.NTV_S = DOKUM.NTV_S AND POSTU.NMR_S = DOKUM.NMR_S
         ON OGLAV.NMR = DOKUM.NMR
      LEFT JOIN S_OBEKT
         ON OGLAV.OBEKT_P = S_OBEKT.OBEKT
      LEFT JOIN S_OBEKT AS "Otpravitel"
         ON OGLAV.OBEKT_R = "Otpravitel".OBEKT
WHERE
   OGLAV.DATA BETWEEN '01.01.2013' AND '31.12.2013'
;
quit;

Назовём наш файл "script.sql"
3. Пишем скрипт запуска утилиты isql, идущей в комплекте с СУБД, для линукса он выглядит примерно так:
Код:
# Запуск программы
/opt/firebird/bin/isql -q -i ./script.sql -o ./results.txt

для виндовсов будет почти то же самое, только пути нужно прописать другие и с другимы слэшами. Назовём этот файл "script.sh"
4. Уф, самое лёгкое закончилось. Теперь нужно в script.sql выставить нужный период выгрузки и запускаем "script.sh" (в виндовс .cmd или .bat) и получаем результат выгрузки в текстовом файле "results.txt"
5. Теперь самое сложное: написать для бухгалтерии обработку, которая сможет интерпретировать данные из полученного файла в набор объектов 1С. Но, к счастью, обработка такая уже есть и если мне позволит администратор, я хотел бы прикрепить её к сообщению.

Итог
Вот таким нехитрым способом налажен обмен первичными документами между LS Тоговлей и 1C Бухгалтерией. И мы избавлены от необходимости покупать 1С "Управление торговлей" (или "Розницу") и бухгалтера избавлены от ручного набивания документов и справочников.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
Непрочитанное сообщениеДобавлено: Пт, 29 ноя 2013, 03:23 
Не в сети

Зарегистрирован: Ср, 27 ноя 2013, 03:56
Сообщения: 4
А вот и сама обработка, спасибо администрации сайта за возможность прикреплять файлы :)
Это не универсальная обработка на все случаи жизни. А сделана под конкретные задачи. Но вы можете, при необходимости, доработать её под себя. На сайте firebird'а даже есть пример подключения к базе из 1С напрямую.


Вложения:
Комментарий к файлу: Обработка для 1РЎ Бухгалтерии 2.0 для загрузки данных РёР· LS Торговли 2.0
С‚_ЗагрузкаТорос.zip [19.98 КБ]
Скачиваний: 56
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
@Mail.ru