Имя: Пароль:
1C
1С v8
Бизнес-логика и база данных сайта на 1С 8.2 ???
0 es3000
 
31.08.12
20:11
В данный момент я обсуждаю с заказчиком задание: разработка программного обеспечения, реализующего бизнес-логику и работу с базой данных для сайта. Этот сайт функционально очень похож на аукцион типа ebay, но со своими прибамбасами.

Пока предлагается это реализовать следующими способами:
1) PHP, который напрямую взаимодействует с MySQL.
2) PHP + бизнес-логика на .NET + MySQL

С технологиями разработки сайтов я знаком мало.
Но поскольку мне более знакома 1С, у меня появилась мысль реализовать бизнес-логику для сайта на 1С 8.2.

Скажите, пожалуйста, возможно ли такое решение:
сайт на PHP + бизнес-логика на 1С 8.2 + MS SQL?
Делают ли так? Есть ли примеры такой реализации?
Или 1С вообще никак не стыкуется с разработкой сайтов?
1 Мизантроп
 
31.08.12
20:13
очень много умных слов
2 Мизантроп
 
31.08.12
20:14
> Скажите, пожалуйста, возможно ли такое решение:
сайт на PHP + бизнес-логика на 1С 8.2 + MS SQL?

сделать можно что хочешь, но тут или пхп надо исключать или 1с

и дай определение бизнес логике
3 Rie
 
31.08.12
20:15
(0) "Битрикс" не смотрел?
4 Мизантроп
 
31.08.12
20:15
Проще взять цмс типа битрикса, написать все нужное в нем, а из 1с выгружать туда данные и загружать обратно
5 es3000
 
31.08.12
20:19
(2) а почему?
как я понимаю ПХП - используется для разработки сайта, а 1С для этого не предназначена.
То есть у них разные функции и они друг другу не мешают, а дополняют друг друга.
6 es3000
 
31.08.12
20:20
(3) пока не смотрел
7 Rie
 
31.08.12
20:21
(6) Посмотри :-)
8 es3000
 
31.08.12
20:22
(4) специфика сайта такова (аукцион) что должен быть доступ к актуальной базе, выгрузка - загрузка данных этого не сможет обеспечить
9 es3000
 
31.08.12
20:22
(7) а что там смотреть в первую очередь?
битрикс - он большой
10 Rie
 
31.08.12
20:23
(9) Так а ХЗ, что тебе надо-то...
11 Мизантроп
 
31.08.12
20:23
> специфика сайта такова (аукцион) что должен быть доступ к актуальной базе

выгрузка-загрузка это дело 10 секунд, можно и подвинуть транзакцию на это время, не так уж и много у вас будет операций
12 Мизантроп
 
31.08.12
20:24
(9) любую цмс подходящую под нужный функционал, а то и сам напиши, скриптов аукционов в сети куча
13 Rie
 
31.08.12
20:29
(8) А вообще - пригласи специалиста. От доморощенного сайта ("С технологиями разработки сайтов я знаком мало") пользы немного будет.
14 Мизантроп
 
31.08.12
20:31
(13)
+1
будет хоть с кого спросить когда аукцион сорвется по причине глюка софта
15 es3000
 
31.08.12
20:32
(13),(14) дык я же говорю: сам сайт - это не моя часть,
моя часть - взаимодействие с базой
16 kuromanlich
 
31.08.12
20:32
у меня самого "хороший вкус" на изварещения... но то что в (0)...
17 kuromanlich
 
31.08.12
20:34
(16) предлагаю сделать круче, используй 1С только как визуализатор, т.е. работай читая данные из MYsql и записывая туда их если нужно из 1С
18 Мизантроп
 
31.08.12
20:34
(15) пусть спец по сайту и займется, а твоя работа нужные данные выгрузить файлом
19 ProProg
 
31.08.12
20:36
смешной автор)))) взялся за проект в котором ни бум бум)
20 Fragster
 
гуру
31.08.12
20:36
(2) почему?

