неделя, 28 януари 2018 г.

10 правила за водене на преговори и как да вземем максимума

Без да предполагате, Разликата между успеха и провала в днешния сложен свят, се крие в способността за успешно преговаряне. Ето нашите 10 съвета за успешно преговаряне, актуални през 2018 година:

  1. НЕ СЕ СТРАХУВАЙ ДА НАЗОВЕШ ТОВА, КОЕТО ИСКАШУспешните преговарящи са самоуверени, асертивни* и биха "предизвикали" и повдигнали всяка тема - те знаят, че всичко в този свят е въпрос на договаряне. Можем да наречем този начин на мислене "преговарящо съзнание"Преговарящото съзнание е това, което прави разлика между Истински Можещите Преговарящи и всички останали хора.

    Да отстояваш позициите си означава да попиташ за това, което искаш и да не приемаш "НЕ" за отговор.
    Много важно в случая е да изразявате мислите си, без гняв, злоба или тревофа. Накарайте хората да разберат какво искате, без да се чувстват заплашени от това. Опитайте да използвате изявленията тип "Аз".
    Например, вместо да кажете: "Не трябва да правите това", опитайте да замените с "Не се чувствам комфортно, когато правите това".

    Вземете предвид, че съществува разлика между това да бъдеш агресивен и да бъдеш асертивенЧовек е асертивен, когато се грижиш за собствените си интереси, но същевременно запазваш уважението към интересите на другите хора.
    Когато виждаш само своите интереси, без да обръщаш внимание на интересите на другите хора - тогава си агресивен.

    "Да предизвикваш" означава да не приемаш всичко което чуеш за окончателно или за "чиста монета". Човек трябва да мисли за себе си и да може да изгражда собствено тълкуване на нещата, дори това тълкуване да е обратното на това, което му се казва.

    Като елементарен пример може да се даде правото да попиташ за цената на "тази нова кола" или  да не вярваш на всичко което прочетеш във вестника или чувеш по bTV.

    Не можеш да водиш преговори, ако нямаш куража да оспориш вярността на отсрещната страна!
  2. МЛЪКНИ И СЛУШАЙ
    Изумително е каква част от хората, които срещаме, просто не могат да спрат да говорят!
    Истински Успешните Преговарящи са детективи, те пускат сондиращи въпроси и млъкват. Тогава отстрещаната страна ще си каже всичко, което трябва да знаете. От Вас се иска само да слушате.

    Огромна част от конфликтите могат да бъдат лесно разрешени и избегнати, ако можехме да слушаме.

    Хитрината е в това, че сме забравили старата поговорка, че имаме 2 уши и 1 уста. ПРосто трябва да слушаме.
    Толкова сме обладани от това да накараме другите да ни чуят, че  просто забравяме да слушаме.

    Има старо правило на успешната комуникация наречено 70/30 - да слушаш през 70% от времето и да говориш през не повече от 30% от разговора.
    Ще станете ефективен слушател едва когато позволите на другия човек да води по-голяма част от разговора. Насърчете другия "преговарящ" да говори, като задавате въпроси, на които не може да се отговори с просто "да" или "не", т.нар. въпроси с отворен край.

  3. НАПИШИ СИ ДОМАШНАТА
    Това друго нещо, което детективите правят - съберете колкото се може повече полезна информация, преди да започнете преговорите.

    Какви са техните нужди?
    Какво ги напряга и притиска?
    Какви опции и варианти стоят пред тях?

    Да си "напишеш домашната" е жизнено важно за успешното договаряне. Не може да вземете правилни и точни решения, ако не знаете каква е другата страна и гледна точка.
    Колкото повече информация имате за отсрещната страна в преговорите - толкова по-силни ще бъдете.

    Хората, които не успяват да извлекат максимума от преговорите, най-вероятно "не са си написали домашната работа".

  4. ВИНАГИ БЪДИ ГОТОВ ДА СТАНЕШ И ДА СИ ТРЪГНЕШ
    С други думи - никога не преговаряйте, ако имате само 1 вариант.
    Ако зависиш твърде много от положителния резултат на преговорите, губите варианта да отговорите с "НЕ".

    Когато сте уверен в себе си и мислено си кажете "Ще си тръгна, ако не мога да сключа задоволителна сделка", другата страна ще разбере, че си има работа със сериозен преговарящ.
    Вашата решимост ще ги принуди да направят отстъпки.

    Ако може да се даде един единствен съвет за водене на преговори, без колебание това е - винаги бъди готов да се откажеш от преговорите.

    Не го разбирайте погрешно! Не ви съветваме да се отказвате лесно и да си тръгвате, но ако дори не обмисляте възможността да се оттеглите от преговорите, просто ще се подхлъзнете към целта на другата страна и ще изпълните нейните искания.

    Ако не сте отчаяни и осъзнаете, че имате и други възможности - отсрещния преговарящ ще усети вашата вътрешна сила.

  5. НЕ БЪРЗАЙ!
    Да бъдеш търпелив е много трудно за Българите и за балканския ни нрав по принцип. Този манталитет няма място в преговорите!

    Ако някога сте водили преговори в някоя държава, която не е на Балканите, ще знаете, че хората в тези държави гледат по друг начин на времето, особено в Азия или Близкия Изток. Те знаят, че ако бързате е много по-вероятно да допуснете грешки и да не извлечеш максимума.

    Страната в преговорите, която е по-гъвката и не бърза, има огромно предимство пред другата страна.
    Вашето търпение може да "побърка" другия преговарящ, ако той бърза, защото може да помисли, че не сте под натиск да сключите сделката. И какво ще направи? Ще направят отстъпки, само и само да Ви накарат да кажете "ДА".

  6. ОЧАКВАЙ НАЙ-ДОБРИЯ ИЗХОД ОТ ПРЕГОВОРИТЕ
    Успешните преговарящи са оптимисти! Ако очакваш повече - взимаш повече.  Доказана стратегия е, че за да получиш най-добрия резултат трябва да имаш "прекалени", дори екстремни очаквания.
    Продавачът трябва да поиска повече от колкото иска, а купувачът трябва да предложи по-малко, отколкото е готов да плати. Хората, които се целят нависоко, постигат по-добри резултати.

    Твоят оптимизъм ще се превърне в самоизпълняващо се пророчество. И обратното, ако имате ниски очаквания, вероятно ще приключите с по-лош резултат.

  7. ФОКУСИРАЙ СЕ ВЪРХУ ПРИТЕСНЕНИЯТА НА ДРУГАТА СТРАНА, А НЕ ВЪРХУ ТВОИТЕ
    Естествената реакция е да се фокусираме върху нашите притеснения, напрежение и проблеми. т.е. върху нашите причини да искаме тази сделка.

    "Тревата в двора на комшията винаги изглежда по-хубава и по-зелена, дори и да не е така."

    Ако попаднете в този капан, действате срещу себе си и отсрещната страна ще изглежда по-силна. 
    Ако се фокусираш върху собствените си проблеми и ограничения, изпускаш общата картина.

    Затова Истински Успешните Преговарящи се питат:

    "Какви са притесненията на другата страна?"
    "Какви са техните рискове?"
    "Какви са техните срокове и напрежения?"

    Ще се почуствате много по-силни, когато установите и разпознаете причините, поради които другата страна иска сделката. 
    Вашата сила в преговорите зависи до голяма степен от напрежението върху другата страна.
    Дори и да изглежда, че не им пука, те със сигурност имат свои пристеснения и проблеми. Твоята работа е да бъдеш детектив и да ги извадиш на яве.

    Ако откриете, че те са под напрежение (а те със сигурност са!), потърси начини да се възползваш от това напрежение, за да постигнеш по-добър резултат за себе си.

  8. ПОКАЖЕТЕ КАК ЩЕ БЪДАТ УДОВЛЕТВОРЕНИ НУЖДИТЕ ИМ
    Истински Успешните Преговарящи винаги гледат на ситуацията и от отсрещната страна. Всеки вижда света по различен начин, така че ще бъдете с едни гърди напред, ако може да разберете как те възприемат сделката.
    Вместо да се опитвате на всяка цена да спечелите сделката, потърсете начин да разберете другия и потърсете начин той да се почувства удовлетворен.

    "Едната ръка мие другата"

    Ако успеете да помогнете на другата страна да бъде удовлетворена, те ще бъдат по-склонни да ви помогнат вие също да сте удовлетворени. Това не означава да се предадете и да приемете всичките им искания.

    Удовлетвореност означава, че основните им интереси са изпълнени, а не че всички искания и претенции са приети. Не бъркайте основните интереси с исканията и претенциите.

    Исканията и претенциите са това, което казват, че искат. Основните им цели и интереси са това, което наистина имат нужда да получат.

  9. НЕ ДАВАЙ НИЩО, БЕЗ ДА ПОЛУЧИШ НЕЩО В ЗАМЯНА
    Едностранните отстъпки са самоунищожителни. Всеки път, когато дадете нещо, вземете нещо в замяна. Винаги следвайте алгоритъма: "Ще направя това, ако вие направите онова.". В противен случай, сами ще подкатните другия да иска още нещо.

    Ако направите някакъв компромис, без да поискате същото от отсрещната страна, те ще почувстват, че са били в правото си да поискат отстъпката и няма да се задоволят докато не получат дори още повече.

    Ако на отсрещната страна се налага ДА СПЕЧЕЛИ ОТСТЪПКАТА, тя ще изпита по-голямо чувство на удовлетворение, отколкото ако получи отстъпката без нищо.

  10. НЕ ПРИЕМАЙ ЛИЧНО ВЪПРОСИТЕ ИЛИ ПОВЕДЕНИЕТО НА ДРУГИЯПрекалено често преговорите се провалят, защото някоя от двете страни се отклонява с лични проблеми или чувства, които не са свързани със сделката. Истински Успешните Преговарящи са съсредоточени върху решаването на проблема, а именно:
    "Как можем да сключим споразумение, което да зачита нуждите и на двете страни?"
    Обсебването от личността на другия или от странични фактори, които не са пряко свързани, може да саботира преговорите. Ако някой е груб или труден за работа, опитайте се да разберете поведението им и не го приемайте лично.

