Вход | Регистрация
    1  2  3  4  5  6  7  8  9  10  11   

Очередной убийца 1С - lsfusion, Часть 2

[Волшебник, 02.10.19 - 14:55]
Очередной убийца 1С - lsfusion, Часть 2
Я
   Злопчинский
 
30.08.19 - 03:58
начало здесь: Очередной убийца 1С - lsfusion
нехай будет вторая часть.
.
проблематика: совместно с представителями фузианами выбрать какую-нить "учетную" задачу (не бухгалтерию) и устроить батл.
   CrushBy
 
501 - 30.08.19 - 12:39
(497) При сохранении ругнется у того, у кого последней транзакция будет делать UPDATE на соответствующем поле и получит отрицательное значение. Если он решил через 5 минут вернуть назад, то ради бога - остаток увеличится назад и второй сможет провести свою.
   H A D G E H O G s
 
502 - 30.08.19 - 12:41
(501) Какой уровень изоляции юзаете в MS SQL ?
   H A D G E H O G s
 
503 - 30.08.19 - 12:41
Вот правильный вопрос, который даст ответы на всё.
   Вафель
 
504 - 30.08.19 - 12:42
так постгре же
   H A D G E H O G s
 
505 - 30.08.19 - 12:43
(504) Как там с уровнями?
   H A D G E H O G s
 
506 - 30.08.19 - 12:46
Какая-то неловкая пауза. Простите, если что-то не так.
   Напильник
 
507 - 30.08.19 - 12:46
(506) что такое "уровни", спросили они...
   Ник080808
 
508 - 30.08.19 - 12:49
(485) это чой не могу?
   CrushBy
 
509 - 30.08.19 - 12:50
(502) SERIALIZABLE, тока MS SQL естественно в версионном режиме. Но на практике стараемся естественно прирожденные версионники юзать (PostgreSQL и Oracle).
   ПростоГен
 
510 - 30.08.19 - 12:54
(501) То есть проверка произойдёт только при изменении поля? И в поле нельзя будет никаким способом внести нужное количество?
   Ник080808
 
511 - 30.08.19 - 12:56
(486) вопрос не на дату. Речь о том, контролируется остаток при изменении прихода? И контролируется ли он, если на момент проведения документа и на конец дня он положительный, в течении периода при этом становится отрицательным, но по итогу выходит в 0 или положительный? И как вообще работа с задним числом происходит?
   Ник080808
 
512 - 30.08.19 - 12:59
(511) + еще момент. если в расходной накладной две строки с одним товаром с одного склада, сколько записей будет в регистре?
   H A D G E H O G s
 
513 - 30.08.19 - 13:04
(509) SERIALIZABLE не бывает в версионном режиме.
   H A D G E H O G s
 
514 - 30.08.19 - 13:04
Ну, в приципе, понятно. Велком ты же клаб.
   Ник080808
 
515 - 30.08.19 - 13:06
(512) + вопрос по контролю остатков в платформе. как я могу его контролировать? мне нужно что бы кассир на кассе продал товар независимо от остатка. а вот материалист не мог сделать такой фигни. Как это решается, если платформа контролирует остаток?
   ta_da
 
516 - 30.08.19 - 13:17
(515) Платформа у них по-умолчанию не контролирует остаток.
Но "позволяет в одну строчку простую проверку добавить". Когда задают вопросы про сложные проверки в зависимости от условий, или уж тем более параметризуемые и с правилами, определенными пользователем, то это либо дописывание еще пачки процедур/функций либо "пользователям нашим это не надо, но если заплатите аванс...".

Но главное, что проверка остатков в УТ занимает больше строк, чем проверка остатка по регистру с двумя измерениями (склад, товар) и одним ресурсом.
   Ник080808
 
517 - 30.08.19 - 13:34
(516) да я почитал комменты на хабре их упоротого товарища и ржал аки конь. Чувак не асилил код ут но говорил что он кривой) Это как чуваки, которые пишут нетленки на 1с: "я вот взял типовую открыл - уууууууууууууууууу. когда подействовала валерьянка и я перестал плакать, то я сел и написал супер пупер систему с нуля которая быстрее и проще типовой. Правда когда я запустил ее пришел шеф и сказал нужно допилить ответхранение, пришлось костыль прикрутить, потом пришли и попросили комиссионную торговлю прикрутить пришлось переделывать архитектуру, затем эти извращенцы возжелали бюджетирование, но мы то знаем что эта фигня заморская нах никому не нужна. короче меня уволили и поставили типовую где все есть с коробки"
   Aleksandr N
 