у нас сделано так: сайт на дотнете (переписывается на пхп) дергает вебсервисы 1с для расчета всякой маркетинговой шелупони, потом для создания документа, который резервирует онлайново товар (т.е. если в 1с док не провелся - то на сайте тоже будет ошибка)
21 Rie
 
31.08.12
20:38
(15) Ну так и какая тебе хрен разница? Пусть специалист по сайтам скажет, что ему надо из 1С получить. А ты ему средствами 1С это выдашь на-гора.
22 Мизантроп
 
31.08.12
20:39
(20) решили уже вопрос, приходи в след. раз
23 es3000
 
31.08.12
20:40
(20) спасибо, товарищ! ты меня понял
я что-то типа такого решения имел ввиду

(22) ни фига не решили!
это ты приходи в след. раз, ты пока ничего толком не сказал, кроме "позови спеца"
24 es3000
 
31.08.12
20:41
(21) так вот меня как раз и интересует подходит ли 1С для того, чтобы работать с базой и выдавать на сайт то что запрашивается из PHP
25 Rie
 
31.08.12
20:44
(24) Подходит. Когда требования к тому, что выдавать, сформулированы чётко.
(1С вообще - в некотором роде универсальный инструмент. Для своего круга задач).
26 es3000
 
31.08.12
20:49
(22) извини, я погорячился :)
подключайся к обсуждению
27 es3000
 
31.08.12
20:51
(25) а как обычно реализуется этот обмен?
типа через XML-файлы?
28 Rie
 
31.08.12
20:54
(27) Хочешь - делай через XML. Давеча, вроде, пробегала тема насчёт SOAP. Если Windows - можешь по COM/OLE подключаться :-) И т.д. и т.п. Вот пусть спец по сайтам сформулирует, что ему надо - а уж обеспечить это можно.
29 es3000
 
31.08.12
20:55
(28) а кто к кому должен подключаться? сайт к 1С-ке?
30 es3000
 
31.08.12
20:56
Почитал про 1С-битрикс...
Как я понял битрикс использует свою БД.
Если его стыковать с 1С-кой, то получается что в работе сайта будет использоваться две БД: одна для битрикса, другая для 1С-ки?
31 es3000
 
31.08.12
20:57
я правильно понимаю насчет битрикса?
просто перед тем как приступать что-то делать я хочу понимать всю архитектуру будущего решения
32 Rie
 
31.08.12
20:58
(29) Сайт к 1С-ке, естественно.
33 Elisy
 
01.09.12
07:33
(0) Вижу 2 варианта:
Технология LinqTo1C (давно работающее решение):
http://habrahabr.ru/post/136415/
Демо:
http://www.linq-demo.1csoftware.com/
Урезанный аналог вашего будущего проекта:
http://www.exportasia.ru/

Сейчас в разработке еще одна технология Elisy Business Connector:
http://www.1csoftware.com/forums/viewtopic.php?f=9&t=719
Суть ее в том, что опубликованная через веб-сервер конфигурация 1С 8.2 рассматривается как набор веб-сервисов. Сейчас доступны библиотеки на Java и .Net/Mono/Silverlight
34 es3000
 
03.09.12
14:05
(33) большое спасибо!
буду изучать
35 kuzja_r
 
03.09.12
23:27
(0) Есть еще вот такой вариант: http://infostart.ru/public/149676/
С помощью внешней компоненты 1С работает как веб сервер, т. е. получает http запросы, возвращает текст и бинарные файлы. Есть разработанный на этой платформе интернет магазин для Управления торговлей 11. Если интересует пишите на rkuzmin собака inbox.lv - вышлю посмотреть.
36 Elisy
 
04.09.12
09:03
(35) Для проекта (0) не советую эту разработку. ExpoServer - это полный аналог
http://infostart.ru/public/104926/
со всеми недостатками из-за которых не был сделан тиражный продукт на основе этого проекта. Именно поэтому веб-севрер внутри 1С я не стал советовать. Он не справится с большим числом запросов только потому, что работает в 1 поток на стороне 1С.
37 BigHarry
 