асертивен* - Терминът  е широко разпространен в западната  психология и произхожда от английската  дума assert, която значи заявявам, утвърждавам, доказвам. Човек се държи като асертивен, когато отстоява себе си, изразява истинските си чувства и не позволява на другите хора да се възползват от него. В същото време зачита чувствата на другите. Ако човек е асертивен, може да защити по най-добрия начин интересите си.

петък, 26 януари 2018 г.

Свързване към база данни на Joomla - към друга и към тази на нейната си инсталация



<?php
$option = array(); //prevent problems

$option['driver']   = 'mysql';            // Database driver name
$option['host']     = 'localhost';    // Database host name
$option['user']     = 'потребителското име';       // User for database authentication
$option['password'] = 'паролата';   // Password for database authentication
$option['database'] = 'името на базата';      // Database name
$option['prefix']   = '';             // Database prefix (may be empty)

$db = JDatabaseDriver::getInstance( $option );
$query = $db->getQuery(true); 

$query->select(array('*'))
->from($db->quoteName('името на таблицата'))
->where($db->quoteName('manufacturer') . ' IS NOT NULL')
->OR($db->quoteName('type') . ' IS NOT NULL');
$query->order('manufacturer ASC');
$db->setQuery($query);
$results = $db->loadObjectList();
echo '<table class="table table-striped">';
echo '<tr><th>ПРОИЗВОДИТЕЛ</th><th>ТИП</th><th>МОЩНОСТ</th><th>ОБОРОТИ</th></tr>';
foreach ($results as $row)
{
echo '<tr>';
echo '<td class="first">'. $row->manufacturer .'</td>';
echo '<td>' . $row->type. '.</td>';
echo '<td>' . ($row->power+0) . ' kW</td>';
echo '<td>' . $row->rpm. ' мин.<sup>-1</sup></td>';
echo '</tr>';
}
echo '</table>';
 ?>