518 - 30.08.19 - 13:36
(517) Бгг
   Ник080808
 
519 - 30.08.19 - 13:36
(515)  продолжим + как в системе реализуется контроль остатка по нескольким регистрам? например, контроль резерва?
   ta_da
 
520 - 30.08.19 - 13:47
(517) я вот подумываю уже - не написать ли мне статью о том, что WMS от Акселота говно, т.к. вот прямо сейчас я пилю нетленку по управлению складом/транспортом для фирмы, где Акселот не взлетел? Там тоже будет много "это клиентам не нужно, потому что они не просили, но если попросят - то легко сделаю".

P.S. если чо - не взлетел в основном из-за низкого качества внедрения и слегка хаотичных процессов на складе (назовем это "уникальные бизнес-процессы"), на которые акселот не натягивался ну никак.
   CrushBy
 
521 - 30.08.19 - 13:48
(515) (516)
Уже много раз писали и в этой теме и на хабре. Поищите там по godMode и дальше.
(519) Создавайте хоть 350 регистров и вешайте CONSTRAINT'ы на любые выражения по ним
(513) Извините погорячился. Мы практически везде используем для PostgreSQL SERIALIZABLE. В Microsoft SQL Server это SNAPSHOT уровень изоляции.
   Ник080808
 
522 - 30.08.19 - 13:54
(521) про godMode в этой теме ни одного упоминания на всех 6 страницах
"Создавайте хоть 350 регистров и вешайте CONSTRAINT'ы на любые выражения по ним " - я не джавист. можно пример как будет реализовано регистр остатка Товар склад количество и регистр резерва Контрагент склад товар количество?
   Йохохо
 
523 - 30.08.19 - 14:02
(522) это нельзя понять, у них контроль остатков констрейнтами а форму подбора они делают на реакт. У них Алиса на телефоне, ей диктуют вопросы
   ПростоГен
 
524 - 30.08.19 - 14:06
(521) А в какой последовательности они будут выполняться?
   CrushBy
 
525 - 30.08.19 - 14:21
(524) CONSTRAINT'ы - не важно. Сначала рассчитываются все измененные данные, которые могут повлиять на CONSTRAINT, а затем проверяются. Какая разница, в каком порядке проверять ?
(522) Это было в комментах на хабре. В этих 2х темах были другие примеры.
   ПростоГен
 
526 - 30.08.19 - 14:37
(525) Понятно. А как тогда сделать ограничение - в строке должно быть количество больше 5 если сумма < 100?
   CrushBy
 
527 - 30.08.19 - 14:45
(526) CONSTRAINT quantity(InvoiceDetail i) <= 5 IF sum(invoice(id)) < 100;
С ограничениями есть одна не очевидная вещь, что ограничение это заведомо ложное условие. Если интересно могу объяснить почему, если нет можете просто попинать ногами.
   ПростоГен
 
528 - 30.08.19 - 14:50
(527) Я правильно понимаю, это условие значит, что в каждой строке документа нельзя будет ввести количество меньше 5, если в результате изменения количества в этой строке сумма документа будет < 100? Что будет уже с ранее введёнными строками?
Ну и я имел в виду условие для одной строки, т.е изменяем количество в строке, при этом контролируем сумму по этой же строке.
   ПростоГен
 
529 - 30.08.19 - 14:51
(527) А про ограничения да, расскажите, вреда не будет, точно.
   ta_da
 
530 - 30.08.19 - 14:53
(528) ну значит CONSTRAINT quantity(InvoiceDetail i) <= 5 IF sum(InvoiceDetail i) < 100, что непонятного? =)
волшебный псевдоязык, который все делает так как нужно и максимально быстро.
 
 Рекламное место пустует
   Йохохо
 
531 - 30.08.19 - 15:00
(530) я у мамы программист
   CrushBy
 
532 - 30.08.19 - 15:11
(528) Да. Именно так. На ранее введенные строки ограничение будет работать если там изменится что-то.

На самом деле это ограничение синтаксический сахар для:
WHEN SET(quantity(InvoiceDetail i) <= 5 IF sum(invoice(id)) < 100) DO { // если условие изменилось с false (а точнее NULL) на true
    MESSAGE 'Ошибка';
    CANCEL;
}
Там на самом деле не MESSAGE, а выдача формы, но не суть. SET это именно что изменилось с false на true.