04.09.12
09:36
Если аукцион - значит ожидается большая посещаемость, и посему - использовать механизмы платформы 1С для получения данных из базы для формирования вэб-страниц - низзя, так как это тормоз, и сайт просто умрет от тысячи запросов в секунду. Поэтому для движка аукциона надо использовать традиционные и проверенные движки и субд, а в 1С просто подключаться к той-же субд для обработки данных.
38 Elisy
 
04.09.12
11:43
(37) Ну почему же. 1С на MSSQL + прямой доступ + кэширование вполне потянет проект на первом этапе. До тысячи запросов в секунду нужно еще дожить, но потенциал для роста в такой конфигурации есть.
39 Karavanych
 
04.09.12
11:52
а вообще если это интернет магазин, есть ли смысл иметь в 1с актуальный остатки в текущий момент времени ?
может утром поступление товаров загружать в базу магазина из 1С , вечером выгружать в 1С продажи ?
40 0Mint
 
04.09.12
12:16
Не будет ли вынос бизнес-логики в Предприятие стрельбой из пушки по воробьям? Тем более аукцион, нетленку собираешься писать? Наверняка есть готовое решение на ПХП, да не одно, которое можно уже сейчас в нуленном виде посмотреть и решить что в его базу регламентными заданиями читать/писать через COM.
41 BigHarry
 
04.09.12
12:18
(38) А что с лицензиями? Зайдут на сайт, допустим не тысча, а триста человек - для выдачи им страниц система должна будет запустить 300 экземпляров 1С-ины, для этого придется иметь некислое количество лицензий.
42 Elisy
 
04.09.12
12:18
(39) (40) необходимость загрузок-выгрузок в/из 1С меня всегда раздражала. Насколько приятно было бы иметь решение, когда данные находятся только в одном месте - в 1С. Ведь теоретически такое решение реализуемо.
43 Elisy
 
04.09.12
12:20
(41) прямой доступ к MSSQL не требует наличия лицензий 1С. Две системы живут сами по себе.
44 BigHarry
 
04.09.12
12:28
(43) Прямой доступ к MS-SQL из PHP не требует (но в идеале, если все строго по закону - то все-же надо отстегнуть майкрософту за клиентский доступ к скулю), а вот прямой доступ их 1C к MS-SQL - все равно нужна лицуха на запуск 1С.
45 Elisy
 
04.09.12
13:37
(44) А зачем запускать экземпляры 1С на каждого пользователя?
Пользователи будут работать по схеме IIS-Asp.Net-MSSQL или Apache-PHP-MSSQL (здесь нет звена 1С)
Интерфейс администратора будет работать по схеме 1C-MSSQL
В этом случае нужна одна/несколько лицензий только для администрирования
46 zelenprog
 
06.09.12
14:07
(38), (43), (45)
Прямой доступ - имеется в виду что у 1С и Apache-PHP будет одна общая база на MSSQL?
Если так, и если база будет чисто 1С-ная, то мне кажется что могут возникнуть трудности связанные с доступом к базе из PHP. Ведь у 1С-ки "своеобразная" структура данных, поди в ней разберись ...
47 0Mint
 
06.09.12
15:48
(46) --> (33)
48 Fragster
 
гуру
06.09.12
16:57
Лицензионное соглашение не позволяет использовать недокументированные фирмой "1С" средства для построения решений на платформе 1С:Предприятие. Это означает, что средства СУБД (или любые другие внесистемные средства) можно использовать только в том случае, если документация по продуктам линейки "1С:Предприятие" (включая ИТС) содержит явную рекомендацию использовать данное средство для решения данной задачи.

