написать интернет магазин с интеграцией 1с

AmdY

Пью пиво
Команда форума
посмотрел бы я на тебя, если бы ты в моей школе учился, у нас компов в школе не было умник.
:D у нас тоже программировать на листочках учились, а ещё один учебный день просирали на обучение вождения на тракторе, а ещё свинки, картошка и куча прочих деревенских дел, да ещё пропадал на стадионе. но при этом и учился, и поступил, и с поисковиком с первого раза самостоятельно разобрался. (акой я молодец, пойду награжу себя печенькой). а вот в универе нужно было только учиться, у меня это не получилось и я свалил на заочку, но и там легче не стало, так что я тебе посоветовал то, что Я САМ сделал в подобной ситуации.

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

Марат **

Новичок
:D у нас тоже программировать на листочках учились, а ещё один учебный день просирали на обучение вождения на тракторе, а ещё свинки, картошка и куча прочих деревенских дел, да ещё пропадал на стадионе. но при этом и учился, и поступил, и поисковиком с первого раза самостоятельно разобрался.
а вот в универе нужно было только учиться, у меня это не получилось и я свалил на заочку, но и там легче не стало, так что я тебе посоветовал то, что Я САМ сделал в подобной ситуации.

Твоя корочка нафик никому не упёрлась, работу, если не шаришь легче искать не будет. Сейчас о дипломе даже спрашивать не принято, так что зря напрягаешься и других напрягаешь.[/quote
а вот почему ты так нервничаешь оказывается, я не работаю программистом и не собираюсь, это просто хобби, а учусь - потому что очень интересно мне, в последнее время дел стало больше работе вот и не успел вовремя подготовится ))))
 

Breeze

goshogun
Команда форума
Партнер клуба
а вот почему ты так нервничаешь оказывается, я не работаю программистом и не собираюсь, это просто хобби, а учусь - потому что очень интересно мне, в последнее время дел стало больше работе вот и не успел вовремя подготовится ))))
для заочника "много работы" не оправдание. для хобби ты слишком много болтаешь и мало делаешь, за все это время можно было вагон вариантов в яндексе загуглить.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Радует, что оказывается не я один программировать в тетрадке учился. О чем ничуть не жалею — это научило меня думать, а не тупо лабать код.
 

shelestov

я тут часто
Надо весь первый курс в любом вузе посвящать освоению поисковых систем :)
Люди видимо не понимают, что найти == 5 минут, спросить на форуме N часов, а то и дней.
 

DiMA

php.spb.ru
Команда форума
ну вы лошары... из 1С в cvs выгружать .-)

я 5 лет назад работал в питерском аналоге exist.ru, где сервером документооборота был 1С (хранение заказов, товаров, логистика)
так вот, 1C код у меня исполнялся прямо в веб-страницах на php и апаче, в реальном времени
дада, код 1C прямо на русском языке можно было писать в php-файлах веб-портала, любые sql (к MSSQL через 1С) запросы делать и т.д.

прежде чем троллить и флудить на 2 страницы - разберитесь с темой
 

Redjik

Джедай-мастер
Топик называется

интернет магазин с интеграцией 1с
что !=
1с с интеграцией интернет магазина
 

DiMA

php.spb.ru
Команда форума
Ты это о чем? Я сообщил, что технически возможно и легко на пхп в реалтайме исполнять 1с код и наоборот из 1с пхп (по http/soap или консольно). А что за проект - это уже частности.
 

DiMA

php.spb.ru
Команда форума
<?
if (!$c1->АвторизацияПользователя($_POST['login'], $_POST['PASS'])) exit; - написание кода ничем не отличается от самого 1с
var_dump($c1->SQL("любой запрос"))
 

zerkms

TDD infected
Команда форума
ну щаз я побежал и все выложил :)
Пардоньте, что вклиниваюсь, но какой смысл было тогда говорить об этом? Чтобы в очередной раз доказать какой ты охуенный? Дима, мы в курсе, что ты охуенный (не ирония), и что ты умеешь делать честное горизонтальное масштабирование (ирония)(а теперь ещё знаем, что и 1С ты умеешь готовить).
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Пардоньте, что вклиниваюсь, но какой смысл было тогда говорить об этом? Чтобы в очередной раз доказать какой ты охуенный? Дима, мы в курсе, что ты охуенный (не ирония), и что ты умеешь делать честное горизонтальное масштабирование (ирония)(а теперь ещё знаем, что и 1С ты умеешь готовить).
Еще он умеет писать класс делающий атомарные локи в мемкеше на 5 страниц. (ирония)
 

DiMA

php.spb.ru
Команда форума
вы не можете догадаться о цели заметки? окей, объясняю, раз все так запущено

когда программеру (а не грузчику мебели) говорят, что это можно сделать ("это" дает некий профит) - у него появляется стимул решить задачу по умному и знание/уверенность, что это можно сделать.. а раз вы все же программеры, допрете сами

вопросы новичков в стиле "как сделать <некая элементарная вещь>?" поощряется в нашем форуме вялыми "иди читай фак"

я тоже собственно туда же и посылаю... ну, с какой стати мне тут распинаться и рассказывать что-то, пока никто и пальцем не пошевелил, пытаясь в поте лица решить задачу и не привел 100500 попыток это сделать?

> Еще он умеет писать класс делающий атомарные локи в мемкеше на 5 страниц. (ирония)

Да я прекрасно понимаю твою иронию. Тебе и в голову не придет наличие некоторых задач, которые так решаются. В инете дохерища статей (чуть менее чем полностью), посвещенные мемкешам с редисами, которые даже комментить стыдно. Полная ахинея. Не потому, что авторы мудаки, а просто не в теме проблем. И до гроба не узнают об их существовании.