Отсюда на самом деле и идет тот факт, что ограничение именно заведомо FALSE. Так логически надо понимать, что типизация во lsFusion сверху. И поэтому если мы возьмем любое свойство скажем price(sku) и передадим ему stock, мы на самом деле получим NULL (в непонятных случаях lsFusion грубо говоря возвращает NULL, исключений в логике вычислений нет как класса, только в логике действий). Соответственно если взять условие CONSTRAINT NOT price(sku), то оно TRUE по сути если в price передать любой объект не класса Sku, например Stock и так далее. То есть для бесконечного числа объектов, что логически быть не может. Но это мы уже совсем в дебри полезли. Большинство разработчиков кто пишет на lsFusion так глубоко не лезут. Они просто пишут заведомо ложное условие и особо не думают как оно будет выполняться. Вроде прокатывает, даже с учетом того что у многих изменения в продакшн чуть ли не каждый день идет.
   _DAle_
 
533 - 30.08.19 - 15:12
(530) Документация по оператору IF: https://documentation.lsfusion.org/pages/viewpage.action?pageId=34439432
Документация по инструкции CONSTRAINT: https://documentation.lsfusion.org/pages/viewpage.action?pageId=6422561

Остальное должно быть более-менее понятно без документации
   ПростоГен
 
534 - 30.08.19 - 15:22
(532) Дальше. То есть в моём сценарии - количество в строке не менее 5, если сумма в строке не менее 100, мы должны написать ограничение на любое поле, которое меняет сумму?
   CrushBy
 
535 - 30.08.19 - 15:26
(534) Нет. В этом и фокус. Вам все равно кто и когда ее меняет. Можете менять логику sum как хотите, хоть из двадцати других свойств высчитывать ее.
   Злопчинский
 
536 - 30.08.19 - 15:26
(520) акселот нормальная контора и продукт. его надо уметь готовить. вдобавок в акселоте весьма хорошо поставлена проектная работа и отклонения от проекта. я знаю рядом аврочку складов где тоже акселот пыталсь налегкую внедрить - не взлетело. потому что это "не просто склад", а куча организационых моментов. пилить свое поделие при наличии на рынке не одной даже вмсной проги на 1С - непродуктивно. поверь мне, как прошедшему все - от написания свобственных хороших нетленок но это все равно недоавтоматизация. все равно в итоге приходишь к тому что проще и полезнее взять вмс нормальную.
свое можно пилить только для прокачки скиллов и повышения чсв.
   Ник080808
 
537 - 30.08.19 - 15:30
(535) Они не зашиты в платформу. Вы как раз можете ими управлять очень гибко. Например:
godMode = DATA BOOLEAN (User);

CONSTRAINT balance(Stock st, Sku sk) < 0 AND NOT godMode(currentUser())
    MESSAGE 'Остаток по товару на складе должен быть положительным';

И для пользователя, у которого включена галочка godMode, сможет проводить без ограничения. И там выражения можно делать очень разные.

и как тут вставить контроль по резерву?
   Ник080808
 
538 - 30.08.19 - 15:33
(525) "CONSTRAINT'ы - не важно. Сначала рассчитываются все измененные данные, которые могут повлиять на CONSTRAINT, а затем проверяются. Какая разница, в каком порядке проверять ? " разница огромная. У меня есть движения в документе по остаткам товара по себестоимости по резервам по взаиморасчетам по заказам. если документ не проходит по остаткам товара то при определенных условиях проверки по остальным регистрам мне не нужны. Поэтому я после контроля остатка товаров хочу вернуть ошибку пользователю и дальше не проверять. Как это можно реализовать в констрайне?
   CrushBy
 
539 - 30.08.19 - 15:34
(537) Ну так например.

CONSTRAINT balance(Stock st, Sku sk) - reserve(st,sk) < 0 AND NOT godMode(currentUser())
    MESSAGE 'Остаток по товару на складе должен быть положительным';

Логика reserve как balance например сумма по заказам.
   Ник080808
 
540 - 30.08.19 - 15:34
и правильно ли я понимаю что каждый CONSTRAINT это отдельный запрос?
   CrushBy
 
541 - 30.08.19 - 15:35
(540) там много разных оптимизаторов, но в конечном запросе хоть один запрос как правило будет.
   Ник080808
 
542 - 30.08.19 - 15:36
(539) reserve - это что? функция которая бросает запрос к бд? то есть у меня будет запрос сначала к резерву, а потом запрос к таблице остатка или он их преобразует в один с соединениями?
   Asmody
 
543 - 30.08.19 - 15:37
Все сретесь? А змейку на фьюжене можно написать?
   _DAle_
 