Когато се свързваш към таблиците на базата, в която е инсталирана Joomla, първите редове могат да бъдат замествени с:
$db = JFactory::getDbo();
$query = $db->getQuery(true); 

сряда, 24 януари 2018 г.

Google Spreadsheet и Excel полезни функции

Функции

HLOOKUP и VLOOKUP търсят задължително в първия ред/колона

=INDEX(F2:F,MATCH(1,(K2=D2:D)*(I2=B2:B)*(J2=C2:C)*(L2=E2:E),0))
Намира точната стойност на клетка, която се намира между F2:F и отговаря на определени условия

=FILTER(A2:F,IF(ISBLANK(K2),1,D2:D=K2)*IF(ISBLANK(I2),1,B2:B=I2)*IF(ISBLANK(J2),1,C2:C=J2)*IF(ISBLANK(L2),1,E2:E=L2))
Изважда целия ред намиращ се между A2:F. Когато се изтрие съдържанието на клетките, филтъра работи. Затова се ползват ISBLANK и IF. Тук съм питал дали може да се направи по-елегантно

=QUERY(A2:F, "SELECT * WHERE (B="&I2&" AND E='"&L2&"')",0)
Извежда всички редове между А2:F, за които B=I2 и E=L2


=query('Form Responses 2'!A1:B, "select * order by A desc", 1)
Сортира отговорите от Google Forms по дата (или друга колона)

