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


Публикации Аlex Jet

37 публикаций создано Аlex Jet (учитываются публикации только с 20-Апрель 23)



#33077 Группировка по месяцу

Отправлено от Аlex Jet в 07 Май 2017 - 12:40 in Как это сделать

Изменил поле Период вручную, получилось следующее:
<p style="display: none;">01</p>Май 2017
При таком написании код работает, в таблице отображается только месяц и год, цифры не отображаются.

По этому же принципу переписал вычисление:
$data1 = strtotime($line['Дата выполнения']);  //Получаем дату из поля Дата выполнения
$months = array( 1 =>
'<p style="display: none;">01</p>Январь' ,
'<p style="display: none;">00</p>Февраль' ,
'<p style="display: none;">03</p>Март' ,
'<p style="display: none;">04</p>Апрель' ,
'<p style="display: none;">05</p>Май' ,
'<p style="display: none;">06</p>Июнь' ,
'<p style="display: none;">07</p>Июль' ,
'<p style="display: none;">08</p>Август' ,
'<p style="display: none;">09</p>Сентябрь' ,
'<p style="display: none;">10</p>Октябрь' ,
'<p style="display: none;">11</p>Ноябрь' ,
'<p style="display: none;">12</p>Декабрь' );
$line['Период'] = date($months[date( 'n',$data1 )] . ' Y',$data1 );  //Выводим месяц и год в поле Период

В итоге поле Период принимает значение:
<p 003116SaturdayEtc/GMT-3="030000pSaturdayam16: 12201612Etc/GMT-3;">12</p>Декабрь 2016

В таблице отображается цифра и месяц - 05 Май 2017



#33072 Группировка по месяцу

Отправлено от Аlex Jet в 06 Май 2017 - 14:07 in Как это сделать

Сделал группировку записей в таблице по месяцу с годом, для этого добавил поле Период, значение которого вычисляется по дате

$data1 = strtotime($line['Дата выполнения']);  //Получаем дату из поля "Дата выполнения"
$months = array( 1 => 'Январь' , 'Февраль' , 'Март' , 'Апрель' , 'Май' , 'Июнь' , 'Июль' , 'Август' , 'Сентябрь' , 'Октябрь' , 'Ноябрь' , 'Декабрь' );
$line['Период'] = date($months[date( 'n',$data1 )] . ' Y',$data1 );  //Выводим месяц и год в поле "Период"

В итоге поле Период принимает значения Апрель 2017, Май 2017 и т.д.

При выведении в таблице стоит сортировка по полю Дата, но изначально все записи группируются по полю Период, и выводятся в алфавитном порядке. Сначала выводятся записи Апреля, потом Декабря, а потом Мая и тд. Внутри каждой группы записи сортируются как надо, по дате.

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



#32937 Подключение подсказок сервиса dadata

Отправлено от Аlex Jet в 13 Апрель 2017 - 09:27 in Конфигурации

Выводит ошибку в js-коде страницы, где стоит автозаполнение полей при выборе Организации, а именно:
function setSugValue_party(daData)
{
  document.getElementById("value5391").value = daData.inn; // ИНН
  /*document.getElementById("value5401").value = daData.kpp; // КПП */
  document.getElementById("value5411").value = daData.ogrn; // ОГРН
  document.getElementById("value5461").value = daData.address.value; // Юр Адрес
  document.getElementById("value5471").value = daData.management.name; // ФИО Руководителя   // в этой строке выходит ошибка: Uncaught TypeError: Cannot read property 'name' of undefined
}

Скриншот - https://yadi.sk/i/95F6wpb-3GvJQR

---
Убрал заполнение поля ФИО Руководителя и все заработало. Похоже оно только для ООО корректно заполняется.



#32928 Подключение подсказок сервиса dadata

Отправлено от Аlex Jet в 11 Апрель 2017 - 20:29 in Конфигурации

Все получилось, задал каждой функции свое имя.

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