544 - 30.08.19 - 15:40
(542) Преобразует в один
   CrushBy
 
545 - 30.08.19 - 15:40
(538) ну так не включайте этот документ в эти проверки. То есть при подсчете показателей GROUP SUM quantity(Document d) IF NOT d IS MagicDocument.
(542) нет там все компилируется в один запрос. Там у оптимизаторов вообще общий принцип если что-то можно сгруппировать и выполнить одним запросом так и сделать. Вот в этой статье в частности есть какие проблемы оптимизации запросов этот компилятор решает.
https://habr.com/ru/company/lsfusion/blog/463095/
   ПростоГен
 
546 - 30.08.19 - 15:41
(535) То есть надо получается всего 2 ограничения - на количество и на сумму. Понятно.
Следующий вопрос - я правильно понимаю, что у вас аналог проведения реализуется некоторыми статусами. Получается, условная смена статуса в "проведен" вызовет срабатывание всех ограничений по всем полям всех строк документа?
   CrushBy
 
547 - 30.08.19 - 15:42
(543) У нас календарь делали по приколу именно средствами lsFusion. Но кстати можно и змейку сделать группами-в-колонки и условным оформлением, надо будет статейку на хабре накидать :)
   ПростоГен
 
548 - 30.08.19 - 15:43
(543) Пытаемся вытянуть значимую информацию на нормальном языке, а не на гиковско-программистском.
   PR
 
549 - 30.08.19 - 15:43
(543) Опять ты со своей складской задачей
   CrushBy
 
550 - 30.08.19 - 15:45
(546) Не совсем - это общее ограничение, на количество и сумму (то есть они начинают зависить друг от друга по сути)
(546) Там обычно в подсчете показателей часто добавляют IF isPosted(d), а не в сами ограничения. Но иногда и в сами ограничения.
   НадюшаЯЯ
 
551 - 30.08.19 - 15:47
(543) лучше тетрис и клавиатурный тренажер
   Конструктор1С
 
552 - 30.08.19 - 15:48
(545) а как это всё работает, если надо программно провести пачку документов? Типичная задача: скорректировать множество документов по определенным критериям, и провести их все программно
   Йохохо
 
553 - 30.08.19 - 15:49
(547) "У нас календарь делали по приколу именно средствами lsFusion." вы у клиента были хоть раз в жизни? хоть кто то из ваших удаленщиков?
   ПростоГен
 
554 - 30.08.19 - 15:50
(550) Показатели в целом по документу, это понятно. Я про строки, условно говоря - "не проведённый" документ не проверяет остатки на складе, значит при проведении мы в должны для каждой строки выполнить ограничение. Ну и не понятно, получается "проведение" выполняется в транзакции, циклическим каскадным вызовом ограничений, или как?
   ПростоГен
 
555 - 30.08.19 - 15:51
(550) А вообще, более конструктивно было бы описать логику вашей платформы в сравнении с логикой 1С, чем говорить, что 1С фу, а лсфьюжн - лайк...
   CrushBy
 
556 - 30.08.19 - 15:56
(552) Вот тут хитро. Во вкладке Администрирование есть Интерпретатор (еще можно это через postman http запросом) там можно писать код прямо на lsFusion, что-то вроде:

FOR date(Document d) > '2015_01_05' AND (GROUP SUM sum(DocumentDetail dd) IF document(dd) = d) > 20 DO {
     FOR document(DocumentDetail) = d DO
         quantity(d) <- quantity(d) * discount(supplier(d));      
     isPosted(d) <- TRUE;
}
APPLY;

Причем на самом деле это скомпилируется в несколько SQL запросов с join'ами и максимально оптимизированными. То есть FOR'а реально не будет (даже если документов тысячи). При этом сразу при применении (APPLY) запустится цикл событий (и ограничений в частности),где тоже количество запросов не будет зависить от количество данных.

На самом деле такой интерпретатор очень прикольная вещь при внедрении. Когда что-то пошло не так, а данных очень много и руками их никто править не собирается.
   CrushBy
 
557 - 30.08.19 - 15:57
Быстро писал, опечатался там местами.
FOR date(Document d) > '2015_01_05' AND (GROUP SUM sum(DocumentDetail dd) IF document(dd) = d) > 20 DO {
     FOR document(DocumentDetail dd) = d DO
         quantity(dd) <- quantity(dd) * discount(supplier(d));      
     isPosted(d) <- TRUE;
}
APPLY;
   CrushBy
 
