Имя: Пароль:
1C
1С v8
1С Web-клиент
0 LapoTb
 
04.07.13
10:24
Есть задача: реализовать личный кабинет клиента организации. Чтобы он мог видеть свои счета/оплаты и всякие отчеты типа акта сверки.
Пускать его в главную базу нет никакого желания (а ну как к работающим 100 человекам добавится еще 1000 клиентов и все разом начнут формировать сложные страшные отчеты).
1 Cube
 
04.07.13
10:26
(0) Веб клиент будет кушать 1 лицензию на каждый коннект. То есть, вы готовы купить ещё 1000 лицензий?
2 Либерал
 
04.07.13
10:26
с нетерпением жду продолжения этой захватывающей истории
3 Cube
 
04.07.13
10:27
(0) Мне кажется более правильным вариант через веб-сервисы...
4 LapoTb
 
04.07.13
10:30
(2) форум глюкнуло %-)

к(0).
Решили сделать мини базу, содержащую "выжимку" интересной для клиента информации и опубликовать ее в нете (обновлять ее будет раз в час, например).
Встал вопрос - при таком раскладе имеет ли смысл вообще использовать 1Сину? Или проще выгружать инфу в виде каких-нибудь файликов xml и веб клиентом отображать ее пользователю по запросу?
И что безопасней? И вообще есть ли какие-то адекватные примеры использования веб-клиента от 1С для пользователей вне организации (доступ для сторонних клиентов)?
5 Cube
 
04.07.13
10:32
(4) "обновлять ее будет раз в час" - всё, суши весла. Тут твоя работа кончилась, повози веб-программиста, он всё сделает. 1С тут уже не при чем.
6 Balonbl4
 
04.07.13
10:38
(4) Не дело для этого 1Сный веб клиент использовать. Во первых - тормозит, во вторых, закалебетесь клиентам объяснять почему в хроме не работает, и как отключить блокировку всплывающих окон в IE и т.д.
Это не голословно,это - опыт(
7 LapoTb
 
04.07.13
10:38
(5) Зная клиента, предвижу ВНЕЗАПНОЕ расширения функционала вида: а давайте клиенты сами инфу будут вносить/изменять в базу + чтобы и они работники организации обновления в информации видели сразу. А тут уже неохота чисто вебом пользоваться.
8 Cube
 
04.07.13
10:41
(7) "Зная клиента"...
Знал бы ты веб-клиент... (6) всё верно говорит. 1С - учетная система, а пользователи интернета привыкли к скорости и бантикам. Этого в веб-киенте 1С нет. Забудь и позови веб-программиста.
9 LapoTb
 
04.07.13
10:46
(6),(8) А почему это тормозит? Там формы для отрисовки будут наимпримитивнейшие и с минимумом элементов. Ну отчеты в mxl формироватся будут как положено (т.к. они так уже есть).

(8) С хромом обойдутся! IE и MF наш выбор :-) Это не принципиально. Мы контора 1Сная. Веб-программера потом (см. 7) пойди найди и скорее всего он заявит, что нужно ВСЕ переделывать с нуля (что логично, т.к. синхронизация нужна будет в обе стороны).

На самом деле все банально: охота посмотреть, что за зверек вообще веб-клиент 1Ски и какой от него практический толк + деньги не охота на сторону отдавать.
10 Cube
 
04.07.13
10:48
(9) Ты (1) читал?
11 Balonbl4
 
04.07.13
10:50
ТС, ты зачем тему создал, если советов не хочешь слушать? Так, поговорить?
12 Cube
 
04.07.13
10:50
(9) "А почему это тормозит?"
Лучше 1 раз увидеть: http://demo.1c.ru
13 LapoTb
 
04.07.13
11:01
(10) Вполне готовы.
(11) Нужно понять практический смысл веб-клиента от 1С. И постараться реализовать поставленную задачу именно на нем, т.к. держать вебкодера смысла нет, а для постоянных доработок (которые 100% будут) постоянно дергать человека со стороны нет никакого желания.
(12) Ни разу не тормозит. Не самолет, но вполне комфортно для просмотра отчетов и внесения небольшого объема информации. Другой вопрос, как это будет работать, если одновременно залогинится человек 50-100, но думаю ненамного медленней.
14 Адинэснег
 
04.07.13
11:03
ws
16 LapoTb
 
04.07.13
11:06
(14)(15)
Я так понимаю была попытка показать работающий для сторонних клиентов "сайт" на базе 1Сного веб клиента?
17 Cube
 