Но при заполнении Наименования организации, если в подсказке было выбрано какое-либо ИП, то потом, при изменении этого поля, поля ИНН, КПП, ФИО руководителя не изменяются, и подсказка не пропадает по клику на нее.

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



#32925 Подключение подсказок сервиса dadata

Отправлено от Аlex Jet в 10 Апрель 2017 - 20:57 in Конфигурации

При настройке возникла следующая проблема, в таблице Юр лица есть два поля - Наименование организации и Банк. По первому должны подгружаться поля ФИО руководителя, ИНН и КПП. По второму - БИК и Корр счет.

В два поля я добавил js-код.

В поле ИНН:
// Заполнение полей организации по значению поля Наименование организации
function setSugValue(daData)
{
  document.getElementById("value5391").value = daData.inn; // ИНН
  document.getElementById("value5401").value = daData.kpp; // КПП
  document.getElementById("value5411").value = daData.ogrn; // ОГРН
  document.getElementById("value5461").value = daData.address.value; // Юр Адрес
  document.getElementById("value5471").value = daData.management.name; // ФИО Руководителя
}

В поле БИК:
// Заполнение поля БИК и Корр счет по значению поля Банк
function setSugValue(daData)
{
  document.getElementById("value5421").value = daData.bic; // БИК
  document.getElementById("value5451").value = daData.correspondent_account; // КС
}

Теперь при заполнении поля Наименование организации сбрасываются значения БИК и КС на undefined, тоже самое происходит при заполнении поля Банк с полями ИНН, КПП. Что нужно сделать, чтобы поля не пересекались при заполнении?



#32921 Подключение подсказок сервиса dadata

Отправлено от Аlex Jet в 09 Апрель 2017 - 18:26 in Конфигурации

Заработало =) andibrag, большое спасибо за участие)



#32919 Подключение подсказок сервиса dadata

Отправлено от Аlex Jet в 09 Апрель 2017 - 18:23 in Конфигурации

По-моему в конце кода не хватает скобок
$(function($) {
// ПОДСКАЗКИ ДЛЯ ПОЛЕЙ
$("[placeholder^='Введите адрес']").suggestions({
serviceUrl: "https://suggestions.dadata.ru/suggestions/api/4_1/rs",
token: "API-ключ",
type: "ADDRESS",
count: 5,
/* Вызывается, когда пользователь выбирает одну из подсказок */
onSelect: function(suggestion) {
  console.log(suggestion);
  if (typeof setSugValue == 'function') {
   setSugValue(suggestion.data);
  }
}
});
}); //добавил эти скобки



#32918 Подключение подсказок сервиса dadata

Отправлено от Аlex Jet в 09 Апрель 2017 - 18:17 in Конфигурации

Вот скриншоты с ошибкой:
https://yadi.sk/i/20BE1NVv3Go5tZ
https://yadi.sk/i/PKHr8StL3Go5tL



#32917 Подключение подсказок сервиса dadata

Отправлено от Аlex Jet в 09 Апрель 2017 - 18:11 in Конфигурации

Цитата

Ajax запрос что-нибудь возвращает?
Тут выходит ошибка Uncaught SyntaxError: Unexpected end of input..

Блокировщики и прочее не стоит, все лишнее отключено



#32914 Подключение подсказок сервиса dadata

Отправлено от Аlex Jet в 09 Апрель 2017 - 12:59 in Конфигурации

Просмотр сообщенияandibrag (08 Апрель 2017 - 19:07) писал:

Убедитесь, что реальное его расположение совпадает с тем, что высветилось.

Все пути совпадают, на скриншоте видно. Настройки личного кабинета dadata тоже на скриншоте.
Прикрепленное изображение: скрипты дадата.jpg Прикрепленное изображение: дадата настройки.jpg



#32912 Подключение подсказок сервиса dadata

Отправлено от Аlex Jet в 08 Апрель 2017 - 00:40 in Конфигурации

Сделал тоже самое, подсказки не появляются, браузер - хром