558 - 30.08.19 - 16:02
(554) Да, цикличным каскадом событий только правильно говорить (ограничение это частный случай события, когда условие меняется на TRUE отменить транзакцию).

У событий на самом деле очень важная функция - декомпозировать логику. Это позволяет избегать "полотен" кода. По сути события собираются в список при выполнении и образуют flow (который обычно пишут руками).
   Ник080808
 
559 - 30.08.19 - 16:03
(556) "Причем на самом деле это скомпилируется в несколько SQL запросов с join'ами и максимально оптимизированными. То есть FOR'а реально не будет (даже если документов тысячи). При этом сразу при применении (APPLY) запустится цикл событий (и ограничений в частности),где тоже количество запросов не будет зависить от количество данных. " если ограничение сработает - например тот же отрицательный остаток, то не запишется весь пакет?
   CrushBy
 
560 - 30.08.19 - 16:07
(559) Естественно, в этом собственно смысл ограничений. Ограничение, которое может иногда нарушится - странная штука. Потому как в таком случае заказчик пишет, а чего это такой-то показатель стал меньше 0 разберитесь. И на практике искать по какой причине это произошло, занятие скажем так неблагодарное.
 
 Рекламное место пустует
   Ник080808
 
561 - 30.08.19 - 16:15
(560) ну не совсем естественно. У меня сто документов. я хочу их перепровести. на 99  документе у меня выскакивает ошибка и все откатывает назад. Мне нужно в документе №99 исправить причину ошибки и повторно сделать операцию для всех 100 документов. Естественно, это когда идет запись 98 документов, а 99 изменения не применяются.
   Maniac
 
562 - 30.08.19 - 16:18
Тока что написал челу генератор артикулов - получил 2000 рублей. Подозреваю что все кто в этой ветке за это время - не заработали никуя.
   Конструктор1С
 
563 - 30.08.19 - 16:19
(556) я не про саму обработку документов, а про логику проведения документов. Как это проведение будет работать, когда документы проводятся/перепроводятся пакетно?
   _DAle_
 
564 - 30.08.19 - 16:26
(561) При желании вы можете применять изменения для каждого документа в своей собственной сессии изменений, тогда для первых 98 документов изменения примутся (если не нарушается ни одно из ограничений, конечно).

Сессии изменений: https://documentation.lsfusion.org/pages/viewpage.action?pageId=2719863
Оператор APPLY: https://documentation.lsfusion.org/pages/viewpage.action?pageId=5832735
   CrushBy
 
565 - 30.08.19 - 16:26
(561)  Вот так примет, но по одному.
FOR date(Document d) > '2015_01_05' AND (GROUP SUM sum(DocumentDetail dd) IF document(dd) = d) > 20 DO {
     FOR document(DocumentDetail dd) = d DO
         quantity(dd) <- quantity(dd) * discount(supplier(d));      
     isPosted(d) <- TRUE;
     APPLY;
}

Но на практике просто делят на интервалы дат, и APPLY в конце делают.
   CrushBy
 
566 - 30.08.19 - 16:30
(563) Не совсем понял вопрос. Вот isPosted изменился в TRUE, значит изменились свойства GROUP SUM sum(..) IF isPosted(), изменились свойства зависящие от них и так далее. При применении запускается цикл событий (событий, ограничений, материализаций), где все эти изменения используются (проверяются ограничения, обновляются материализации и т.п.)
   dezss
 
567 - 30.08.19 - 16:33
е-мое...уже флуда на 2 темы нагнали...
   bolobol
 
568 - 30.08.19 - 16:45
(567) Тихо ты! Самое вкусное началось
   vis_tmp
 
569 - 30.08.19 - 16:54
Кстати, про 1С

"17-летний ставропольский школьник Кирилл Павкин победил на международных соревнованиях Worldskills Kazan 2019, программируя на 1С!"
https://www.facebook.com/buh.ru/posts/2493080807424420
   _DAle_
 
570 - 30.08.19 - 17:10
(569) Смотрите, вот страница с результатами этого Worldskills: https://worldskills2019.com/en/event/results/. В ссылке, которую вы привели указан "IT Software Solutions for Business". Можно найти этот трек на странице результатов и посмотреть, кто победил (спойлер: это не Кирилл Павкин). Где-то на этом сайте я видел про существование какого-то "национального трека", возможно он там где-то победил.
   Джинн
 
571 - 30.08.19 - 17:14
(569) Там еще серьезнее - из 5 топовых мест три 1С. 1,3 и 5.
   Джинн
 
572 - 30.08.19 - 17:19
(570) Правильная категория IT Solutions for Business Sandbox
   RomanYS
 
