понедельник, 20 июля 2015 г.
воскресенье, 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 г.
Псевдобзор флешек с aliexpress
Решил прикупить пару флешек для работы (загрузочные).
Зашел на сайт Citilink`a,Ulmart`a, ценник не ах, отправился на aliexpress, оооо прям аттракцион невиданной щедрости. Заказал 4 флешки:
Суммарно они мне обошлись почти в 1000Р
воскресенье, 10 мая 2015 г.
OpenCart 2.x прокрутка вверх при добавлении в корзину
У большинства версий движка OC на стандартном шаблоне есть неприятная плюшка - прокрутка страницы вверх при добавлении в корзину,закладки, сравнения, очень раздражает.
В интернете есть несколько советов о том, как выключить прокрутку, и создать вывод сообщения (на 2.х сообщение не работает). Также можно найти модули.
А я решил сделать другой вариант - при нажатии на кнопку "Купить" изменяется слово в этой кнопке, на "В корзине".
Логика проста, в тег:
В интернете есть несколько советов о том, как выключить прокрутку, и создать вывод сообщения (на 2.х сообщение не работает). Также можно найти модули.
А я решил сделать другой вариант - при нажатии на кнопку "Купить" изменяется слово в этой кнопке, на "В корзине".
Логика проста, в тег:
<button></button>
В файле шаблона (category.tpl,search.tpl & etc) помещаем<label></label>
суббота, 9 мая 2015 г.
MS Srv2k8 R2 std переезд с Intel на AMD
Не люблю я рэйд-массивы, малейшая ошибка - массиву с данными пиши прощай...
Встала задача перенести сервер с Intel`ской материнки, на AMD (A88X), т.е. оставить только:
Встала задача перенести сервер с Intel`ской материнки, на AMD (A88X), т.е. оставить только:
- массив из 2х ЖД
- БП
- корпус
Все остальное под замену.
Сервер был установлен на аппаратном зеркальном рэйд массиве из 2х ЖД по 1Тб.
Проверил IDE контроллер, установлен стандартный.
Переставил диски на новую платформу, и машинка завелась. Но, открыв "Управление дисками" я увидел:
Диск отключен из-за конфликта подписей с другим диском, находящимся в сетиО_О,
Ubuntu Не грузиться DomU xen
Была у меня "CRM" - OTRS, спокойно жила себе на domU Xen`a.
Так как машинка много места не занимает, то была она создана при помощи xen-tools и лежала на img образах. Приятненько так ютилась вместе с другими в home, который в "/", который всего 20Gb. И вот настал страшный день, корень забит, а именно home почти 20Gb. Ничего не работает.
Перенесли /home/xen/domains. Вроде норм, но не тут то было OTRS не грузится, в консоли стопорится на:
xen begin running /scripts/init-bottom ... done
И все....
Кручу, верчу, не заводится. В конце концов позвонил новому админу сервера (старый - я), он говорит:
"С архивом та же фигня была, целый день провозился"
Ответ:
в конфигурационном файле root выставить в rw, загрузится и выполнить fsck.
После "ro" и вуале ))))
_________________________________________________________________________________
Все действия Вы выполняете на собственный страх и риск.
пятница, 8 мая 2015 г.
Hardware Материнские платы - виновники писка в блоке питания (02.02.2014).
Это относится и к AMD процессорам на МП Asrock
Материнские платы - виновники писка в блоке питания (02.02.2014).
Материнские платы - виновники писка в блоке питания (02.02.2014).
воскресенье, 3 мая 2015 г.
Подписаться на:
Сообщения (Atom)