Файл include/functions_custom.php:
<?php
$ADDITIONAL_JAVASCRIPT_INCLUDE.="<script type='text/javascript' src='https://cdn.jsdelivr.net/jquery.suggestions/16.8/js/jquery.suggestions.min.js'></script>";
$ADDITIONAL_JAVASCRIPT_INCLUDE.="<link rel='stylesheet' href='dadata/suggestions.css' type='text/css' >";
$ADDITIONAL_JAVASCRIPT_INCLUDE.="<script type='text/javascript' src='dadata/dadata.js'></script>";
?>

Файл dadata/dadata.js:
$(function($) {
// ПОДСКАЗКИ ДЛЯ ПОЛЕЙ
$("[placeholder^='Введите адрес']").suggestions({
serviceUrl: "https://suggestions.dadata.ru/suggestions/api/4_1/rs",
token: "API-ключ",
type: "ADDRESS",
count: 5,
/* Вызывается, когда пользователь выбирает одну из подсказок */
onSelect: function(suggestion) {
  console.log(suggestion);
  if (typeof setSugValue == 'function') {
   setSugValue(suggestion.data);
  }
}
});

Тип поля для ввода - текст, подсказка стоит, права на добавление и редактирование тоже. Скрипты и файл стилей подгружаются.
Прикрепленное изображение: загрузка скриптов dadata.png



#32906 Объединение строк подтаблицы

Отправлено от Аlex Jet в 07 Апрель 2017 - 11:34 in Как это сделать

большое спасибо, все получилось!



#32896 Объединение строк подтаблицы

Отправлено от Аlex Jet в 05 Апрель 2017 - 08:56 in Как это сделать

Просмотр сообщенияTony999 (04 Апрель 2017 - 23:01) писал:

В переменную $thatTxt кроме $row['f1440'] (это поле Описание из подтаблицы Позиции счета) добавить нужные поля из этой же подтаблицы.
В последней строке implode(", " запятая - это разделитель, замените на нужное.

Сделал новое поле Описание 2, чтобы протестировать. Добавил туда код с самого начала вычисления Сохранение счета, изменив переменные. Получилось следующее:

$result1 = data_select(74, 'f807=', $ID, ' and status=0');
$txt1 = array();
while ($row = sql_fetch_assoc($result1)) {
	$thatTxt1 = "";
	// если есть прайс, название товара
	if ($row['f2331']) {
		$numen1 = data_select_array(91, "status=0 AND id=", $row['f2331']);  //2331 - Прайс-лист из таблицы Позиции счета
		$thatTxt1 = $numen1['f1158'] && " - " && $numen1['f1169'];  //1158 - Наименование товара, 1169 - Цена товара
	}
  
	// нет прайса - описание
	elseif ($row['f1440']) {
		$thatTxt1 = $row['f1440'];
	}
	  
		if (!in_array($thatTxt1, $txt1) && $thatTxt1) {
				$txt1[] = $thatTxt1;
		}
}
$line['Описание 2'] = implode("; ", $txt1);

Строку $thatTxt1 = $numen1['f1158'] && " - " && $numen1['f1169']; вставил не туда, куда указывали, так как тут есть проверка на заполненность поля 1158 (Прайс-лист из таблицы Позиции счета). В Вашем варианте поле Описание 2 заполнялось как раньше, только названием товара, так как поле прайс-лист было заполнено.

Думаю я неправильно указал строку
$thatTxt1 = $numen1['f1158'] && " - " && $numen1['f1169'];
так как сейчас в поле Описание 2 выводится единица.



#32858 Объединение строк подтаблицы

Отправлено от Аlex Jet в 01 Апрель 2017 - 18:20 in Как это сделать

Добрый день! Как объединить несколько значений из строк подтаблицы в одном поле таблицы?

Пример, сейчас в поле Описание таблицы Счета объединяются значения полей названий товаров, которые указаны в счете (если товаров несколько, то поле равно Товар 1, Товар 2, Товар 3...).

Нужно чтобы значение поля принимало значения Товар 1 - Цена 1; Товар 2 - Цена 2; Товар 3 - Цена 3.



#32275 Счетчик СМС

Отправлено от Аlex Jet в 04 Декабрь 2016 - 20:11 in Как это сделать

Как можно подсчитать количество смс, отправленных конкретным пользователем за определенный период?



#32163 Прошу совет - Есть два отдела по продажам у каждого свое....

Отправлено от Аlex Jet в 31 Октябрь 2016 - 10:51 in Как это сделать

исправил, все равно строки не добавляются при добавлении этой строки
$result_company = data_select_array(85, "status=0 AND f1096=", $goods_id, " AND f5811=", $company_id);



#32161 Прошу совет - Есть два отдела по продажам у каждого свое....

Отправлено от Аlex Jet в 31 Октябрь 2016 - 10:23 in Как это сделать

В вычислении сохранение прихода есть код, который получает строку из таблицы Склад с названием товара:
$goods_id = $line['Наименование']['raw'];
$result = data_select_array(85, "status=0 AND f1096=", $goods_id);

я хочу сделать получение строки из таблицы Склад с названием товара и компании, указанной в Позиции прихода:
$goods_id = $line['Наименование']['raw'];
$company_id = $line['Наша компания']['raw'];
$result_company = data_select_array(85, "status=0 AND f1096=", $goods_id, "AND f5811=",  $company_id); 
// в таблице Позиции прихода поле Наша компания является связью с таблицей Мои компании
// 5811 поле Наша компания в таблице Склад

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

Как правильно составить запрос, который бы осуществлял выборку строк не только по названию товара, но и по компании?



#32088 Показ/скрытие полей через JavaScript

Отправлено от Аlex Jet в 11 Октябрь 2016 - 23:36 in Как это сделать

Не работает код.

Нужно чтобы Кнопка 1 и Кнопка 2 были скрыты по умолчанию и показывались только при выполнении условия 1 или 2. Кнопки скрываются только в режиме редактирования, но после сохранения в режиме просмотра отображаются, несмотря на то, что условия не выполняются.

function onchange_{$one_field.id}()
{		  
	 if
		( //условие 1
		document.getElementById('value5511').value == "Передано" &
		document.getElementById('value4601').value != ""
		)
		  { //показываем Кнопка 1
		  document.getElementById("user_button_div_181").style.display = '';
		  document.getElementById("e_user_button_div_181").style.display = '';	
		  }


	else if
		( //условие 2
		document.getElementById('value5511').value == "Выполнено" &
		document.getElementById('value4601').value != "" &
		document.getElementById('value5681').value == "Оплата мастеру" &
		document.getElementById('value4621').value != "0,00"
		)
		  { //показываем Кнопка 2
		  document.getElementById("user_button_div_101").style.display = '';
		  document.getElementById("e_user_button_div_101").style.display = '';	
		  }


	else
	{
	//скрыть Кнопка 1
	document.getElementById("user_button_div_181").style.display = 'none';
	document.getElementById("e_user_button_div_181").style.display = 'none';
	//скрыть Кнопка 2
	document.getElementById("user_button_div_101").style.display = 'none';
	document.getElementById("e_user_button_div_101").style.display = 'none';
	}  

}

// здесь задаем поведение кнопки во время изменения поля:
addHandler(document.getElementById('value5511'), 'onchange', onchange_{$one_field.id});
addHandler(document.getElementById('value4601'), 'onchange', onchange_{$one_field.id});
addHandler(document.getElementById('value5681'), 'onchange', onchange_{$one_field.id});
addHandler(document.getElementById('value4621'), 'onchange', onchange_{$one_field.id});
addHandler(document.getElementById('value4631'), 'onchange', onchange_{$one_field.id});


// здесь задаем поведение кнопки при открытии страницы:
$(document).ready(onchange_{$one_field.id});



#32087 Добавление записи через вычисление

Отправлено от Аlex Jet в 11 Октябрь 2016 - 18:33 in Как это сделать

Просмотр сообщенияCbCoder (11 Октябрь 2016 - 09:31) писал:

На данный момент нет. Механизм реализован только в подтаблицах.

Тогда можно ли перезагрузить страницу, сохранив все заполненные поля при выборе существующего контрагента?



#32082 Скрыть доп.действие

Отправлено от Аlex Jet в 11 Октябрь 2016 - 15:19 in Как это сделать

Код скрывает кнопки доп действий в зависимости от условий:

function onchange_{$one_field.id}()
{
  
if (document.getElementById('value{$one_field.id}').value=={$user.id})
	{ // если пользователь в поле равен текущему - скрываем
		  document.getElementById("user_button_div_161").style.display = 'none';
		  document.getElementById("e_user_button_div_161").style.display = 'none';
	}

else
	{ // иначе - отображаем
		  document.getElementById("user_button_div_161").style.display = '';
		  document.getElementById("e_user_button_div_161").style.display = '';
	}
}

// здесь задаем поведение кнопки во время изменения поля:
addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id});

// а здесь задаем поведение кнопки при открытии страницы:
$(document).ready(onchange_{$one_field.id});

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



#32081 Показ/скрытие полей через JavaScript

Отправлено от Аlex Jet в 11 Октябрь 2016 - 15:09 in Как это сделать

Спасибо) все получилось

