Перейти к содержимому


Публикации Tonik

15 публикаций создано Tonik (учитываются публикации только с 30-Март 23)


#24293 Полезные функции

Отправлено от Tonik в 10 Июнь 2014 - 19:53 in Как это сделать

OMG оказывается есть девелоперская вики. Потыкался - полезно. Как обычно узнаешь о таких вещах случайно :(
Уважаемый CbCoder я осознаю, что не вы принимаете такие решения. Но вы единственное связующие звено с руководством. Вы бы могли стабильно заканчивать планерку фразой "Сегодня юзеры на форуме опять ныли, что с документаций все плохо. Мы точно не можем позволить себе нанять студента на полставки, что бы это исправить?" :)



#24064 Вызов формы через доп действие

Отправлено от Tonik в 30 Май 2014 - 11:13 in Как это сделать

Нашел этот топик, обрадовался. Но чтото с формами не работает.

http://cb.bestfromth...%87%D0%B8%D0%BA

Поля не заполняются. Хотя при создание новой записи в таблице, такой трюк работает. Поле f3768 - текст, f3308 список.

Я чтото делаю не так или все же в формах это не работает?



#23271 пспользование в фильтре MySQL пользовательских ф-ции

Отправлено от Tonik в 28 Апрель 2014 - 12:50 in Как это сделать

Принял. Спасибо за направление. Вероятно значит ошибка в чем то другом - подебажу с включенным логом запросов



#23253 пспользование в фильтре MySQL пользовательских ф-ции

Отправлено от Tonik в 25 Апрель 2014 - 11:45 in Как это сделать

Добрый день! создаю фильтр в режиме эксперта. Хочу получить все записи, у которых с момента `Дата п/п` прошло больше 3 бизнес дней.
Написано что в режиме эксперта можно использовать SQL. Я определил в mysql ф-цию TOTAL_WEEKDAYS
Когда я использую ее в консоле, запрос работает.

Когда я пытаюсь определить фильтр
TOTAL_WEEKDAYS(`Дата п/п`, curdate()) >= 3
мне выдает при сохранение фильтра
Ошибка в значении фильтра. Проверьте корректность задания условий.

При этом фильтр
DATEDIFF(`Дата п/п`, curdate()) >= 3
прекрасно сохраняется

Внимание вопрос:

В фильтрах действительно можно использовать SQL в любой форме или все же вы там как то парсите его и проверяете на допустимые ф-ции?
Если еще упростить вопрос - могу ли я в фильтрах использовать определенную на уровне MySQL пользовательскую ф-цию?


Если UDF в фильтрах использовать нельзя, то подскажите как мне сделать фильтр для записей, у которых с даты %какое то поле тут% прошло боле N рабочих дней? Текущий фильтр считает просто дни, что не совсем то.



#23237 Несколько вызовов insert_query - события срабатывают только на первом?

Отправлено от Tonik в 25 Апрель 2014 - 07:50 in Как это сделать

Спасибо ваш ответ направил в нужную сторону. Дело действительно в галке. Но я решил пойти по другому, может кому пригодится
1) Вначале вставляю строки использую data_insert которые событие не генерит
2) а потом уже создаю документ Счет



#23220 Несколько вызовов insert_query - события срабатывают только на первом?

Отправлено от Tonik в 24 Апрель 2014 - 11:34 in Как это сделать

Текущая ревизия:
11995 от 2014-04-21

Пытаюсь выполнить вот такой код, который расположен в модуле

<?php
$config['script_noauth']=1;
include(dirname(__FILE__)."/../../common.php");
// Массив продуктов из другой системы, Не важно как он появился, будем считать что с корректными данными
$products = array(
array(
  'Прайс-лист' => 1,
  'Цена' => 50,
  'Кол-во' => 2
),
array(
  'Прайс-лист' => 2,
  'Цена' => 150,
  'Кол-во' => 3
),
array(
  'Прайс-лист' => 3,
  'Цена' => 20,
  'Кол-во' => 5
),
);
// Несколько вызовов insert_query  - события срабатывают только на первом?
foreach ($products as $product) {
$product['Счет'] = 8028;
insert_query($product, 'Позиции счета');
}
Скрипт вызываю из консоли.

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