04.07.13
11:09
(13) "Не самолет, но вполне комфортно"
Давай-давай... Клиенты тебе потом всё скажут, ты не переживай.
18 WhiteCat
 
04.07.13
11:11
(4) Раз так, то наймите php-ника, он слепит вам базу на MySQL и веб-морду - будет значительно удобней и быстрее, чем доступ к веб-клиенту. И хостить можно где угодно.
19 sikuda
 
04.07.13
11:23
(0) Надежней сделать отдельную базу и выгружать туда всю информацию. Да по цене (18).

Там даже для Web-сервиса в 1С нужна обязательно юридически лицензия.
20 ХомаБрут
 
04.07.13
11:23
а если бы 1С не была такая охочая до денег, она смогла бы подвинуть php-шников и протчая с рынка.
P.S.
у меня то, что спрашивает ТС работает. чуваки остатки смотрят риал-тайм. чтобы не задалбывать по телефону
21 LapoTb
 
04.07.13
11:24
(18) При реализации на пхп придется, например, создавать ВСЕ отчеты заново. А их немеряно + там есть достаточно сложные и заковыристые + иногда их надо изменять. Я уж не говорю о том, что клиенты привыкли к внешнему виду печатных форм отчетов.
К тому же любое изменение объема выводимой информации приведет к необходимости переделывать не только базу но и веб-морду.
А с 1Сным клиентом достаточно будет просто обновить саму конфигурацию - минимум затрат.
22 sikuda
 
04.07.13
11:27
(21) Вот так начинаешь понимать, что 1С отлично отлаженная финансовая компания. И каждый 1С-ник должен знать лицензии наизусть http://www.v8.1c.ru/predpriyatie/questions_licence.htm
23 sikuda
 
04.07.13
11:29
(21) И отчеты все на СКД?
24 WhiteCat
 
04.07.13
11:31
(21) Так вы же все равно мини-базу собираетесь делать. Ясно, что php потребует доп. ресурсов при разработке, но в итоге окупится. Представь, какой сервак должен быть, чтоб он смог схавать подключения от 1000 клиентов. И стоимость лицензий посчитай...
25 LapoTb
 
04.07.13
11:37
(20) О! Можно поподробней?
- Сколько пользователей одновременно работает?
- База рабочая одна или основная + содержащая минимум информации для клиента?
- Проблемы с безопасностью (любые) были?
- Если отдельная база для клиентов: у них доступ только на чтение или чтение/запись?
26 LapoTb
 
04.07.13
11:47
(23) Да.
(24) Есть подозрение, что там по времени и по деньгам будет очень круто, т.к. по сути придется все делать с нуля и разбираться в уже существующих отчетах/документах. И придется все модификации оплачивать. А на 1Ске считай уже все готово. Немного обрезать имеющийся функционал (лишний для пользователя) и можно хоть сейчас публиковать.
27 Cube
 
04.07.13
11:47
(21) В случае, если клиенты - это сотрудники, которые должны удаленно что-то делать, то я бы смотрел в сторону мобильного клиента...
28 WhiteCat
 
04.07.13
11:49
(26) Можно тогда попробовать выгружать некую базовую информацию, а отчеты из основной базы через SOAP дергать.
29 sikuda
 
04.07.13
11:55
Если отчеты не замороченные то http://infostart.ru/public/167093/
30 LapoTb
 
04.07.13
12:02
(27) Клиенты - это конечно не сотрудники, но ребята кровно заинтересованные в более оперативном получении информации. И как выяснилось постоянно пользоваться подобным сервисом их будет около 50. Так что 1000 лицензий покупать не придется :-)
(28) Интересный вариант. Будем думать. Но тут опять вебкодер нужен будет и отчеты в удобоваримое для веба переделывать.
(29) Класс! Но у нас, к сожалению, не настолько простые отчеты. Хотя 90% можно, наверное, и так загнать.
31 WhiteCat
 
04.07.13
12:03
(29) Там таблица результата запроса формируется построчно - в топку
32 WhiteCat
 
04.07.13
12:04
(30) >> "отчеты в удобоваримое для веба переделывать" - я вас умоляю, это делается двумя строчками кода - поле табличного документа сохранить в формате html и потом прочитать в виде строки, которую выпихнуть в качестве ответа браузеру.
33 Fragster
 
гуру
04.07.13
12:08
сайт на php, который запрашивает по вебсервисам данные у 1ски по расписанию или по запросу, если оперативность нужна
34 WhiteCat
 