Вот окончательный код, позволяющий изменять значение поля 2 в зависимости от значения поля 1, надеюсь кому то поможет сократить поиски

function onchange_{$one_field.id}()

{

// если поле 1 равно ААА, то в поле 2 установится 111
if (document.getElementById('value4581').value == "Значение ААА")
document.getElementById('value5681').value = "Значение 111";

// если поле 2 равно БББ, то в поле 2 установится 222
if (document.getElementById('value4581').value == "Значение БББ")
document.getElementById('value5681').value = "Значение 222";

}

$(document).ready(onchange_{$one_field.id});  //функция срабатывает при загрузке страницы
$('#value{$one_field.id}').change(onchange_{$one_field.id});  //функция срабатывает при изменении поля

// 4581 - поле 1
// 5681 - поле 2



#32072 Показ/скрытие полей через JavaScript

Отправлено от Аlex Jet в 10 Октябрь 2016 - 17:24 in Как это сделать

Вычисление

if ($line['Поле 1'] == "ААА") $line['Поле 2'] = 111;

будет работать при сохранении или обновлении страницы, как это можно сделать через javascript, чтобы это происходило в режиме редактирования?



#32071 Добавление записи через вычисление

Отправлено от Аlex Jet в 10 Октябрь 2016 - 17:09 in Как это сделать

