10 мая 2016 г.

Конфигурация "Спортзал"

!!!Конфигурация на украинском языке, но, если есть желание, переведу на любой интересующий.

Данное прикладное решение имеет всего 4 вида объектов, это:

  • 4 справочника (Абонемент (вид тренировки), Карта (ориентир скидок), Клиент (список клиентов)
  • 1 отчет (по данным отчета можно узнать информацию о клиенте (когда, сколько и какого вида занятия брал клиент, а также баланс, скидка и долг по конкретному занятию).

  • 1 регистр сведений (этим объектом реализовано сохранение и повторное использование одной и той же карточки клиента много раз, т.е., если срок действия абонемента закончился, то не надо создавать еще один элемент справочника для того самого клиента, ранее созданная карточка клиента может обновлять предыдущий вид абонемента).
  • 1 обработка (осуществляет поиск клиента по индивидуально выданной карте для каждого клиента.

Описание объектов:

Абонемент или вид тренировки дает возможность выбрать тренировку или количество занятий (например, клиент может купить 50 занятий и заниматься только с тренером, а может посещать занятие за период, с 10 по 20 число месяца апрель и хоть ночевать в тренажерном зале). Также в окне абонемента можно и нужно указать как название, так и стоимость абонемента.

В карте клиента можно создать вид карты (по данному справочнику можно делать ориентир, например, создать карту «Универсальная», которая выбирается для всех клиентов, а «Скидочная», которая только для выборочных клиентов)

Главное окно карты клиента:

В карточке клиента нужно:

  • Указать фотографию клиента
  • Задать № карты, которая индивидуально выдается для каждого клиента администратором зала при создании карточки клиента в программе
  • Указать Контактные данные, такие как:
    • Ф.И.О.
    • Дата рождения (если клиент не достиг 18 лет, тогда нужно добавить контактные данные родителей)
    • Номер телефона клиента
    • Адрес клиента
    • Если требуется, можно задать скидку клиенту (*скидка задается в валюте, а не в %)
    • Для информации можно задать начальный вес клиента (до занятий)
    • Абонемент
    • Карта

Порядок работы с созданием карточки клиента:

  • Заполняем № карты и выдаем карту клиенту (например, пластиковую карту с набитым индивидуальным штрих-кодом или номером для каждого клиента)
  • Заполняем Ф.И.О.
  • Д\Р и если нужно информацию о родителях
  • Номер телефона
  • Адрес
  • Начальный вес
  • Выбираем абонемент (при изменении поля абонемент автоматически стоимость абонемента записывается в долг клиенту и показывается в информативном окне по центру карточки клиента, а также в зависимости от вида абонемента будет показано или первоначальное количество дней, выбранных клиентом из абонемента или дата начала и дата окончания, то есть период оплаченных тренировок).

                Если, в типе абонемента стоит «Посещение» тогда при каждом приходе клиента на занятие, администратор зала должен открыть карточку клиента и нажать кнопку «Отчислить тренировку» где должен ввести (или просканировать, используя сканер штрих-кодов, штрих-код карты) № карты клиента

                и если, № карты будет соответствовать карте клиенту то будет списано - 1 занятие.

                Если, в типе абонемента стоит «Срок», тогда при каждом открытии карточки клиента будет показано, сколько дней еще осталось до конца оплаченного периода занятий по абонементу.

  • Нужно заполнить поле Карта, которая в функционале не играет роли, а просто информативно отображает, к какой категории относится данный клиент («скидочный», «универсальный», например).
  • Заполнить скидку (скидка заполняется в валюте, например, клиенту даем скидку на 10 грн.)
  • Нажимаем «Изменить данные» (После нажатия происходит пересчет Стоимость абонемента – Скидка, например, 2500 – 10 = 2490 – это является долгом клиента, который он должен оплатить. 
  • Этот долг помещается в информативное поле + в это же поле помещается информация о скидке. А также, в зависимости от типа абонемента, в моем случае тип (вид) «Посещение», а значит, первоначальное количество посещений переместилось в карточку клиента для дальнейшего информационного указание о выборе дней по данному абонементу. Так же, автоматически рассчитывается остаток дней тренировок + активируется кнопка «Внести средства», если клиент «созрел» оплатить выбранный абонемент.
  • Кнопка «Внести средства», во-первых, показывает информацию о текущем балансе клиента, да, клиент может «дать» администратору зала деньги, которые будут находиться на его виртуальном счете, во-вторых в данной форме есть возможность оплатить как наличными за выбранный абонемент, так и балансом.

                Мы видим, что клиент наличными оплачивает администратору зала 3000 грн., а стоимость абонемента 2490, тогда разница в 510 грн. попадет клиенту на баланс.

                И в последующем балансовые 510 грн. клиент может оплатить за следующий абонемент.

                На этом создание и оплата клиентом выбранного абонемента окончена. Можно нажимать ЗаписатьИЗакрыть.

Порядок работы с продлением абонемента:

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

После изменения абонемента опять же, если нужно, указать скидку, а потом нажать кнопку «Изменить данные», этим самым «ПЕРЕЗАПИСЫВАЕМ» текущие данные на форме карточки клиента на новые данные по скидке, долгу, количеству дней или периоду посещения по абонементу.

! Бывает, что при создании карточки клиента, клиент не готов сразу оплатить выбранный абонемент, тогда создаем, описанным выше способом карточку клиента и тем самым по клиенту образуется долг и если клиент в будущем «созреет» оплатить свой долг тогда, как в карточке клиента, так и на форме отчета «Клиенты» есть кнопка «Корректировка долга»

после нажатия которой откроется список записей, где нужно отыскать запись (запись – это один цикл выбранного абонемента), по которой клиент хочет оплатить долг (ведь может быть, клиент задолжал еще и по предыдущему выбранному абонементу), открыть запись и в поле «Долг»

вписать результирующий долг после оплаты (например, осталось оплатить 100 грн., тогда в поле «Долг» пишем 100 грн).


Основные формы задокументированы нажатие F1

Тестировалось на релизе платформы 1С:Предприятие 8.3 (8.3.7.2008).

Только управляемые формы.

Конфигурация работает под «Толстый, Тонким, Web" клиентами.

Работает как локально, по сети, так и через интернет, используя веб-браузер.

Скачать конфигурацию можете по этой ссылке.

6 мар. 2016 г.

Обработка Новая почта

Замечание! Обработка работает только под «Толстым клиентом».
*Обновлено 20.04.2016 - теперь работает как под «Толстым клиентом» так и под «Тонким клиентом».

Реализованы некие функции создания электронной накладной, а именно, создания накладной типа «Склад-Склад», с формой оплаты «Наличные», с типом груза «Груз», с плательщиком «Отправитель\Получатель» и типом контрагента «Частное лицо».
Реализовано создание получателя с типом контрагента «Частное лицо».
Реализовано возможность получения на дату списка электронных накладных с возможностью печати этих накладных.

Ниже пару скриншотов:










Порядок работы с обработкой такой:

Заходим на https://my.novaposhta.ua, вводим логин и пароль, переходим в «Настройки», с левой стороны выбираем «API 2.0», создаем ключ, если он не создан, внизу среди списка ключей берем и копируем этот «Ключ» и вставляем в обработку. 

Теперь все кнопки и поля будут автоматически подгружать информацию из сервиса «Новой почты», узнавая вас по ключу.

Скачать обработку можем по этому адресу, а если у вас нет стартмани то пишите в комментариях, поделюсь бесплатно отправив по эл. почте.

19 февр. 2016 г.

ФИФО в запросе

Оказывается метод списания ФИФО можно получить перебирая запросом только Документы, а не городить все это дело через РегистрыНакопления, вот нашел, где то на инфостарте (спасибо автору)
ВЫБРАТЬ
ВложенныйЗапрос.Ссылка,
ВложенныйЗапрос.СуммаДокумента,
ВЫБОР
  КОГДА ВложенныйЗапрос.СуммаДокументаИтог <= &Оплата
   ТОГДА ВложенныйЗапрос.СуммаДокумента
  ИНАЧЕ ВложенныйЗапрос.СуммаДокумента + &Оплата - ВложенныйЗапрос.СуммаДокументаИтог
КОНЕЦ КАК Оплата
ИЗ
(ВЫБРАТЬ
  РасходнаяНакладная.Ссылка КАК Ссылка,
  РасходнаяНакладная.СуммаДокумента КАК СуммаДокумента,
  СУММА(РасходнаяНакладная1.СуммаДокумента) КАК СуммаДокументаИтог
ИЗ
  Документ.РасходнаяНакладная КАК РасходнаяНакладная
   ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная КАК РасходнаяНакладная1
   ПО РасходнаяНакладная.МоментВремени >= РасходнаяНакладная1.МоментВремени
СГРУППИРОВАТЬ ПО
  РасходнаяНакладная.Ссылка,
  РасходнаяНакладная.СуммаДокумента) КАК ВложенныйЗапрос
ГДЕ
ВложенныйЗапрос.СуммаДокументаИтог - ВложенныйЗапрос.СуммаДокумента < &Оплата
УПОРЯДОЧИТЬ ПО
ВложенныйЗапрос.Ссылка.МоментВремени

Получить дату и время из строки

Типовая каша показывает как получить из “2016.19.02” и “23:03:00” значения Типа Дата, а именно 2016.19.02 23:03:00
ДокументОбъект.Дата = ПолучитьДатуВремяИзСтроки(ДокументXDTO.Дата, ВремяСтрока);
Функция ПолучитьДатуВремяИзСтроки(ДатаСтрока, ВремяСтрока = "")
ДатаВремя = Дата(1,1,1);
Попытка
Если ТипЗнч(ДатаСтрока) = Тип("Дата")
И ТипЗнч(ВремяСтрока) = Тип("Дата") Тогда
ДатаВремя = Дата(Формат(ДатаСтрока, "ДФ=dd.MM.yyyy") + " " + Формат(ВремяСтрока, "ДЛФ=T"));
КонецЕсли;
Если ДатаВремя = Дата(1,1,1) Тогда
Если ЗначениеЗаполнено(ВремяСтрока) Тогда
Время = СтрЗаменить(ВремяСтрока, ":", "");
ДатаВремя = Дата(СтрЗаменить(ДатаСтрока, "-", "") + Время);
Иначе
ДатаВремя = Дата(СтрЗаменить(ДатаСтрока, "-", "") + "000000");
КонецЕсли;
КонецЕсли;
Исключение
КонецПопытки;
Возврат ДатаВремя;
КонецФункции

Срез последних с физической таблицы регистра сведений

Создали не периодический регистр сведений и в одной из задач нужно все же получить .СрезПоследних() из этого регистра запросом?
Вот пример получения
ВЫБРАТЬ
ВложенныйЗапрос.Период,
ВложенныйЗапрос.Номенклатура,
ЦеныНоменклатуры.Цена
ИЗ
(ВЫБРАТЬ
МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период,
ЦеныНоменклатуры.Номенклатура КАК Номенклатура
ИЗ
РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
СГРУППИРОВАТЬ ПО
ЦеныНоменклатуры.Номенклатура) КАК ВложенныйЗапрос
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО ВложенныйЗапрос.Период = ЦеныНоменклатуры.Период
И ВложенныйЗапрос.Номенклатура = ЦеныНоменклатуры.Номенклатура

Удалить элемент дерева значений

Есть реквизит формы ДеревоЗначений соответственно оно отображено и на форме как Элементы.Дерево, есть так же ТабличныйДокумент на форме в который из Дерево перемещаются элементы дерева.
Документ1
Товар1
Товар2
Документ2
Товар1
Товар2
Товар3
задача при перетаскивании Элементов из дерева (Товар1, Товар2 и т.д.), что бы эти элементы удалялись из дерева.
Выполняем
Если Элементы.Дерево.ТекущиеДанные=Неопределено Тогда
                    Возврат;
КонецЕсли;
ЭлементыТекущегоУровняИерархии=?(Элементы.Дерево.ТекущиеДанные.ПолучитьРодителя()=Неопределено, 
ДеревоОтгрузка.ПолучитьЭлементы(), Элементы.Дерево.ТекущиеДанные.ПолучитьРодителя().ПолучитьЭлементы());
 
ТекИндекс=0;
 
Пока ЭлементыТекущегоУровняИерархии[ТекИндекс]<>Элементы.Дерево.ТекущиеДанные Цикл
ТекИндекс=ТекИндекс+1;
КонецЦикла;

ЭлементыТекущегоУровняИерархии.Удалить(ТекИндекс);

Сообщение пользователю 1С

Понадобилось при разработке управляемой формы уведомить пользователя не только сообщением о ошибке, а и указать на поле где содержит ошибка? Для этих целей подойдет объект СообщениеПользователю.
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Обрати внимание!";
если на клиенте
Сообщение.Поле = "Объект.Контрагент";
Сообщение.Сообщить();
или
Сообщение.Поле = "Контрагент";
Сообщение.ПутьКДанным= "Объект";
Сообщение.Сообщить();
если на сервере
Сообщение.Поле = "Контрагент";
Сообщение.УстановитьДанные(РеквизитФормыВЗначение("Объект"));
Сообщение.Сообщить();
или
Сообщение.Поле = "Контрагент";
Сообщение.ПутьКДанным = "Объект"; // нюанс в том, что на сервере очень часто не известно, что такое "Объект" поэтому лучше использовать .УстановитьДанные()
Сообщение.Сообщить();
А вот пример где нужно указать на поле в Табличной части
Объект.Запасы – Табличная часть
Номенклатура – поле, на которое хочу установить активность
Индекс  - в данном случаи нужно обращаться по индексу, а не по Номеру строки
Для Каждого Строка Из Объект.Запасы Цикл 
  Сообщение = Новый СообщениеПользователю;
   Индекс = Объект.Запасы.Индекс(Строка);
   Сообщение.Текст = "Пользователь, обрати внимание "+Строка.Номенклатура+" на это поле";
   Сообщение.Поле = "Объект.Запасы["+Индекс+"-1].Номенклатура";
   Сообщение.Сообщить();
КонецЦикла;

9 февр. 2016 г.

Программное удаление реквизитов и элементов формы

Например, есть на управляемой форме программно добавленные реквизиты и соответственно элементы формы (колонки). Программным методотом нужно эти реквизиты и элементы формы удалить.
УдаляемыеРеквизитыТЗ = Новый Массив;
ТЗ = СтрокиРабочийТабель.Выгрузить();  // СтрокиРабочийТабель – это ТаблицаЗначений на форме
УдаляемыеРеквизитыТЗ.Добавить(СтрокиРабочийТабель.Линия1);  // добавляемв массив сначала реквизиты, который нужно удалить
Элементы.Удалить(Элементы[Линия1]);  // теперь добавляем в массив элементы формы, которые нужно удалить
ЭтаФорма.ИзменитьРеквизиты(, УдаляемыеРеквизитыТЗ);  //  непосредственное удаление реквизитов с помощью метода управляемой формы

Транслит в 1С

Нужно кириллические  буквы переобразовать в латыньские? Например из “Иван” получить “Ivan”? Тогда на вход ниже функции передавай кириллическое слово в итоге получишь отформатированное латыньское
Функция Транслит(КириллическоеСлово)
    Рез = СокрЛП(КириллическоеСлово);  
    Рез = СтрЗаменить(Рез,"а","a");
    Рез = СтрЗаменить(Рез,"б","b");
    Рез = СтрЗаменить(Рез,"в","v");
    Рез = СтрЗаменить(Рез,"г","g");
    Рез = СтрЗаменить(Рез,"д","d");
    Рез = СтрЗаменить(Рез,"е","e");
    Рез = СтрЗаменить(Рез,"ё","e");
    Рез = СтрЗаменить(Рез,"ж","zh");
    Рез = СтрЗаменить(Рез,"з","z");
    Рез = СтрЗаменить(Рез,"и","i");
    Рез = СтрЗаменить(Рез,"к","k");
    Рез = СтрЗаменить(Рез,"л","l");
    Рез = СтрЗаменить(Рез,"м","m");
    Рез = СтрЗаменить(Рез,"н","n");
    Рез = СтрЗаменить(Рез,"о","o");
    Рез = СтрЗаменить(Рез,"п","p");
    Рез = СтрЗаменить(Рез,"р","r");
    Рез = СтрЗаменить(Рез,"с","s");
    Рез = СтрЗаменить(Рез,"т","t");
    Рез = СтрЗаменить(Рез,"у","u");
    Рез = СтрЗаменить(Рез,"ф","f");
    Рез = СтрЗаменить(Рез,"х","h");
    Рез = СтрЗаменить(Рез,"ч","ch");
    Рез = СтрЗаменить(Рез,"ш","sh");
    Рез = СтрЗаменить(Рез,"щ","sch");
    Рез = СтрЗаменить(Рез,"ъ","");
    Рез = СтрЗаменить(Рез,"ь","");
    Рез = СтрЗаменить(Рез,"э","e");
    Рез = СтрЗаменить(Рез,"ю","yu");
    Рез = СтрЗаменить(Рез,"й","i");
    Рез = СтрЗаменить(Рез,"ц","c");
    Рез = СтрЗаменить(Рез,"я","ya");
    Рез = СтрЗаменить(Рез,"ы","i");
    Рез = СтрЗаменить(Рез,"А","A");
    Рез = СтрЗаменить(Рез,"Б","B");
    Рез = СтрЗаменить(Рез,"В","V");
    Рез = СтрЗаменить(Рез,"Г","G");
    Рез = СтрЗаменить(Рез,"Д","D");
    Рез = СтрЗаменить(Рез,"Е","E");
    Рез = СтрЗаменить(Рез,"Ё","E");
    Рез = СтрЗаменить(Рез,"Ж","ZH");
    Рез = СтрЗаменить(Рез,"З","Z");
    Рез = СтрЗаменить(Рез,"И","I");
    Рез = СтрЗаменить(Рез,"К","K");
    Рез = СтрЗаменить(Рез,"Л","L");
    Рез = СтрЗаменить(Рез,"М","M");
    Рез = СтрЗаменить(Рез,"Н","N");
    Рез = СтрЗаменить(Рез,"О","O");
    Рез = СтрЗаменить(Рез,"П","P");
    Рез = СтрЗаменить(Рез,"Р","R");
    Рез = СтрЗаменить(Рез,"С","S");
    Рез = СтрЗаменить(Рез,"Т","T");
    Рез = СтрЗаменить(Рез,"У","U");
    Рез = СтрЗаменить(Рез,"Ф","F");
    Рез = СтрЗаменить(Рез,"Х","H");
    Рез = СтрЗаменить(Рез,"Ч","CH");
    Рез = СтрЗаменить(Рез,"Ш","SH");
    Рез = СтрЗаменить(Рез,"Щ","SCH");
    Рез = СтрЗаменить(Рез,"Ъ","");
    Рез = СтрЗаменить(Рез,"Ь","");
    Рез = СтрЗаменить(Рез,"Ы","I");
    Рез = СтрЗаменить(Рез,"Ц","C");
    Рез = СтрЗаменить(Рез,"Э","E");
    Рез = СтрЗаменить(Рез,"Ю","YU");
    Рез = СтрЗаменить(Рез,"Я","YA");
    Рез = СтрЗаменить(Рез,"Й","I");
    Возврат(ЛатыньскоеСлово);
КонецФункции

Передать в параметр Таблицу значений

Есть управляемая форма, на ней кнопка которая открывает другую форму этого же объекта. На форме источнике есть ТабличнаяЧасть, которую нужно в точности передать в форму Приемник. 
  • значит на кнопке, формы источника:
&НаКлиенте
Процедура ПрайсЛистПоставщика(Команда)
Массив = Новый Массив;
Массив.Добавить(Объект.СписокЗагрузки);
ОткрытьФорму("Обработка.ЗагрузкаИзЭлектроннойТаблицы.Форма.ПрайсЛистПоставщика",Новый Структура("ТЗ",Массив));
КонецПроцедуры
!Во всякие там ХранилищаЗначений и ВременноеХранилище нельзя передавать ТаблицуЗначений поэтому поместили в Массив ТаблицуЗначений, а на форме это ДанныеФормыКоллекция, а потом этот Массив завернули в Структуру, а этот уже объект без проблем передается в качестве параметра открываемой форме.
  • а на форме, в которую нужно получить Табличку
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Объект.ПрайсПоставщика.Загрузить(параметры.ТЗ[0].Выгрузить());
КонецПроцедуры
!Тут мы обращаемся к Параметрам управляемой формы где уже в списке будем иметь возможность получить нашу Структуру переданную ранее, а в ней Массив, а в Массиве ТаблицаЗначений 

28 дек. 2015 г.

Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию

Нужно реализовать отправку СМС с помощью сервиса ТурбоСМС в 1С.

Есть несколько строк кода, которые это делают но при подключении к сервису получаю
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{ОбщийМодуль.ДополнительныеМеханизмы.Модуль(62)}: Ошибка при вызове метода контекста (Open)
Connection.Open(СокрЛП(СтрокаСоединения));
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию
все, что нужно это зайти на сайт MySQL и скачать версию MySQL Connector/ODBC 3.51.30 для 32-битных систем. Именно на этой версии у меня удачно отправилось СМС.

!Всякое может быть, поэтому свою ссылку на "коннектор" так же оставляю здесь.

24 дек. 2015 г.

Выключить компьютер удаленно

Вот здесь я писал как включить компьютер удаленно, например с помощью андроид устройства, а теперь же надо его и выключить, да бы не прибегать к выключение с помощью rdp соединение и всяких других заморочек.

Для начала нам нужно установить что то, что поможет нам выполнять различные команды с удаленного устройства, это будет FreeSSHd + вот есть ссылка у меня решение некой проблемы по работе с этой программой.

После установки создаем .bat файл, например на диску С:\ под названием sleep.bat, где пишем
C:\PSTools\psshutdown.exe -d -t 05
 PSTools качаем вот здесь и распаковываем в корень диска C:\, после распаковки нужно единажды запустить файл psshutdown.exe и согласиться с лицензией.

Значит выше команда означает, запустить файл psshutdown.exe который расположен по пути C:\PSTools с параметрами, а именно этот файл, точнее утилита дает возможность выключать, перезагружать и т.д. компьютер, параметр -d означает "сон",, а -t 05 означает выполнение команды через 5 секунд.

Теперь на андроид устройстве нужно установить программу SSH button и настроить


где:
  • Label - наименование подключения
  • Command - будет запущен файл, в котором у нас прописано моментальный перевод компьютер в режим "сна"
  • SSH hostname - IP адрес компьютера, на котором установлен FreeSSHd
  • SSH username - пользователь, который был создан при установке сервера FreeSSHd
  • SSH password - пароль, который был создан при установке сервера FreeSSHd
  • SSH port - порт по умолчанию 22-ой, на нем работает наш FreeSSHd сервер
! Имейте ввиду, что в настройках SSH Button в поле SSH hostname можно вводить айпишник внешний или если его нет, можно воспользовать сервисом http://www.noip.com/, таким образом и через интернет будет у вас возможность выключать удаленно свой компьютер. Проверено! Работает!

Freesshd The specified address is already in use

При запуске  Freesshd сервера


получил 
The specified address is already in use
Думал занят 22 порт, проверил
netstat -ano
но нет, порт никакой программой не занятый, но оказуется не программа затрудняла запуск сервера, а служба, которая установилась вместе с программой, а значит заходим в services.msc ищем службу FreeSSHDService, останавливаем ее, а теперь уже запускаем сервер, а уже после запуска сервера можем запускать и службу.

22 дек. 2015 г.

Разбудить компьютер через интернет

Для пробуждения компьютера через Интернет нам понадобиться

  • Включить в BIOS параметр, отвечающий за "пробуждения компьютера через lan" 
    • это в основному вкладка Power (в гугле картинок введите "wol bios") может наведет на мысль
  • В настройках сетевой карты, через Диспетчер устройств включаем заветные галки
  • В брандмауэре добавляем Входящее правило UDP с портом 9
  • На роутере делаем проброс портов аналогично, с UDP пртоколом, 9 порт с перенаправлением на компьютер, который нужно разбудить
  • Нужен статичный айпишник, если его нет, регистрируемся на http://www.noip.com/, добавляем host (теперь по этому хосту мы сможем постоянно обращаться к своему компьютеру через интернет, даже не имея статичного ip адреса)
  • Загружаем утилиту от сервиса, устанавливаем ее на компьютер, которій нужно пробуждать, в запущенной утилите авторизацию проходим и после этого
  • Открываем, например на андроид устройстве любую из программ для Wake On Lam, в место айпи адреса вводим хост, полученный через no-ip сервис и жмакаем "пробудить".

!!! Имейте ввиду, что если хотим протестировать "пробуждения", компьютер и мобилка должна быть не в одной локальной сети ибо скорее всего, ничего не получиться, а значит, отключаем вай-фай на мобилке и проверяем!
!!! Имейте ввиду, что для ОС 8 и выше в настройках электропитания отвечающая за выключение, должно быть не гибридное выключение, а значит снимаем галку ибо если компьютер будет в гибридно-выключенном состоянии пробудить его не получиться, а так то с режима "Сон" компьютер без проблем можно разбудить.
!!! Так же я не смог "разбудить" компьютер когда был установлен виртуальный драйвер hyper-v.

21 дек. 2015 г.

Очистить папку рекурсивно

Хочу, что бы раз в неделю содержимое папки Загрузки удалялось.
Открываю Планировщик заданий, добавляю Задание с выполнением команды
powershell.exe Remove-Item C:\Users\Ярослав\Downloads\* -Recurse

с регулярностью раз в 7 дней.

15 дек. 2015 г.

(COMОбъект): Invalid class string

Если делаем 
Соединение = Новый ComОбъект;
и получаем 
(COMОбъект): Invalid class string
тогда, в Командной строке выполняем с правами администратора
regsvr32 "C:\Program Files (x86)\1cv8\8.3.7.1776\bin\comcntr.dll"
соответственно подставить свой путь к библиотеке .dll нужно + я перезагрузил пк

9 дек. 2015 г.

Ошибка HTTP 401.3 - Unauthorized

На IIS публикую базу 1С Предприятие и при переходе в браузере по адресу публикации получаю

"Ошибка HTTP 401.3 - Unauthorized Вы не имеете разрешения на просмотр этого каталога или страницы в связи с конфигурацией списка управления доступом (ACL) или с настройками шифрования для данного ресурса на веб-сервере."

"Лечиться" эта ошибка установкой "Полный доступ" для пользователя IIS_USERS на папку C:\Program Files (x86)\1cv8\8.3.7.1776 или куда там была установлена у вас платформа 1С Предприятие.


30 окт. 2015 г.

Удаление root LG L70 (325)

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

Лично для себя так я и не заметил преимущества редактирования системных файлов + установкой софта, который требует суперправа.

Так вот после получения суперпользователя через некоторое время я посредством «воздуха» получил обновление своей официальной прошивки, но после пробы обновить новую прошивку я получал уведомлении, что подальше обновление не может быть
установлено потому что есть root.

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

Значит, для того, что бы удалить root права + последующее обновление нормально установилось, которые были
получены первым способом по этой ссылке нужно взять с официального сайта программу LG Mobile Support и ею обновить платформу.
После запуска обновление данной утилитой и последующей перезагрузки телефона на телефоне показало уведомление о невозможности обновлении платформы ибо установлены рут права но все же, после включении телефона и повторного запуска
платформы выше утилитой уже успешно было обновлено системную платформу телефона + я после включение телефона смог без проблем удалить программу Su, которая была установлена при получении супер прав.

25 окт. 2015 г.

Server_addr этот хост неизвестен

Данное сообщение я получил когда хотел с клиента удаленно подключиться к кластеру серверов 1С предприятие. СУБД PostgreSQL, платформа  Windows Server 2012r2. Рабочая группа используется, без домена.
Порты 1541, 1560 были открыты как на роутере так и брандмауэром сервера.

Так вот оно это сообщение во всей красе


это означает, что клиентской машине не понятно, "кто такой" ws, а это ж имя нашего удаленного сервера, а значит клиентскую машину нужно "познакомить" с имям сервера и "знакомтсво" будет происходить в файле hosts, который находиться по адресу в проводнике %WinDir%\System32\Drivers\Etc
Откроем этот файл и добавим строку
192.168.1.111 ws
это означает, что имя ws принадлежит адресу 192.168.1.111

Server_addr tcp 1560

На решение этой ошибки у меня ушло не один день, поэтому с радостью хочу поделиться с вами ее решением.

И так, имеется связка PostgreSQL + Сервер 1С Предприятие, все это находиться на Windows Server 2012 r2, без домена.

Открыты 1541 и 1560 порты как на брандмауэре сервера, так и на роутере. 
Выделенный ip адрес присутствует.

По локальной сети подключение к кластеру серверов пользователями не имеет никаких проблем, но когда нужно подключиться к серверу 1С из интернета с настройками типа


получали сообщение 


так вот, первоначально нужно 
  • на клиенте, с которого подключаемся удаленно к серверу 1С, в файле %WinDir%\System32\Drivers\Etc прописать строку
77.121.199.91 ws
где 77.121.199.91 это внешний айпишник, а ws это имя сервера, к которому подключаемся

  • и тут еще один нюанс, без которого все же, постоянно получал выше ошибку, а значит еще на том же клиенте открываем файл nethasp.ini который находиться по пути C:\Program Files (x86)\1cv8\conf ищем параметр 
NH_SERVER_ADDR
в которого нужно удалить комментарии «;;» и вместо <Addr1> вписать наш внешний айпишник


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

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07