04.07.13
12:10
+(32) Вот тебе готовый код функции, которая так делает, правда только для печатной формы одного вида:

Функция ПолучитьСчет(invoiceID)
   
   Перем Результат;
   
   Результат = "";
   
   // Найдем счет с указанным ИД
   ЗаказСсылка = ПолучитьЗаказСУказаннымID(invoiceID);
   Если ЗаказСсылка = Неопределено Тогда
       Результат = Результат + "Не найден заказ с указанным номером"
   КонецЕсли;
   
   // Формируем печатную форму заказа
   МассивДокументов = Новый Массив;
   МассивДокументов.Добавить(ЗаказСсылка);
   СтруктураТипов = Новый Соответствие;
   СтруктураТипов.Вставить("Документ.ЗаказКлиента", МассивДокументов);
   ОбъектыПечати = Новый СписокЗначений;
   ПараметрыВывода = Новый Структура;
   ПараметрыВывода.Вставить("ДоступнаПечатьПоКомплектно", Ложь);
   ПараметрыВывода.Вставить("ПолучательЭлектронногоПисьма", "");
   ПараметрыВывода.Вставить("ОтправительЭлектронногоПисьма", Неопределено);
   ТабДок = Обработки.ПечатьСчетовНаОплату.Доработка_СформироватьПечатнуюФормуСчетНаОплату(СтруктураТипов, МассивДокументов, ОбъектыПечати, ПараметрыВывода, Ложь);
   ТабДок.Записать("D:\ххххххххх\temp\invoice.html", ТипФайлаТабличногоДокумента.HTML);
   ТекстДок = Новый ТекстовыйДокумент;
   ТекстДок.Прочитать("D:\ххххххххх\temp\invoice.html", "UTF-8");
   Результат = Результат + ТекстДок.ПолучитьТекст();
   
   Возврат Результат;
   
КонецФункции
35 WhiteCat
 
04.07.13
12:14
И код скрипта для вызова веб-сервиса 1С:

<?php
   $client = new SoapClient("http://89.20.130.166/ut_77/ws/siteex.1cws?wsdl",array(
       "trace"      => 1,
       "exceptions" => 0,
       "login" => "ххххх",
       "password" => "yyyyy"));

   $a["invoiceID"] = $_POST[invoiceID];
   $result = $client->getinvoice($a);
   $inv_text = $result->return;

   // Обрабатываем полученный текст счета

   // Меняем кодировку
   //$inv_text = str_replace("CHARSET=utf-8", "CHARSET=windows-1251", $inv_text);

   // Добавляем скрипт и кнопку распечатки
   $inv_text = str_replace('<HEAD>', '<HEAD><script language="javascript">function printPage(){document.getElementById("PrintButton").style.display="none";window.print();document.getElementById("PrintButton").style.display="";}</script>', $inv_text);
   $inv_text = str_replace('</BODY>', '<br><br><input type="button" id="PrintButton" value="  Печать  " onClick="printPage()"></BODY>', $inv_text);


   // Выводим результат на страницу
   echo($inv_text);
?>
36 LapoTb
 
04.07.13
12:16
(32)(34)(35) Никогда подобным не заморачивались, увы. Но работает. И работает так, как надо. Теперь осталось разобраться как дать пользователю на пхп настраиваемые отборы для этих отчетов и будет вообще хорошо.
37 LapoTb
 
04.07.13
12:18
(35) меня только смущает явное указание логина/пароля в коде :-)
38 Diversus
 
04.07.13
12:20
(37) Так это же PHP пользователь этого не увидит. Пользователю будет показано все, что будет выведено в:

$inv_text = str_replace('<HEAD>', '<HEAD><script language="javascript">function printPage(){document.getElementById("PrintButton").style.display="none";window.print();document.getElementById("PrintButton").style.display="";}</script>', $inv_text);
   $inv_text = str_replace('</BODY>', '<br><br><input type="button" id="PrintButton" value="  Печать  " onClick="printPage()"></BODY>', $inv_text);
39 Diversus
 
04.07.13
12:21
точнее echo($inv_text);
40 WhiteCat
 
04.07.13
12:21
(36) Выгрузить из 1С исходные данные для отборов и возможные поля отборов - они из СКД вытягиваются в легкую
41 WhiteCat
 
04.07.13
12:24
В общем если что - обращайтесь, напишем вам все, будет дешевле, чем кучу лицух покупать )))
42 LapoTb
 