573 - 30.08.19 - 17:35
(572) Sandbox это школьники?
   ПростоГен
 
574 - 30.08.19 - 17:39
(558) Почему всё это так тяжело из вас вытягивать... Сделайте статью как в (555) прошу...
   Джинн
 
575 - 30.08.19 - 17:39
(573) Судя по всему да. Победителю 17 лет.
   _DAle_
 
576 - 30.08.19 - 17:44
Не поймите меня неправильно, я не хочу ни у кого отнимать чувство радости за родную платформу и соотечественника. Но вот только этой категории не было в официальном соревновании. Вот официальный пресс-релиз, подготовленный 1C (в левом верхнем углу слово "partners"): https://worldskills2019.com/en/media/news/programmist-1s-zanyal-1-e-mesto-na-mezhdunarodnom-chempionate-professionalov-worldskills-kazan-2019-v-kompetencii-razrabotki-biz/, из которого следует, что участвовало 8 человек из 9 стран, трое из них использовали 1С. Собственно, сама 1С договорилась о проведении этого трека для того, чтобы сравнить 1С с другими платформами разработки и показать организаторам, что вот есть и такая платформа. Организаторы со слов 1С пообещали рассмотреть использование 1С в основном соревновании в 2021 году. То есть 1С по сути проводило соревнование, чтобы сравнить себя с другими технологиями, не очень удивительно, что победил участник, использовавший 1С. А вообще, неплохой PR, мне нравится.
   ПростоГен
 
577 - 30.08.19 - 17:46
(558) Этот каскад событий выполняется в одной транзакции, не так ли?
   CrushBy
 
578 - 30.08.19 - 17:47
(574) Смотрите, три статьи галопом по Европам есть:
https://habr.com/ru/company/lsfusion/blog/458376/
https://habr.com/ru/company/lsfusion/blog/460141/
https://habr.com/ru/company/lsfusion/blog/460887/
Там в первой можно отбросить вступление и заключение, но они все равно слишком большие, это да. Сейчас готовим статьи с более простыми кейсами, такими https://documentation.lsfusion.org/display/LSFUS/How-to
но только более целостными, на примере практических задач.
Еще раз, мы сюда не планировали приходить, так получилось, и кстати нигде про убийцу 1С до этого форума мы не говорили (хотя строго говоря
и на этом мы так не говорили). Мы упоминали этот рынок как один из / смежный, но не более того. Но этот форум как то затягивает и вытягивает все самое худшее из людей. Удивительное место.
   CrushBy
 
579 - 30.08.19 - 17:47
(577) Да в этом их смысл собственно.
   ПростоГен
 
580 - 30.08.19 - 18:04
(578) Это общее описание логики, без сравнения с 1С. Я вам намекаю, что вместо заявлений о "портянках кода" в 1С и статей о своей реализации регистров аналогичным 1С, надо сначала показать отличия в логике, чтобы создать базу для сопоставления столь разных продуктов.
   PiotrLoginov
 
581 - 30.08.19 - 18:06
(578)>>нигде про убийцу 1С <...> мы не говорили
А с какой целью ваши публикации на хабре постоянно упоминают 1С? Почему у Ваших публикаций прикручен тег "1С"? Кто прикручивает к вашим публикациям тег "1С"? И сюда же до кучи: почему комментарии к вашим публикациям висят сутками на модерации, и вы их игнорируете?
   CrushBy
 
582 - 30.08.19 - 18:20
(581) Я может что-то путаю, но там только у двух статей такой тег. У одной из которых 1с просто как одна из технологий упомянута для примера. Никаких убийц. И человек который писал последнюю статью вчера в отпуск уехал, сейчас будем доставать его говорить чтобы одобрил комменты.
   PiotrLoginov
 
583 - 30.08.19 - 18:26
+ (581) поймите меня правильно: у меня нет столь критичного отношения к вашим наработкам, как у некоторых моих коллег. То, что вы сейчас наблюдаете - и оголтелая критика, и предвзятое отношение, и нецензурные записи в демо-БД - все это было неизбежно. Среди пользователей любого фреймворка найдутся и грамотные, сдержанные профессионалы, и импульсивные матерящиеся негативно настроенные мужики. И чем ниже порог вхождения в предмет, тем больше шансов пообщаться со вторыми. Вот порог вхождения в 1С - довольно низкий. Но все же откровенного хамства ни здесь, ни на других площадках Вы пока не хлебнули. Высказывания, преимущественно - по существу.