Сделал вот так, если оставить поле телефон пустым и выбрать существующего контрагента с указанным телефоном, то поле телефон обнуляется

if ($line['Телефон клиента'] == "") {
	    $line['ФИ клиента']['Телефон клиента'] = $line['Телефон клиента'];
}
else {
	    $line['Телефон клиента'] = $line['ФИ клиента']['Телефон клиента'];
}

Можно ли сделать так, чтобы поле телефон заполнялось не после сохранения записи, а во время редактирования?



#32061 Собственный CSS

Отправлено от Аlex Jet в 08 Октябрь 2016 - 19:24 in Как это сделать

Спасибо) вот что получилось:

Прикрепленное изображение: собственный css.jpg Прикрепленное изображение: собственный css 2.jpg

В своем CSS использовал шрифты от Google (Open Sans, Roboto Condensed), в некоторых местах изменил размеры. Кое что еще стоит доработать, но уже сейчас внешний вид, на мой взгляд, стал более современным и приятным.

Кто делал что-то подобное, скидывайте свои варианты, очень интересно посмотреть, кто еще что и как изменил в своей версии.



#32060 Получить поле "Город"

Отправлено от Аlex Jet в 08 Октябрь 2016 - 16:34 in Как это сделать

теперь галочка "Случайное" работает, но при выборе "Значение по умолчанию: Случайное" и "Обязательное для заполнения" поле заполняется всеми возможными значениями из связанной таблицы, не смотря на то, что некоторые из них скрыты фильтром в настройках доступа.

Прикрепленное изображение: фильтр кб 08 10 16.jpg