воскресенье, 27 декабря 2015 г.
четверг, 17 декабря 2015 г.
Звонит знакомый:
-Включаю твой сервер, сетка заваливается, из 100Мбит выедает больше 90
-Как-нибудь заеду, пока вырубай
Сервер отвечает за бэкап резервного сервера, т.е. инфа обновляется редко и в малых объемах.
Проходит месяца два.
Прихожу, смотрю, да, врубаешь сервак пинг по speedtest падает с 1 до 12-19мс, скорость соответственно тоже.
Открываю консоль, запускаю netstat -tupnc, из активных соединений только openVPN
-Странно, смотри только один, больше нет. А у тебя другого патч-корда нет?
-Есть
-Давай
Втыкаем
-О, другое дело...
-Включаю твой сервер, сетка заваливается, из 100Мбит выедает больше 90
-Как-нибудь заеду, пока вырубай
Сервер отвечает за бэкап резервного сервера, т.е. инфа обновляется редко и в малых объемах.
Проходит месяца два.
Прихожу, смотрю, да, врубаешь сервак пинг по speedtest падает с 1 до 12-19мс, скорость соответственно тоже.
Открываю консоль, запускаю netstat -tupnc, из активных соединений только openVPN
-Странно, смотри только один, больше нет. А у тебя другого патч-корда нет?
-Есть
-Давай
Втыкаем
-О, другое дело...
воскресенье, 13 декабря 2015 г.
суббота, 28 ноября 2015 г.
1С Интерфейс Полный "Такси" и "Все функции"
Не знаю как вам, но мне иногда лень искать, где же закопаны некоторые документы/справочники/отчеты и т.п. в различных интерфейсах 1С (8.2-8.3). Поэтому я использую возможность "Все функции", а интерфейс "Такси" ставлю полный.
среда, 25 ноября 2015 г.
1С Интерфейс Книга покупок/продаж по контрагенту
Налоговая может запросить от Вашего контрагента книгу продаж, а как сделать такую книгу?, ведь регламентированный отчет не дает выборки (да и не должен). Даже после того, как книги начали формироваться в регламентированном отчете, сами по себе они никуда не исчезли.
Для интерфейса Такси в разделах покупки/продажи есть книги.
среда, 18 ноября 2015 г.
суббота, 14 ноября 2015 г.
суббота, 31 октября 2015 г.
понедельник, 26 октября 2015 г.
вторник, 20 октября 2015 г.
пятница, 16 октября 2015 г.
среда, 14 октября 2015 г.
понедельник, 5 октября 2015 г.
воскресенье, 4 октября 2015 г.
четверг, 17 сентября 2015 г.
1С Генератор паролей
Создает пароли необходимой длины и в нужном количестве, и записывает их в файл;
КолвоПаса=0;
ВвестиЧисло(КолвоПаса,"Количество паролей");
ДлинаПаса=0;
ВвестиЧисло(ДлинаПаса,"Длина паролей");
пятница, 11 сентября 2015 г.
OSW7 Полезности
С горячими клавишами мы уже познакомились, некоторые полезности для Excel тоже изучили.
Теперь я покажу некоторые вещи, которые могут быть полезны в работе с ОС Windows 7.
пятница, 28 августа 2015 г.
пятница, 21 августа 2015 г.
четверг, 20 августа 2015 г.
Ремонт HDD Samsung ластиком. Жесткий диск не определяется, как отремонт...
На Toshiba, к сожалению, сделано нормально. На 2,5 WD и Seagate и вправду покрылись пленкой. правда не довелось проверить блоки до и после.
среда, 19 августа 2015 г.
пятница, 14 августа 2015 г.
OSW7 Downgrade платформы без сноса системы
Я уже рассказывал про переезд серверной ОС с Intel на AMD все получилось достаточно быстро и красиво, затык был только в рэйд массиве.
Сегодня я попытался перенести систему (установлена на SSD) с AMD (какой-то из A6) на Intel (intel e5300). К заметке, мать под Intel`ом не умеет AHCI О_о
вторник, 11 августа 2015 г.
среда, 5 августа 2015 г.
пятница, 31 июля 2015 г.
четверг, 30 июля 2015 г.
среда, 29 июля 2015 г.
вторник, 28 июля 2015 г.
понедельник, 27 июля 2015 г.
1С Открыть форму выбора с отбором ОП8.2/УП8.3
Процедура СчетНаОплатуНачалоВыбора(Элемент, СтандартнаяОбработка)
//Запрет на открытие стандартного окна
СтандартнаяОбработка=Ложь;
//Получаем форму отбора документа
ФормаВыбора=Документы.СчетНаОплатуПокупателю.ПолучитьФормуВыбора(,Элемент);
//Устанавливаем режим выбора
ФормаВыбора.РежимВыбора=Истина;
//Устанавливаем отбор
//Если не знаем как называется, ставим точку останова, и смотрим состав ФормаВыбора.Отбор
ФормаВыбора.отбор.Контрагент.Установить(ЭтотОбъект.Контрагент.Ссылка,Истина);
ФормаВыбора.отбор.ДоговорКонтрагента.Установить(ЭтотОбъект.ДоговорКонтрагента,Истина);
//Открываем форму выбора
ФормаВыбора.Открыть();
КонецПроцедуры
Открыть форму выбора договора контрагента с отбором по контрагенту (поставщик) и видом договора с поставщиком.
Прошу отметить, процедура выполняется на клиенте
&НаКлиенте
Процедура ВидДоговорПоставщикаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка=Ложь;
Если ЗначениеЗаполнено(ЭтаФорма.Поставщик) Тогда
ФормаВыбора=ОткрытьФорму("Справочник.ДоговорыКонтрагентов.ФормаСписка");
ОтборВладелец=ФормаВыбора.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборВладелец.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
ОтборВладелец.Использование=Истина;
ОтборВладелец.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Владелец");
ОтборВладелец.ПравоеЗначение=ЭтаФорма.Поставщик;
ОтборВид=ФормаВыбора.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборВид.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
ОтборВид.Использование=Истина;
ОтборВид.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("ВидДоговора");
ОтборВид.ПравоеЗначение=ПредопределенноеЗначение("Перечисление.ВидыДоговоровКонтрагентов.СПоставщиком");
Иначе
ВыводПредупреждения("Не выбран контрагент!!!");
Возврат;
КонецЕсли;
КонецПроцедуры
пятница, 24 июля 2015 г.
ATC OS7070 Обновление прошивки
Качаем файлы прошивок, рекомендуется последовательно обновлять.
Процесс не быстрый, запасаемся чаем, печеньками...
понедельник, 20 июля 2015 г.
КонсультантПлюс Обновление
Для обновления КонсультантПлюс, запустите его с ключом /adm.
CONS.EXE /adm
В разделе сервис выберете "Операции с ИБ"
В открывшемся выберете через интернет.
ОК.
Идем пить чай, берем большую кружку, Консультант, как и СБИС , "ни куда не тороппиттся"...
Далее нужно получить файл *.usr
CONS.EXE /adm /usr /base*
Все :-)
CONS.EXE /adm
В разделе сервис выберете "Операции с ИБ"
В открывшемся выберете через интернет.
ОК.
Идем пить чай, берем большую кружку, Консультант, как и СБИС , "ни куда не тороппиттся"...
Далее нужно получить файл *.usr
CONS.EXE /adm /usr /base*
Все :-)
воскресенье, 19 июля 2015 г.
суббота, 11 июля 2015 г.
1С УТ 10.3 (Обычное приложение) создать кнопку "Новый счет договор"
В конфигурации УТ 10.3 нет кнопки новый счет договор как в конфигурации БП 2.0/3.0
Все приведенное ниже создавалось и проверялось на "Управление торговлей", редакция 10.3 (10.3.31.3)
Ниже представлен кусок кода, который добавляет такой функционал.
Для его использования необходимо создать кнопку на форме и привязать ее к процедуре "НовыйСДНажатие"
Все приведенное ниже создавалось и проверялось на "Управление торговлей", редакция 10.3 (10.3.31.3)
Ниже представлен кусок кода, который добавляет такой функционал.
Для его использования необходимо создать кнопку на форме и привязать ее к процедуре "НовыйСДНажатие"
пятница, 10 июля 2015 г.
ATC OS7070 Блог ravenich'а: OfficeServ 7070 AA
Столкнулся тут на работе с затыкой. Нужно было заменить сообщение AA на АТС Samsung OfficeServ 7070. Мануала по этому делу естественно ни оказалось, гугление дельной информации не дало. Пришлось потратить два вечера на решение проблемы. В итоге путем перебора кодировок и параметров файлов сообщений на АТС нашли режим в котором GoldWave открыл файл с расширением 711.
Режим таков:
File type: Dialogic (vox);
Attributes: µ-Law 8000 Hz, 64 kbps, mono.
Отлично, узнали, теперь берем запись , которую нужно повесить на сообщение, редактируем, обрезаем и сохраняем.
Настройки такие (что логично):
File type: Dialogic (*.vox)
Attributes: µ-Law 8000 Hz, 64 kbps, mono.
Переименовываем файл (в моем случае 5149.711). Заходим Internet Explorer'ом на web-интерфейс АТС, находим закладку AA/VM, там находим Voice Studio. Там находим наше сообщение (5149) и жмем "Upload".
Звоним и наслаждаемся:)
мои наблюдения
Для загрузки в АТС с прошивкой 4.82 (а точнее старше 4.64) используем FTP.
Для включения FTP идем в 5.13.11 пишем свой ip.
Заходим на FTP каким-нибудь менеджером admin/samsung
/mnt/nand/os7100/vm/pmt/ru_ru - сюда кидаем файл
Я конвертировал при помощи Gold Wave 5.
Из программы файл выйдет *.vox, файл нужно переименовать вместе с расширением.
среда, 8 июля 2015 г.
вторник, 30 июня 2015 г.
1С получить список просроченных заказов
Процедура ПолучитьДокументыПоСтд()
СрокОплатыСравнение = 2;// 1 - Неважно 2 - Просрочен (более чем на)
СрокОтгрузкиСравнение = 1;// 1 - Неважно
НаличиеРезервов = 3;// 1 - Неважно 3 - С резервами
РазмещениеРезервов = 1; // 1 - На складах и в заказах
СостояниеОплаты = 2;// 1 - Неважно 2 - Не оплачен полностью (неоплачен либо оплачен частично)
СостояниеОтгрузки = 1; // 1 - Неважно
ДатаНач = НачалоДня(ЭтотОбъект.РекДатаНач);//начало периода отбора месяцназад
ДатаКон = КонецДня(ЭтотОбъект.РекДатаКон);//конец периода отбора месяцвперед
ПустаяДата=Дата('00010101');
ДатаОплаты=НачалоДня(ТекущаяДата());
ДатаОтгрузки=НачалоДня(ТекущаяДата());
ПричинаЗакрытияЗаказа = Справочники.ПричиныЗакрытияЗаказов.ПустаяСсылка();
//сообщить(""+ДатаНач+" "+ДатаКон+"");
1С получить список учетных записей электронной почты по пользователю
//Отправитель - СправочникСсылка.Пользователи
//УчетнаяЗапись - Реквизит формы
//Подпись - - Реквизит формы
//Результат выполнения - последняя итерация цикла
Функция НайтиУЗЗапросом(Отправитель)
НайтиУчетнуюЗапись=Новый Запрос;
НайтиУчетнуюЗапись.Текст="ВЫБРАТЬ
| УчетныеЗаписиЭлектроннойПочты.Ссылка
|ИЗ
| Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты
|ГДЕ
| УчетныеЗаписиЭлектроннойПочты.ДоступКУчетнойЗаписи.Пользователь = &Пользователь";
НайтиУчетнуюЗапись.УстановитьПараметр("Пользователь",Отправитель);
СписокУЗ=НайтиУчетнуюЗапись.Выполнить().Выбрать();
Если СписокУЗ.Количество()>0 Тогда
Сообщить(СписокУЗ.Количество());
Пока СписокУЗ.Следующий() Цикл
УчетнаяЗапись=СписокУЗ.Ссылка;
Подпись=СписокУЗ.Ссылка.ТекстПодписи;
КонецЦикла;
Иначе
Сообщить("УЗ не найдена!!!!")
КонецЕсли;
КонецФункции
//Вариант 1С, выдает УЗ по-умолчанию
УчетнаяЗаписьПользователя=УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(СсылкаНаПользователя, "ОсновнаяУчетнаяЗапись");
//Также в 1С есть функция возвращающая список доступных УЗ
//ОбщиеМодули.УправлениеЭлектроннойПочтой.ПолучитьДоступныеУчетныеЗаписи(ТекущийПользователь)
//Сами читаем, и пытаемся понять что оно делает
пятница, 26 июня 2015 г.
1С Вычесть рабочие дни на основе ПК (НеВЗапросе)
//Процедура возвращает массив рабочих дней за два месяца
Процедура ЗапросКалендаря()
ЗапросКалендаря=Новый Запрос;
ЗапросКалендаря.Текст="ВЫБРАТЬ
| РегламентированныйПроизводственныйКалендарь.ДатаКалендаря
|ИЗ
| РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
|ГДЕ
| РегламентированныйПроизводственныйКалендарь.Пятидневка = 1
| И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря >= &НачалоПериода
| И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря <= &КонецПериода";
ЗапросКалендаря.УстановитьПараметр("НачалоПериода",ДобавитьМесяц(ТекущаяДата(),-1)); //НачалоПериода
ЗапросКалендаря.УстановитьПараметр("КонецПериода",ДобавитьМесяц(ТекущаяДата(),1)); //КонецПериода
Период=ЗапросКалендаря.Выполнить().Выбрать();
ДваМесяцаРабочихДней=Новый Массив;
Пока Период.Следующий() Цикл
ДваМесяцаРабочихДней.Добавить(Период.ДатаКалендаря);
КонецЦикла;
КонецПроцедуры
//Использование
Процедура ПолучитьТриДняНазад()
ОткатитьНазадНа=3;//3 дня
Сообщить(НачалоДня(ДваМесяцаРабочихДней[ДваМесяцаРабочихДней.Количество()-ОткатитьНазадНа-1]))
КонецПроцедуры
//Вариант самой 1С (нашел в форме отбора просроченных заказов)
Процедура ДниПросрочки()
ОткатитьНазадНа=3;//3 дня
//Пытаемся учитывать только рабочие дни по календарю
ПолучитьДаты = Новый Запрос;
ПолучитьДаты.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| РегламентированныйПроизводственныйКалендарь.Год
|ИЗ
| РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
|ГДЕ
| РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачГода И &КонГода";
ПолучитьДаты.УстановитьПараметр("НачГода",НачалоГода(ТекущаяДата()));
ПолучитьДаты.УстановитьПараметр("КонГода",КонецГода(ТекущаяДата()));
ПолучилиДаты = ПолучитьДаты.Выполнить();
Если ПолучилиДаты.Пустой() Тогда
ТребуемаяДатаОплаты=НачалоДня(ТекущаяДата()-24*60*60*ОткатитьНазадНа);
//ТребуемаяДатаОтгрузки=НачалоДня(ТекущаяДата()-24*60*60*ОткатитьНазадНа);
Иначе
ТребуемаяДатаОплаты=ЗаполнениеДокументов.ОпределитьДату(НачалоДня(ТекущаяДата()),-ОткатитьНазадНа);
//ТребуемаяДатаОтгрузки=ЗаполнениеДокументов.ОпределитьДату(НачалоДня(ТекущаяДата()),-ОткатитьНазадНа);
КонецЕсли;
Сообщить(ТребуемаяДатаОплаты);
КонецПроцедуры
//КалендарныеДни - функция, разберетесь сами
Функция ПолучитьДень(ИсходнаяДата, КоличествоПрибавляемыхДней)
Запрос = Новый Запрос("
|ВЫБРАТЬ
|ДОБАВИТЬКДАТЕ(&ИсходнаяДата, ДЕНЬ, &Количество) как Дата");
Запрос.УстановитьПараметр("ИсходнаяДата", ИсходнаяДата);
Запрос.УстановитьПараметр("Количество", КоличествоПрибавляемыхДней);
Возврат Запрос.Выполнить().Выгрузить()[0].Дата;
КонецФункции
1С интерактивно нажать кнопку на форме
//Для обычного приложения, работает только на открытой форме. Проверено на платформе 8.2, УТ 10.3
Процедура ИнтерактивноНажатьКнопку(Кнопка, ФормаКнопки) Экспорт
// Удостоверимся что есть права на нажатие
// Кнопка
стрОшибка = "";
Попытка
Если Кнопка.Видимость = Ложь Тогда
стрОшибка = стрОшибка + ", Невидима";
КонецЕсли;
Исключение
КонецПопытки;
Попытка
Если Кнопка.Доступность = Ложь Тогда
стрОшибка = стрОшибка + ", Недоступна";
КонецЕсли;
Исключение
КонецПопытки;
Если стрОшибка <> "" Тогда
стрОшибка = Сред(стрОшибка, 3)+" кнопка, которую требуется нажать";
ВызватьИсключение(стрОшибка);
КонецЕсли;
Если ТипЗнч(Кнопка) = Тип("КнопкаКоманднойПанели") Тогда
Действие = Кнопка.Действие;
ИначеЕсли ТипЗнч(Кнопка) = Тип("Кнопка") Тогда
Действие = Кнопка.ПолучитьДействие("Нажатие");
КонецЕсли;
буфДействие = ФормаКнопки.ПолучитьДействие("ПриПовторномОткрытии");
ФормаКнопки.УстановитьДействие("ПриПовторномОткрытии", Действие);
Попытка
// собственно вызов нажатия кнопки
ФормаКнопки.Открыть();
ФормаКнопки.УстановитьДействие("ПриПовторномОткрытии", буфДействие);
Исключение
ФормаКнопки.УстановитьДействие("ПриПовторномОткрытии", буфДействие);
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
Процедура ОткрытьИЗапустить()
ЗакрытиеЗаказаДокумент=документы.ЗакрытиеЗаказовПокупателей.СоздатьДокумент();
ФормаДокумента=ЗакрытиеЗаказаДокумент.ПолучитьФорму("ФормаДокумента");
ФормаДокумента.Открыть();
ИнтерактивноНажатьКнопку(ФормаДокумента.ЭлементыФормы.КоманднаяПанельЗаказы.Кнопки.ПодменюЗаполнить.Кнопки.ДействиеЗаполнить,ФормаДокумента);
КонецПроцедуры
понедельник, 22 июня 2015 г.
Все об 1С: Как в 1с 8 Получить список подчиненных документов
Все об 1С: Как в 1с 8 Получить список подчиненных документов:
Функция ПолучитьСписокПодчиненныхДокументов(ДокументОснование) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СтруктураПодчиненности.Ссылка
|ИЗ
| КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СтруктураПодчиненности";
Запрос.УстановитьПараметр("ЗначениеКритерияОтбора", ДокументОснование);
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
//Функция возвращает ТаблицуЗначений
//Обходим ее Для Каждого Из Цикл
понедельник, 15 июня 2015 г.
1С Из двух семерок одна распределенная восьмерка
Картинок не будет, мне лень ;-)
Есть:
Две базы "Бухгалтерский учет 4.5" (7.70.538) - одна для менеджера (заводит продажи), одна для бухгалтера (заводит продажи и покупки)
Задача:
- Сделать одну базу БП 2.0/3.0
- Перекинуть данные за I-II квартал.
- Сделать так, чтобы бухгалтер и менеджер могли работать с базой "одновременно" (физически они находятся в разных точках города).
воскресенье, 7 июня 2015 г.
пятница, 29 мая 2015 г.
1С Автоматическое обновление Типовых конфигураций 1с
Бодрого времени!
С месяц назад один из моих клиентов кинул мне ссылку на сайт Алексея Карманова, многие из Вас знакомы с работами этого Человека. Ссылка конкретно вела на ... подождите, собираюсь с духом ... на "Обновлятор 1С".
У кого-то ценник задран, у кого-то продукт сырой, или создан под конкретные задачи.
Ну так вот, читаю описание:
С месяц назад один из моих клиентов кинул мне ссылку на сайт Алексея Карманова, многие из Вас знакомы с работами этого Человека. Ссылка конкретно вела на ... подождите, собираюсь с духом ... на "Обновлятор 1С".
Наверно я в раю....Различные поделки в этой области не в новинку, например это или ЭТО о_О...
У кого-то ценник задран, у кого-то продукт сырой, или создан под конкретные задачи.
Ну так вот, читаю описание:
- Поддержка большинства типовых конфигураций
- Сам качает обновки, или не качает ;-)
- Поддержка различных релизов платформ (ну кроме 7)
- Делает РК базы
- Планировщик
- Может написать письмишко
- БЕСПЛАТНО
Ну и т.д., ух, качаю.
Первая проверка прошла успешно, проверял на релизе 8.2 БП 2, версии думаю не актуальны, аппаратный ключ. Дальше поехали 8.3 БП 3 Базовая программная лицензия...упс...нежданчик случился.
Написал автору...
На прошлой неделе выходит новая версия, с изменениями:
- Поддержка разных платформ в одном пакете (указываем разные шаблоны под каждую таблицу)
N.B. Используемые версии должны находится в одной папке, я решил проблему при помощи симлинка (mklink /D to from) - Поддержка и аппаратной и программной лицензии, требует разовой настройки
- Указание ключей запуска
При использовании и аппаратных и программных лицензий вылезает окошко Отключается просто, в настройках базы указываем доп параметр /UseHwLicenses- для использования программной и /UseHwLicenses+ для аппаратной. Этот ключ можно использовать и в обновляторе
- Программа сама определяет последнюю версию платформы
- Можно указать папку для обновлений, программа качает обновление 1 раз, и использует его во всех случаях.
И т.д., я описал те изменения, которые меня интересовали.
Данный продукт меня порадовал, равно как и общение с создателем (не просто же так появились некоторые пункты в истории изменений ;-) )
пятница, 15 мая 2015 г.
Подписаться на:
Сообщения (Atom)