Скажите, это баг или я как то не верно использую код?



#21586 Конфигурация для интернет магазина - вопросы

Отправлено от Tonik в 06 Декабрь 2013 - 13:20 in Конфигурации

Пытаюсь приспособить стандартную конфигурацию для нужд магазина. Пытаюсь понять как "проецировать" сущности магазина на текущею конфигурацию, что бы не писать все с нуля.
Товары магазина заношу в таблицу "Прйс-лист". Клиенты магазина - станут в КБ Контрагентами. Пока все понятно.

А для Заказов магазина какой документ в КБ можно приспособить? Заказ может быть на момент попадание в КБ как оплаченым так и нет. Должен содержать в себе ссылку на Контра агента и товарные строки.

Буду благодарен за совет!



#21581 неработают выпадающие списки

Отправлено от Tonik в 06 Декабрь 2013 - 11:51 in Как это сделать

Просмотр сообщенияRoman (29 Март 2013 - 09:40) писал:

Рекомендаций по контрольной панели хостинга дать не могу, везде по разному. Если есть возможность правки php.ini, то директива error_reporting должна выглядеть так
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_STRICT
Посмотрите сначала не сетевую статистику, а консоль ошибок браузера. Если при попытке открыть выпадающий список появляются сообщения - то скорее всего, включён вывод ошибок E_NOTICE, в другом случае - какая-то ошибка скрипта select_value.php.

Наткнулся на такую беду сегодня. Ваш совет помог. А можно ли то сделать через http://mx2.php.net/m...r-reporting.php и config.php
Сервер используется под разные нужнды и прописывать в ~E_NOTICE в конфиг нехотелось бы



#21553 Уникальность значения поля при создание записи через код

Отправлено от Tonik в 05 Декабрь 2013 - 04:59 in Как это сделать

Просмотр сообщенияCbCoder (03 Декабрь 2013 - 11:28) писал:

Верно. Все проверки на вас, в том числе по правам доступа. Функции data_* и sql_* - всего лишь оболочки над sql-запросами, за исключением параметра EVENTS_ENABLE, который вызывает события.



Есть, data_table, unsert_query и update_query. Описания можно найти на форуме. Но учтите, что они работают медленнее.

Спасибо за подсказку! *_query сам не нашел. Подскажите, верно ли я понял код - *_query так же игнорируют методанные, но судя по строке

if ($event["changed"]) popup_event($table, $line, $event);

события вызываются всегда?



#21501 Уникальность значения поля при создание записи через код

Отправлено от Tonik в 03 Декабрь 2013 - 07:30 in Как это сделать

По следам http://clientbase.ru...indpost&p=21370 разрабатываю синхронизацию данных со внешней системой (магазин)

1) Тренируюсь на стандартной конфигурации. Таблица Прайс-Лист поле Номер. Для поля выставлен флаг "Запрещать дублирование значений" (/edit_field.php?table=91&field=1156)

Создаю новую строку, через вызов php скрипта вот с таким содержанием.

<?php
$config['script_noauth']=1;
include "common.php";

[size=4]data_insert(91, EVENTS_ENABLE, array([/size]
'user_id' => 1,
'f1156' => 999,  // Поле Номер
'f1157' => 'Товар',
'f1158' => 'Тест',
'f1159' => 'Тест описание',
'f1160' => 'шт.',
'f1169' => 89));

Несколько раз вызываю файл - создается несколько записей с одинаковым номером. Ограничение не работает. Я верно понимаю что в ф-циях data_* и sql_* методанные полей просто игнорируются?

2) А есть ли ф-ции типа data_* и sql_* которые принимают на вход внешние имена полей, а не fNNN ?



#21379 Стоит ли использовать КБ - вопросы

Отправлено от Tonik в 22 Ноябрь 2013 - 19:28 in Как это сделать