> Чтобы в очередной раз доказать какой ты охуенный?

Гнилой поклеп .-) Разве я сказал, что никто кроме меня не в состоянии придумать, как из пхп в реалтайме исполнять произвольный 1с код? Нет, умных людей много. Просто ленивые и не пытающиеся это сделать. А тем, кто с 1с реально работает, просто в голову не приходила мысль "Эх, было бы удобно в пхп 1с гонять", потому что быстрее наговнокодить кнопку "экспорт/импорт в csv". И по большому счету да, вряд ли еще кто-то так же из пхп гоняет 1с. Придумать это не сложно, я эту идею за пару часов придумал, в начале работы в той конторе (на оттачивание реализации ушло потом много времени). Почему я это придумывал? Потому, что собирался там работать долго, счастливо и комфортно: чтобы все на 1с программеров свалить, дав им инструмент, заниматься csv - верх маразма и непрофессионализма. Как-то с коллегами делился этими идеями, большого интереса не вызвало. Только представьте себе объем проблемы - 1С есть в каждой конторе нашего совка, а до этого не доперли. Сам 1С, разумеется, предлагает способы подобной интеграции, только они полное говно и не применимы. Велосипедная интеграция на коленке проще и хотя бы работает.

Короче, я просто просвещаю - это можно, попробуйте напрячься и все получится. Кто работал с 1с и кому не пришла такая МЫСЛЬ в голову до этого топика - я не виноват, пиняйте себя сами.

Кому-то в голову не приходит мысль - нах в локах 5 страниц, когда можно в 1 строку типа $MC->add() все сделать... ну, что я могу с этим поделать, живите счастливо и дальше :) Про 5 страниц это даже не троллинг, а просто очередная роспись в непонимании существования проблем.

Да, кстати, на хабре буквально пару дней назад выкатили статью на данную тему. Там какой-то мудак порассуждал сам с собой и в итоге сделал заключение, что мол реалтайм 1с код в пхп плохо, при хайлоде не выдержит (1с упадет, а мозга защититься то нет), с другой стороны без 1с вообще сайт работать не будет. Типа голосуем за кнопку экспорт/импорт (повешенную на крон). Удачи, я не против :)
 

fixxxer

К.О.
Партнер клуба
нах в локах 5 страниц, когда можно в 1 строку типа $MC->add() все сделать...
А, кстати, нах? :) Ну, то есть, откуда 5 страниц?

Мне единственное, что в голову приходит - консистентность обновления кучи связанных ключей; если сразу закладывать и атомарность, и защиту от race condition, то получится не мало.
 

DiMA

php.spb.ru
Команда форума
а то ты не видел .-) На самом не 5, а 3, но суть не в том.

Значит, сначала рассуждаем о потребности прикладного программера к API этого класса, чтобы решались задачи в 1 строку. Максимум работы должен выполнить класс блокировки, минимум - там, где вызываем. Результаты получаются такими:

$L=lock(key, timeWait, timeOut);
unlock($L, timeBusy);
prolongate($L, time);

timeWait - сколько секунд пытаться поставить лок | 0=пытаться ровно 1 раз
timeOut - сколько секунд живет лок
timeBusy - сколько секунд после вызова анлока считать лок все еще установленным

Далее очевидные вещи, что пхп может упасть в корку на любой строке, лок должен снятся, проект не должен висеть. Когда вдруг 100500 потоков видят устаревание лока одного и того же ключа, не должно быть неатомарных багов и т.д. В ключе при создании лока генерится рандомный id, который в $L возвращается, чтобы без $L было невозможно снять его (защита от говнокодера). Прочие логические ошибки: поток профукал собственный timeout, а при вызове unlock'a очень удивился, что лок то уже кто-то захватил (обработка проблемы); написать программеру "лох" нужно при lock(k)+lock(k) и подобных баянах. Всякие таймауты в циклах ожиданиях оптимальные, самостоятельно увеличивающиеся, другие мелочи.

При тщательном написании для мемкеша или редиса выходит много кода. А конкретно, в lock'e по минимуму получаются 4 if'a, что дает 9 логических блоков хода исполнения. В unlock'e тоже много блоков. Меньше 3х страниц никак не выйдет, только из-за числа блоков и циклов ожиданий (скобки, пустые строки и т.д.). Отдельная песня - как это надежно протестировать. Тесты еще длиннее и дней пять на изобретение способов (из практики обучения разных программеров, причем с подсказками решений). Метод тестирования - тесту подсовываются 2-3 настоящих класса с блокировками, делающих блокировку разными методами, и еще 2-3 фейковых, имеющих специально по самому маловероятному багу с атомарностью. Тесты должны выявить все.

Эту логику можно сократить раза в 2, либо если кто-то допрет наконец добавить команду в мемкеш или редис
setIfEqual(key, new, current)
поставить $new, если в ключе сейчас $current

Разумеется, писать код не придется, если взять не мемкеш/редис, а подобный готовый сервис. Либо в редис большую часть логики засунуть. Еще потенциально возможный вариант сокращения есть с установкой времени жизни ключей. Но его никогда не использовали в силу универсальности, т.к. на разных хранилищах он может означать разное - "храню ключ не [ менее | более ] указанного времени".
 

флоппик

promotor fidei
Команда форума
Партнер клуба
DiMA, читай внимательней: там, у меня и zerkms в скобочках есть слово «ирония». Так вот оно там неспроста.
 

KOLANICH

Новичок
оффтоп:
блин, дочего толсто
а оп вообще кормушка для троллей
 
Сверху