Но Вы ведь подчеркиваете, что порог вхождения для любого желающего в ваш фреймворк - значительно ниже, чем в разработку на 1С. Так что у вас самое интересное - маячит всей своей тушей на горизонте. Готовьтесь к общению на совершенно другом уровне :)


Так я не договорил: у меня изначально было желание воздать должное Вашей квалификации и квалификации Вашей команды и раскритиковать диалог между разработчиками одного фреймворка и пользователями другого, ибо это, наверное, неправильно. Если уж строить спор - так между Вами и ведущими специалистами ООО "1С", хотя понятно, что и такой диалог был бы лишен смысла - уж слишком разные весовые категории.

И еще хотелось поделиться кодом, который бы реализовывал в 1С функционал, аналогичный представленному в статье. У меян не так много свободного времени, но ролик, где происходит похожий подбор в 1С и код, который реализует вот это:

"Вариант 2: Смысл то как раз в том чтобы не вызывать диалог. Но даже с диалогом не совсем понял, то есть предполагается, что надо руками хранить, что пользователь изменил, и при открытии диалога дополнительно проверять не измененные ли это данные. Плюс я так понимаю это надо как-то в запросе динамического списка учитывать <...>, и вручную заставлять этот динамический список обновляться при изменении таблицы значений с изменениями. В любом случае вы опять-таки представляете сколько кода при этом будет? Реально интересно посмотреть пример кода"

- этот код был рад на тот момент процитировать, дабы показать, что там не так много строк, как Вы думали.
   Russiagreat
 
584 - 30.08.19 - 18:28
(557) Вы это для чего или кого пишите? Или записки гарантируют рабочий код и веру в истину? Типа свидетели 1сфьюжн?
   PiotrLoginov
 
585 - 30.08.19 - 18:28
+ (583) Как-то так. А Вы комментарий проигнорировали... соратник Ваш заявился сюда в какой-то некрасивой маскировке, стиль общения упал куда ниже плинтуса... так вот и падаете в глазах "партнеров по цеху".
   ПростоГен
 
586 - 30.08.19 - 18:28
(582) Ну да, про убийцу это я вбросил. Но, согласитесь, неплохо же получилось. Уже 1600 сообщений в 2 темах. А то, что много негатива - так для Мисты это нормально, программисты 1С весьма циничны и злы :))
   PiotrLoginov
 
587 - 30.08.19 - 18:30
+ (585) я не поленился прочитать обе ветки. То, как Вы, CrushBy , а особенно Ваш сотрудник, себя повели...  это просто недостойно взрослых людей.
   ПростоГен
 
588 - 30.08.19 - 18:40
(587) Странно от них было чего-то другого ожидать. И Ультима так себя вела, и Куба. А эти ведь из той-же когорты "труЪ-программистов".
   PiotrLoginov
 
589 - 30.08.19 - 18:43
Еще хотелось бы добавить, что на этом форуме трезвое и адекватное отношение, во-первых, к коллегам из других стран. Помнится, мы как-то деньги собирали форумчанину с Киева, когда у него случилась онкология.

А во-вторых, опять же трезвое и адекватное отношение к любым механизмам, языкам и фреймворкам. Если осмотритесь, поймете, что 1С'ники используют разные средства, интересуются любым способами удешевить разработку вспомогательных механизмов (без них никуда), а высшая ступень специалиста по платформе (ЭТВ) прямо требует знаний в самых разных областях.

Тем более - как можно ссориться с ребятами из братской Беларуси ;)

Обо всем об этом хотелось написать на хабре. Здесь мои посты быстро потонут в море флуда. Есть и такие традиции на этом форуме :) И здоровый цинизм, и флуд, и много еще чего... Нюни редко развозим.

Но вы, а точнее ваш сотрудник sergeevaira, не созволили заниматься своими же публикациями и модерировать комментарии. А потом, наверное, муссируете среди своих, как быстро "слились" комментаторы.
   Russiagreat
 
590 - 30.08.19 - 18:56
Кстати, а как там поддержка мобилных устройств? передача данных между учетными системами из коробки без заморочек?
   Злопчинский
 
591 - 30.08.19 - 21:08
Фигня какая-то.
нафиг мне - девелоперу - разрабатывающему прикладные решения, а не прогающему абстрактный код все эти куски кода.
.
дайт вход на демо сервер, с демо примером простого товарного учета, с поддержкой много пользовательской работы: приход, расход, остатки на складе, заявки на отгрузку, резервирование под заявки итд - типичный простейший "склад-учет товародвижения". Готовое прикладное решение (вам же его собрать - 2часа времени). Аналог того что лежит в КЗ Мисты как "простой склад". желателльно хоть немного юзабельное, а не накиданная куча таблиц.
   Asmody
 