Во всех остальных случаях лицензионное соглашение позволяет использовать для построения решений только штатные средства платформы. В частности, можно обращаться к данным информационной базы только при помощи объектов "1С:Предприятия", специально предназначенных для работы с данными (запросы, справочники, документы и т.д.). Нельзя обращаться к данным информационной базы напрямую, минуя уровень объектов работы с данными "1С:Предприятия" - например при помощи средств СУБД или при помощи внешних компонент, которые реализуют прямой доступ к СУБД. Это ограничение распространяется на любые действия с данными, в том числе на изменение их структуры, а так же на чтение или изменение самих данных информационной базы или служебных данных "1С:Предприятия".

Данное ограничение необходимо для обеспечения стабильности работы механизмов системы, осуществления поддержки и возможности перехода на новые версии "1С:Предприятия".
http://v8.1c.ru/predpriyatie/questions_licence.htm
49 Elisy
 
07.09.12
11:48
(46) По поводу PHP ничего сказать не могу, а вот для Asp.Net есть достаточно простое решение через Linq. C# код будет примерно такой:

var товарыНаСкладахИтоги = from товарНаСкладе in dc.GetTable<РегистрНакопленияТоварыНаСкладахИтоги>()
where (товарНаСкладе._Period == началоМесяца)
select new { Номенклатура = товарНаСкладе.Номенклатура, Количество = товарНаСкладе.Количество };

Для новой технологии Elisy Business Connector код будет еще изящнее:

var catalogRowsServer = globalContext.GetServerModule("ElisyBusinessConnector").Invoke<ArrayType>("Query", new object[] {
               String.Format(@"ВЫБРАТЬ
   Справочник.Ссылка КАК Ref,
   Справочник.Наименование КАК Name,
   Справочник.Код КАК Code,
   Справочник.ЭтоГруппа КАК IsFolder,
   Справочник.Родитель КАК Parent,
   Справочник.Родитель.Код КАК ParentCode,
   Справочник.ПометкаУдаления КАК DeletionMark
ИЗ
   Справочник.{0} КАК Справочник", "Номенклатура")
           }).AsParallel().OfType<StructureType>().ToArray();
50 Elisy
 
07.09.12
11:55
(48) Может хватит приводить выдержки лицензионного соглашения 1С, которое нарушает ГК РФ и др. законы. Приводите выдержки из законов. Может даже подумать о том, чтобы написать коллективную жалобу в антимонопольную службу с целью воздействия на компанию 1С. Фактически она является монополистом, который попадает под действия антимонопольного законодательства. А монополисту несолидно иметь лицензионное соглашение, противоречащие законам РФ и другим подзаконным актам. Перед народом стыдно должно быть.
51 mrDru
 
07.09.12
12:01
(0) лучше не мешай 1С и web, т.к. не для оного Нуралиевы ее писали, а значит не даст она тебе хорошей производительности. Если строить магазин, то лучше возьми готовый шаблон на РНР и разберись с ним основательно (например http://www.shop-script.ru/), тем более, что по шаблонам и документации много и написано лучше, чем ты без опыта сделать сможешь. Ну или если шибко хочется шишек набить, то пиши полностью под .Net
52 Fragster
 
гуру
07.09.12
12:05
(50) так кто ж тебя держит? напиши...
53 es3000
 
10.09.12
12:18
(51) Сам же пишешь: "...1С ... не для оного Нуралиевы ее писали", а для чего они ее писали? Для учета, для магазинов и т.д.
А дальше ты пишешь "... Если строить магазин, то лучше возьми готовый шаблон на РНР..."
По-моему противоречие: 1С Нуралиевы как раз и писали для магазинов.
И PHP я считаю гораздо хуже подходит для магазина, чем 1С.

Другой вопрос: как их стыковать. Возможно раньше Нуралиевы про их стыковку не думали.
И если на данный момент более-менее хороших решений стыковки нет, тогда - ничего не поделаешь.

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

Кстати тут советовали почитать про 1С-Битрикс. Так вот Битрикс пишет, что у них есть стыковка с 1С
54 kuzja_r
 
03.10.12
13:25
(36) может и так, но это работает:
http://infostart.ru/public/150178/
http://exponenta.info:8080/
AdBlock убивает бесплатный контент. 1Сергей