04.07.13
12:28
(41) Вопрос цены у нас завтра будет обсуждаться. Будем считать затраты на создание и публикацию "клиентской" базы. Ну и пхпшники обещались на днях выставить предварительный счет. Судя по их хитрым лицам, там будет много цифр в графе "итого".

А вносимую пользователем информацию на вебстранице можно будет так же оперативно загружать в базу (после проверки)?
43 sikuda
 
04.07.13
12:31
(35) Хороший метод. Можно даже без php на javascript.
(40) А готовый пример есть?
44 sikuda
 
04.07.13
12:35
(35) Ага понятно Группировки срезаем(+открыть или закрыть группировку, выбор уровня группировок). В конечном результате из нет.
45 Cube
 
04.07.13
13:12
LapoTb да всё это гемор! Я уверен на 95%, что клиентам не нужны забабашенные отчеты со сложной компоновкой результата... Всё можно сложить в простые таблицы и выдавать в удобоваримом виде через веб-сервисы.
Причем это будет ОНЛАЙН и лицензии 1С не потребуются...

Ты про веб-сервисы слыхал вообще?

Но сразу говорю, что с веб-сервисами будет тормознутее, чем на чистом вебе + своя база данных, но быстрее, чем веб-клиент.
46 Cube
 
04.07.13
13:13
+(45) Веб-сервисы могут как отдавать инфу, так и принимать...
47 LapoTb
 
04.07.13
13:22
(45) Слыхал, но в живую ни разу не сталкивался.

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

Есть еще что-нибудь? Типо дырявости соединения с базой или подобное.
48 WhiteCat
 
04.07.13
13:28
(43) Пример вытаскивания группировок из СКД? Есть, но без передачи его в php.
(42) Можно загружать через тот же веб-сервис в онлайн режиме. Можно сделать более живучий вариант - передаваемую в 1С инфу записывать в xml файлы и складировать их на веб-сервере, 1С-ка будет их забирать оттуда по ftp и заносить в базу по шедулеру. Можно дополнительно при создании xml-файла веб-сервисом дергать 1С, чтобы она сразу загружала файлы в БД, у меня именно так работает.
49 WhiteCat
 
04.07.13
13:30
(47) Ну кроме лицух еще надо сервак более-менее живенький, чтобы он смог обслужить 1000 юзверей. Посчитай, сколько там оперативы надо, чтобы весь этот табун смог нормально работать.
50 sikuda
 
04.07.13
13:35
(45) Лицензии для Web-сервиса требуются юридически. http://www.v8.1c.ru/predpriyatie/questions_licence.htm#59
51 sikuda
 
04.07.13
13:41
(48) Как в 1с нажимаешь на + открывается...
И как решаете проблему выбора значения из 1С в html странице из браузера? Для передачи потом в 1С ПользовательскиеНастройкиКомпановкиДанных.
52 LapoTb
 
04.07.13
13:42
(49) Тоже не пройдет - замечательные серваки стоят + канал широченный.

Желательно что-нибудь про безопасность вебклиента 1Ски узнать (у тех кто им пользуется). Или глюки страшные.
53 ХомаБрут
 
04.07.13
13:43
(25) используем минималистский подход.
база отдельная, ибо основная на платформе 7.7
синхронизация через текстовый файл.
интерфейс самый простой, какой только можно придумать.
одновременно работают врят ли больше 10 человек.
права - только чтение принципиально
проблем с безопасностью не обнаружено.
каждому клиенту индивидуальный пароль.
реально работает уже несколько лет.
54 WhiteCat
 
04.07.13
13:47
(52) Ну пробуйте тогда запускать на веб-клиенте. Глюки страшные там бывают в виде некорректно отображаемых форм обычно, а так в принципе работает.
55 sikuda
 
04.07.13
13:48
(52) Web-сервисы. https только в 8.3. Что сам знаю http://sikuda.ru/identifikatsiya-web-servisov-1s/
56 WhiteCat
 
04.07.13
13:49
(51) Не, настолько глубоко мы пока не зарывались. Есть желание для 1С написать свой интерфейс в вебе, но пока только первые шаги делаем в этом направлении.
57 sikuda
 
04.07.13
13:53
(56) Свой - нет. Есть первый шаг с jqueryMobile http://infostart.ru/public/180203/ может кто дальше разовьет...
58 WhiteCat
 
04.07.13
13:56
(57) Итить. Достойно!
59 ХомаБрут
 
04.07.13
13:56
из разговора при наладке веб-клиента:
Я: "-введите веб адрес в адресную строку"
Чувак: "-а это куда?"  =)
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.