592 - 30.08.19 - 21:14
Парни, как у вас сделать такую штуку: на форме есть поле выбора с фиксированными вариантами: 'в течение дня' и 'несколько дней'. И два поля выбора даты-времени с выпадающим календарём. В случае, если пользователь выберет 'в течение дня', то в первом поле дата-время нужно разрешить выбор даты и времени, а во втором - подставить дату из первого поля и разрешить только выбор времени. А в случае выбора 'несколько дней', то в обоих полях надо разрешить выбор даты, а выбор времени заблокировать. При этом надо обеспечить, чтобы дата-время1 была строго меньше даты-времени2.
   Злопчинский
 
593 - 30.08.19 - 21:22
надеюсь, ктото-то из упоротых наших что-то наваяет на этом чудо-граблелете и выложит на посмотреть.
   whitedi
 
594 - 30.08.19 - 21:43
(578) это все желтый цвет наверное. Программа 1С имеет те же свойства)
А вообще, коллеги из Isfusion, "вы слишком далеки от народа", от местного народа, который советует в сетевой рознице использовать 1С:Розницу и 1С:УТ из коробки и тут же не может ответить на вопрос в чем вести учет собственного производства) Начинают предлагать 1С: ЕРПИ, в котором по слухам что-то для производства есть)
Другие пишут про упр.баланс, причем 90% присутствующих вообще не понимают разницы между бух и упр учетом на плане счетов и соотв иежду бух и упр балансом. Это с учетом того, что в рознице он нах не нужен, там на магазе 41 и 60 счет в активе и пассиве с удельным весом в 95% в валюте баланса, да и разницы бух и упр учета в рознице нет. Мы когда со своим упр.учетом в розницу заходили также пытались сову на глобус натянуть с внутренними уже сложившимися принципами упр.учета, но быстро поняли, что оно того не стоит - в рознице другие показатели рулят - оборачиваемость и операционная прибыль - вот и все - как раз это не требует особых методов расчета, а требует как раз скорости обработки больших массивов данных.
Это все банальное отсутствие опыта решения таких задач и отсутствие компетенций, вот и весь секрет.
А ваш продукт лично мне интересен, так как к 1С испытываю ровно те же чувства) 1С головного мозга конечно уже присутствует, т.к. варюсь в нем с 2005 года, но стараюсь бороться и думаю почти вылечил) Вам желаю удачи и дальнейшего развития.
   CrushBy
 
595 - 30.08.19 - 22:07
(587) А все тут на форуме ведут себя как истинные джентельмены и взрослые люди. К сожалению, это моя слабость -  тролинг адептов (не важно, Apple/Android, 1C, Windows, Oracle). На хабре нельзя - а тут хоть удовольствие получил. Жизнь коротка, чтобы всегда вести себя как взрослые люди.

(590) Сверху уже кидали. Когда просят мобильный интерфейс, то берем React или React Native и быстро делаем. Тут не вижу смысла изобретать велосипед. Вот пример : https://demo.lsfusion.org/m .

(589) Специфика хабра в том, что там выгодно, чтобы писали разные люди (ну или постили хотя бы). У сотрудников есть конкретная задача - написать статью. Вступать в дискуссии они не горят желанием, а мы не заставляем. Хабр так построен, что там комментарии, требующие модерации очень тяжело обнаруживаются. Соответственно за ними никто не следит. А я под своим аккаунтом их вообще не вижу.
   Asmody
 
596 - 30.08.19 - 22:11
(595) А хотите мы вам, в порядке эксперимента, отдадим на "порулить" секцию "Убийцы 1С"?
   Злопчинский
 
597 - 30.08.19 - 22:12
"советует в сетевой рознице использовать 1С:Розницу "
- это где так массово советуют?
1Срозница - это для мелких ларьков/магазинчиков "все в одном" - для ведения и учета в одно-два рыла всего что надо мелкому магазинчику/ларьку. Имхо. Спецы по 1С рознице - попраавят мну если что
   Asmody
 
598 - 30.08.19 - 22:15
(597) А для розницы есть "Магазька"
   andrewalexk
 
599 - 30.08.19 - 22:19
(598) :) .. на 8.3?
   Asmody
 
600 - 30.08.19 - 22:23
(599) А разве нет?
  1  2  3  4  5  6  7  8  9  10  11   

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.