Просмотр сообщенияCbCoder (18 Ноябрь 2013 - 11:24) писал:

5. Вариантов много, в том числе и ваш через крон. Без АПИ пока возможна только прямая работа с БД. Собственно для того АПИ и создаем чтобы упростить подобные операции.

Подниму топик. Я верно понимаю, что таким вариантом
http://clientbase.ru...indpost&p=19625
можно самостоятельно реализовать некий аналог внешнего API и это один из варантов решения моей проблемы?



#21378 Разработка своего модуля

Отправлено от Tonik в 22 Ноябрь 2013 - 19:24 in Разработчикам

Просмотр сообщенияAnalitic (22 Ноябрь 2013 - 14:53) писал:

1) нет, чтобы полностью соблюсти контекст файл необходимо расположить файл в корне КБ.
Как вариант автоматически создавать проксирующий файл типа:
<?php
$config['script_noauth']=1;
include "common.php";
include "modules/mymodule/dataupdate.php";
?>

2) да, смотри выше

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



#21369 Разработка своего модуля

Отправлено от Tonik в 22 Ноябрь 2013 - 13:30 in Разработчикам

Скачал исходники, изучал но не очень понял:

1) Можно ли в модуле сделать файл PHP который можно вызвать по HTTP и код которого выполнился бы в контексте кода КБ? Ну наприме что нить типа /mymodule/dataupdate.php?table=2
в котором можно будет сделать data_update таблицы и пользоваться остальным внутренним API системы.

2) Тоже самое что и 1) но так что бы этот урл был доступен без авторизации КБ

в модуле такого примера не увидел, только экспорт ф-ций



#21279 Стоит ли использовать КБ - вопросы

Отправлено от Tonik в 18 Ноябрь 2013 - 12:25 in Как это сделать

спасибо за ответ! Но есть ряд уточнений

Просмотр сообщенияCbCoder (18 Ноябрь 2013 - 11:24) писал:

2. С документацией пока действительно проблемы, т.к. программа находится в стадии активного развития и перманентной модификации. В частности, полноценный АПИ только начинает создаваться, и как только он будет готов,
будет выложена подробная документация. На данный момент, все возникающие вопросы по разработке оптимально задавать на форуме - вам ответят программисты.
Вас понял. Мне кажется вы очень много теряете изза такого подхода. Как минимум пласт разработчиков которые могли бы помочь в "евангелизации" продукта. Я конечно вашей кухни не знаю, но вспомните 1С - они сейчас на коне не потому, что конкретный бухгалтер может сам поправить формочку. А потому что на рынке тысячи ИТшников которые могут это сделать.
Тот же SQL задумывался как язык запросов для менеджеров. И что многие менеджеры его знают?
Все равно любые более менее сложные доработки будут делать разработчики. Чем проще вы для них жизнь сделайте, тем больше шансов отхватит кусок рынка побольше.

Мне КБ с виду весьма нравится. Единственное что сильно смущает, это как раз слабое понимание как это все работает о отсутствие разработчиков на рынке.

Просмотр сообщенияCbCoder (18 Ноябрь 2013 - 11:24) писал:

4. Со сканером штрих кодов проблемы вообще как правило нет, т.к. по сути это эмулятор клавиатуры, преобразующий код в число. По крайней мере мы неоднократно работали с ним в программе.
В теории да. На практике польза есть тогда, когда я могу поле типа "связь" (в терминах КБ) заполните, просто считав код. То есть, получить EAN-12 со сканера, по этому коду найти ID товара, и уже этот ID подставить в вашу систему. Так что ваш ответ мне ни чем не помог к сожалению. Я знаю как работать со сканером, мне нужно понять как его прикрутить к вашей системе.
Моя задача - при помощи сканера корректно заполнять поле типа связь. Можете кратко пояснить как это сделать?

Просмотр сообщенияCbCoder (18 Ноябрь 2013 - 11:24) писал:

