Skip to content

Instantly share code, notes, and snippets.

@ruslan-hut
ruslan-hut / gist:ce148b4c10e87eeb8bae5cef94fa8b6e
Last active September 3, 2023 12:26
Генерация строки, печатаемой как код EAN13 : ШтрихКодЕАН13
// Генерация строки, печатаемой как код EAN13
Функция ШтрихКодЕАН13(ИсходныйКод, ФормироватьЧисловойКод=0) Экспорт
Код = СокрЛП(УбратьНечисловыеСимволы(ИсходныйКод));
Если СтрДлина(код) > 12 Тогда
Код=Лев(Код,12);
//Сообщить("Код для EAN13 должен быть длинной не более 12 символов.");
//Возврат "";
КонецЕсли;
//begin ----------- programmer.com.ua ------------------[30.09.2020]
Справочники.ДрайверыОборудования.ЗаполнитьПредопределенныйЭлемент(Перечисления.ОбработчикиДрайверовПодключаемогоОборудования.ОбработчикUnisystemФискальныеРегистраторы, "COM_ecrmini_t400","ДрайверUnisystemФискальныйРегистратор",Истина);
//end ------------- programmer.com.ua ------------------[30.09.2020]
@ruslan-hut
ruslan-hut / UnisystemФискальныйРегистратор
Created October 5, 2020 19:30
Обработчик драйвера фискального регистратора МИНИ-ФП
// общая функция через которую выполняется вызов методов
//
функция ВыполнитьМетодБиблиотеки(объектДрайвера, ИмяМетода, Параметры = неопределено)
Результат = Истина;
ОписаниеОшибки = "";
СтрокаВызова=СокрЛП(имяМетода)+";";
// Фискальные регистраторы
Если ОбработчикДрайвера = ПредопределенноеЗначение("Перечисление.ОбработчикиДрайверовПодключаемогоОборудования.Обработчик1СФискальныйРегистраторЭмулятор") Тогда
Возврат ПодключаемоеОборудованиеУниверсальныйДрайверКлиент;
ИначеЕсли ОбработчикДрайвера = ПредопределенноеЗначение("Перечисление.ОбработчикиДрайверовПодключаемогоОборудования.ОбработчикАртСофтФискальныйРегистратор") Тогда
Возврат ПодключаемоеОборудованиеАртСофтФискальныйРегистратор;
//begin ----------- programmer.com.ua ------------------[30.09.2020]
ИначеЕсли ОбработчикДрайвера = ПредопределенноеЗначение("Перечисление.ОбработчикиДрайверовПодключаемогоОборудования.ОбработчикUnisystemФискальныеРегистраторы") Тогда
Возврат UnisystemФискальныйРегистратор;
//end ------------- programmer.com.ua ------------------[30.09.2020]
ProgID = ДанныеДрайвера.ИдентификаторОбъекта;
Если ПустаяСтрока(ProgID) Тогда
ОбъектДрайвера = ""; // Драйвер не требуется
ИначеЕсли ProgID = "ArtSoft.FiscalPrinter" Тогда
ТестДрайвера = Новый COMОбъект("ArtSoft.FiscalPrinter");
ОбъектДрайвера = "COM_ArtSoft_FiscalPrinter"; // COM-соединение
//begin ----------- programmer.com.ua ------------------[30.09.2020]
ИначеЕсли ProgID = "COM_ecrmini_t400" Тогда
ТестДрайвера = Новый COMОбъект("ecrmini.t400");
@ruslan-hut
ruslan-hut / gist:dc7bf96485ac7c58a1f5d176e55e045a
Created September 2, 2020 18:10
Функция ПодготовитьДанныеОТоварах с выборкой цен
Функция ПодготовитьДанныеОТоварах(МобильныйКлиент,НомерЭлемента) Экспорт
Дата = КонецДня(ТекущаяДата());
зТовары = Новый Запрос;
зТовары.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1000
| Агент_Товары.Номенклатура КАК Товар,
| Агент_Товары.ПорядковыйНомер КАК ПорядковыйНомер
|ИЗ
private boolean tableExists(SQLiteDatabase sqLiteDatabase, String table){
if (sqLiteDatabase == null || !sqLiteDatabase.isOpen() || table == null){
return false;
}
int count = 0;
String[] args = {"table",table};
Cursor cursor = sqLiteDatabase.rawQuery("SELECT COUNT(*) FROM sqlite_master WHERE type=? AND name=?",args,null);
if (cursor.moveToFirst()){
count = cursor.getInt(0);
}
Функция СтрокаЧисло(Ч)
Возврат Формат(Ч,"ЧДЦ=6; ЧРД=.; ЧН=0.0; ЧГ=0");
КонецФункции // СтрокаЧисло()
&НаСервере
Процедура ПостроитьКарту()
Запрос = Новый Запрос;
@ruslan-hut
ruslan-hut / ПолучитьДанныеДляРасчета.ИсчисленныйНДФЛ
Last active January 29, 2019 08:47
Измененный текст запроса в модуле ПроведениеРасчетов, процедура ПолучитьДанныеДляРасчета.
Если НеобходимыеДанные.ИсчисленныйНДФЛ Тогда
ИсчисленныйНДФЛТекст =
"ВЫБРАТЬ
| ВзаиморасчетыПоНДФЛ.Сотрудник КАК Сотрудник,
| СУММА(ВзаиморасчетыПоНДФЛ.Налог) КАК НДФЛ
|ПОМЕСТИТЬ ВТИсчисленныйНДФЛ
|ИЗ
| РегистрНакопления.ВзаиморасчетыПоНДФЛ КАК ВзаиморасчетыПоНДФЛ
|ГДЕ
| ВзаиморасчетыПоНДФЛ.Организация = &парамОрганизация
Функция MD5(КодируемаяСтрока) Экспорт
ScrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl");
ScrptCtrl.Language = "JScript";
ScrptCtrl.AddCode("
|var hexcase = 0;
|var b64pad = """";
|var chrsz = 8;
|function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
|function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));}