Задать вопрос
  • Как настроить Nginx на debian?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    location ~ /\.txt {
         deny all;
    }
    Ответ написан
    Комментировать
  • Как узнать номер строки полученной из таблицы в БД?

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

    или делаете выгрузку из базы построчно и увеличиваете $i с каждым циклом.
    Ответ написан
    Комментировать
  • Как лучше переписать приложение на другой ЯП?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    просто проксировать запросы

    location /opachki/ {
    
        proxy_pass http://example.com:60;
    }
    Ответ написан
    Комментировать
  • Как заставить DateTime field сохранять корректное текущее время?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    что-то вы перемудрили и сами себя запутали.

    вы определитесь как хотите время хранить. Постгрес предлагает хранит время с временной зоной или без временной зоны.
    https://www.postgresql.org/docs/9.6/static/datatyp...

    Вы в конце времени ставите +07, а значит время с временной зоной.

    сделайте поле без временной зоны, а со стороны языка решите какое время вы будете хранить в базе, UTC или локальное время, потому что иначе будете путаться и лишний раз одно время переводить в другое. Если поле без временной зоны, то оно будет игнорировать зону и сохранять значение без конвертации.
    Ответ написан
  • Как распарсить TABLE CREATE STATEMENT?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    в вашем случае самым правильным вариантом будет взять исходники mysql и сделать аналог для вашего случая...

    либо самому парсить запрос и выводить его в виде xml

    либо обратиться туда, где уже все давно сделали: www.dpriver.com/blog/list-of-demos-illustrate-how-...
    Ответ написан
  • Почему гугл карты загружаются не сразу?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    а если так?

    document.observe
    (
    	"dom:loaded", 
    	function()
    	{
    		// put your code here
    	} 
    );
    Ответ написан
    5 комментариев
  • Как сделать push-уведомления на сайт самостоятельно?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    без сторонних сервисов - не получится.

    варианта два:

    1. periodical ajax. Но в этом случае пользователь может получить уведомление не сразу, а когда получит, может быть уже не актуально.

    2. WebSocket - моментальное уведомление. Но нужно поднимать свой Websocket демон.
    Ответ написан
    Комментировать
  • Как правильно проверять заполненность формы на Javascript?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    Создаете массив, в которой указываете идентификаторы полей.
    Потом в цикле проверяете.

    Для радио - один массив, для селектов другой, для текстовых - третий.
    В случае ошибке в обработчике возвращать false и по ID подкрашивать поле через CSS.
    Ответ написан
    Комментировать
  • Как внедрить собственный счет на сате?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    Создать в базе таблицы транзакций и по ID пользователя хранить там данные.
    Счет пользователя - это по сути подсчет дебита и кредита по транзакциям.
    Ответ написан
    2 комментария
  • Как обмениваться данными с web сайта и 1c?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    Я сделал недавно полную интеграцию с 1С с вебом

    что вас конкретно интересует? Дам исходники и покажу что да как
    Ответ написан
  • Как сделать подтверждение отправки формы?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    На кнопку сабмита повесить обработчик и проверять каждое поле формы

    Например вот так вот:

    function GoodsSave()
    {
    	if ($('Parent_Key').value == 0) {alert('Укажите группу номенклатуры'); return; }
    	if (!$('Artikul').value) {alert('Укажите артикул'); return; }
    	if (!$('Description').value) {alert('Укажите краткое наиименование'); return; }
    	if (!$('NaimenovaniePolnoe').value) {alert('Укажите полное наименование'); return; }
    	if ($('VidNomenklatury_Key').value == 0) {alert('Укажите вид номенклатуры'); return; }
    	if ($('BazovayaEdinicaIzmereniya_Key').value == 0) {alert('Укажите единицу измерения'); return; }
    	if ($('StavkaNDS_Key').value == 0) {alert('Укажите ставку НДС'); return; }
    	
    	new (Ajax.Request)
    	(
    		"/", 
    		{
    			method: "POST",
    			parameters: { 
    				'Driver1c' : '<?=Driver1c::ADD_GOODS?>', 
    				'Parent_Key' : $('Parent_Key').value,
    				'Artikul' : $('Artikul').value,
    				'Description' : $('Description').value,
    				'NaimenovaniePolnoe' : $('NaimenovaniePolnoe').value,
    				'VidNomenklatury_Key' : $('VidNomenklatury_Key').value,
    				'BazovayaEdinicaIzmereniya_Key' : $('BazovayaEdinicaIzmereniya_Key').value,
    				'StavkaNDS_Key' : $('StavkaNDS_Key').value
    			},
    			encoding: 'UTF-8',
    			onComplete: function (a) {
    				$('goods_add_form').reset();
    				
    				var row = a.responseJSON;
    				
    				Goods.push ({
    					value: row.value,
    					label: row.label,
    					description: row.description,
    					'СтавкаНДС_Key': row.СтавкаНДС_Key,
    					'БазоваяЕдиницаИзмерения_Key': row.БазоваяЕдиницаИзмерения_Key
    				});
    				
    				ProcessingInput.value = row.description;
    				ProcessingInput.referer.value = row.value;
    				ProcessingInput.referer.onchange();
    				
    				GoodsCancel();
    				
    			},  
    			onFailure: function (a) {alert('Во время работы произошла ошибка, пожалуйста сообщите администратору!');}
    		}
    	);
    }
    Ответ написан
    1 комментарий
  • Как правильно подключить JS?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    });

    последняя строка лишняя
    Ответ написан
  • Как сделать запоминание положения блока?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    Запоминание куда и для чего?
    Для пользователя? Можно через cookie.
    Ответ написан
  • Правильно ли реализовал структуру БД?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    Самая распространенная ошибка всех начинающих - это наименование полей.
    Заимейте привычку именовать основные поля, по которым будут связи в будущем, с именем таблицы.

    если таблица authors, то ключевое поле должно быть authors_id
    если таблица book, то поле обзывайте book_id

    Это сейчас у вас 3 таблицы и можно понять что куда к чему относится.

    А когда завтра вы будете джоинить по 5-6 таблиц, вы просто запутаетесь где и что с чем джоинится.
    Вот самый обычный пример с 9 джоинами. Если бы во всех таблицах были бы поля просто id, я бы голову сломал чтобы сджоинить. И это самый обычный запрос. А если сюда еще добавить интерсекты, кростабы, группировки, условия и вложенные запросы, то все колом встанет, чтобы интуитивно понять куда что с чем джоинить.

    SELECT
    				o.order_id,
    				lpad(o.order_id::text, 8, '0') AS order_number,
    				o.order_date,
    				o.order_state,
    				o.member_id,
    				o.contacts_data_id,
    				o.invoice_uuid,
    				o.invoice_number,
    				z.organization_short_name AS company,
    				z.organization_id,
    				y.organization_business_number AS bin,
    				f.contact_firstname AS firstname,
    				f.contact_lastname AS lastname,
    				d.*,
    				p.*,
    				x.supply_id,
    				i.invoice_id,
    				'2'||lpad(i.order_id::text, 6, '0') AS invoice
    			FROM
    				orders o
    			JOIN contacts_data s ON
    				o.contacts_data_id = s.contacts_data_id
    			JOIN contacts f ON
    				s.contact_id = f.contact_id
    			JOIN organizations z ON
    				s.organization_id = z.organization_id
    			LEFT JOIN organization_data y ON
    				z.organization_id = y.organization_id
    			JOIN order_data d ON
    				o.order_id = d.order_id
    			JOIN spare_parts p ON
    				p.part_id = d.part_id
    			LEFT JOIN supply_data x ON
    				x.order_data_id = d.order_data_id
    			LEFT JOIN supply xx ON
    				xx.supply_id = x.supply_id
    			LEFT JOIN invoices i ON
    				i.order_id = d.order_id


    Плюс страны вынести в отдельную таблицу, а в таблице авторов указывать ID страны.
    Завтра вы ведь захотите искать по странам. Зачем нагружать базу текстовым поиском и строить индексы по текстовым полям?
    Ответ написан
    Комментировать
  • Можно сделать UPDATE (SQL) с выводом, какие строки не найдены?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    Делаете временную таблицу, в нее выгружаете уникальные идентификаторы, затем делаете апдейт с возвратом UPDATE from bla bla bla RETURNING, который джоинете с выгруженными данными во времянку.

    Можно и без временной таблицы обойтись, но у запроса будет много вложенностей.
    Ответ написан
    Комментировать
  • Как составить схему данных для опросов?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    Вообще в данном случае требуется три таблицы:

    1. таблица с сущностью
    question_id serial
    question_type enum
    question_date
    question_foo и другие параметры

    2. Таблица с вопросами, где может быть 1 вопрос или несколько
    question_data_id serial
    question_data_text text
    question_id int - ссылка на родителя

    3. Таблица ответов
    question_data_answer_id - serial
    question_data_answer_text - txt
    question_data_answer_score - int
    question_data_id - ссылка на родительскую таблицу

    Все... В зависимости от question_type будете формировать разные виды построения опросника. Целостность соблюдается.
    Ответ написан
    Комментировать
  • Стоит ли использовать uuid или есть что-то еще?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    А зачем знать заранее? Не представляю себе такого.
    Если после внесения новой строки в базу хотите знать уникальный ID сформированный в базе, то делаете так

    INSERT INTO table_name (column1,column2) VALUES (value1,value2) RETURNING table_column_id;
    Ответ написан
    Комментировать
  • Как создать дерево в perl из SQL запроса?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    Вопрос не корректный. Точнее не понятно что именно преследуете.
    На Postgres можно вытащить в виде дерева через XML
    www.postgresql.org/docs/9.4/static/functions-xml.h...

    а дальше как угодно парсить.
    Ответ написан
    Комментировать
  • Как создать такую анимацию?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    Если это картинка, что через PorterDuff.Mode

    Если контейнер, то через setAlpha

    Алгоритм простой, например 4 раза снизить/повысить на 25% прозрачность. Или 5 раз по 20%. Или 10 раз по 10%.

    Если картинка в контейнере, и надо показать плавное исчезание, то сперва картинке изменить прозрачность с 100 до 0, а по окончанию контейнеру присвоить View.GONE
    Ответ написан
    Комментировать