5. Вариантов много, в том числе и ваш через крон. Без АПИ пока возможна только прямая работа с БД. Собственно для того АПИ и создаем чтобы упростить подобные операции.
Давайте уточню вопрос. Меня интерсует
>есть ли возможность из шела/внешнего скрипта запустить вычисление КБ и передать параметры?
если да, можно привести пример.

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



#21271 Стоит ли использовать КБ - вопросы

Отправлено от Tonik в 18 Ноябрь 2013 - 08:55 in Как это сделать

Добрый день!
Сейчас рассматриваю ряд программ для автоматизации своего бизнеса, включая КБ. Есть куча вопросов. Сам разработчик с большим стажем, так что часть вопросов сугубо технические. Надеюсь поможете сделать мне выбор :)

Общие:

1) У вас есть список “сертефицированных партнеров”, то есть людей не из вашей фирмы, кто мог бы разработать и или поддерживать конфигурацию? Проще говоря, как с рынком специалистов по вашему продукту? Где их искать, какая стоимость часа?
Только прошу не отправляйте к вашим же менеджерам - я знаю, что вы осуществляете доработки.

2) Документация по API. Где можно найти описание всех ф-ций и переменных, логики системы.
Видел http://clientbase.ru/help/ и http://clientbase.ru/help/for_admin_16/new_documentation.pdf
но по ним складывается ощущение, кучи магических рецептов “сделай вот так, получишь вот это”, а не цельная система. Хотелось бы иметь нормальную документацию, а не по форуму шерстить на каждый чих.
Например описание update_table яне нашел. Константы (?) вроде USERS_TABLE - тоже не нашел описание. Или загадочные флаги u, r - упомянуты вскользь, в одном месте толком не поясняя, что это и как работает.


В том числе планируем автоматизировать склад - там очень важна быстрота и удобство работы. Так что ряд вопросов по этой теме:

3) Насколько текущие формы дружественны к работе на клавиатуре? Тут пишите про январь 2011 http://clientbase.ru/forum/index.php?showtopic=2224 но что то больше упоминаний не вижу.
С JS в целом дружу. Если из коробки такого нет, то как будет сложно прикрутить создание строки в подчиненной странице по хоткею? Как сделать хоткеи представлю, но есть ли какие то конкретные ф-ции для “добавить строку”? Или нужно будет эмулировать клик по вашей стандартной кнопке?

4) Как сложно будет прикрутить работу со сканером штрихкодов? Я вполне понимаю как работать со сканером в JS. Не ясно как приделать к вашей форме. Если я на JS напишу подмену вашего контрола для лукапа, на свой контрол который умеет брать данные со сканера это вариант? Я верно понимаю, что просто должен существовать некие DOM элемент, который по вызову value отдает нужный id? или все сложнее?
А сам id - это id связи (то есть например артикул в случае товара) или внутрений id записи?

5) Как интегрировать с сторонней системой? У вас сейчас нет АПИ. Мне нужно будет вытягивать заказы из магазина. Насколько я понимаю сейчас я могу написать крон задачу, которая раз в минуту как то тянет данные из магазина и делает data_insert или data_update. Я верно понимаю, что вариант рабочий?
Мне только не очень нравится, что частота только раз в минуту, хотелось бы быстрее получать данные. (только давайте не будем обсуждать “зачем вам это нужно” :). Насколько эти ваши кроны, это реальные файлы которые можно запустить из вне? То есть, есть ли возможность из шела/внешнего скрипта запустить вычисление КБ и передать параметры? Если можно, то буду сам дергать по мере обновления данных во внешней системе.

и совсем теоретические вопросы по разработке

6) Есть ли приемы вынесения кода своих вычислений в файловую систему? Поясню
Планирую брать версию для собственного сервера и дорабатывать. Хранить код в базе, это хорошо для SaaS, но в случае собственного сервера, я бы хотел воспользоваться благами цивилизации в виде git и IDE, не мучатся с редактором на JS

7) Как это все отлаживать? От кода длинных вычислений у меня волосы дыбом встают. :) Нет комментариев, все поля числовыми кодами. Есть вообще шансы код в отладчик загнать? Видел местами комментированные print_r и die. Это единственный вариант?