=QUERY(A3:C," select * where A = "&G3&" AND B ="&H3&" " )
Изважда редовете, в които стойността в колона А=G3 И колона В=Н3
17.11.2019

=SORT('Отговори от формуляр 3'!A2:G;1;FALSE)
Сортира отговорите от 'Отговори от формуляр 3' получени чрез Google forms, между колони А и G, според  А

=ArrayFormula(IF(B2:B,$B$2:$B/$C$2:$C,))
Изпълнява формулата след първата запетая, докато има записи в B2:B

=arrayformula('Отговори от формуляр 3'!A1:G1)
Копира в нов sheet полетата между A1 и G1 на 'Отговори от формуляр 3'

=IMPORTXML("http://coinmarketcap.com/currencies/bitcoin/","//span[@class='text-large2']")
Взима стойността на class=text-large2

=RIGHT/или LEFT/ (адреса на клетката ; /или запетая/ *броя на символите, които искаш да вземеш*)

=А1&A2 - комбинира стойностите в двете клетки


Добавени на 1 Юни 2019г.:

=and($E3>now(),NOT(ISBLANK($E3)))
 - Освен, че проверява дали датата е минала, не изпълнява формулата, ако клетката е празна


JavaScript

Копиране на форматирането за цялата таблица на Form Responses, включително и за новите отговори

function copyFormat() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var lastRow = sheet.getLastRow();
  var lastColumn = sheet.getLastColumn();
  sheet.getRange(3, 1, 1, lastColumn).copyFormatToRange(sheet, 1, lastColumn, 3, lastRow);
}

В последния ред на този скрипт 5 означава, че взима форматирането от ред №5 и го прилага в цялата таблица https://webapps.stackexchange.com/questions/91027/how-can-i-retain-cell-formatting-when-data-is-inputted-via-a-form


function onEdit(e) { // Премества ред от една таблица в друга, когато е написано "ГОТОВО" // see https://productforums.google.com/d/topic/docs/ehoCZjFPBao/discussion var sheetNameToWatch = "ЗА ВЗИМАНЕ"; var columnNumberToWatch = 4; // column A = 1, B = 2, etc. var valueToWatch = "ГОТОВО"; var sheetNameToMoveTheRowTo = "ВЗЕТИ"; var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getActiveCell(); if (sheet.getName() == sheetNameToWatch && range.getColumn() == columnNumberToWatch && range.getValue() == valueToWatch) { var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo); var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1); sheet.getRange(range.getRow(), 1, 1, sheet.getLastColumn()).moveTo(targetRange); sheet.deleteRow(range.getRow()); } }

var range2 = e.range; range2.setNote('Последна промяна е направена: ' + new Date()); // Слага коментар с датата, на която е направена промяна
function onEdit(e) { var colToWatch = 7, colToStamp = 13; if (e.range.columnStart !== colToWatch) return; var writeVal = e.value ? new Date().new time() : ''; e.source.getActiveSheet() .getRange(e.range.rowStart, colToStamp) .setValue(writeVal);} //слага дата в колона 13 при промяна в колона 7