Skip to content

Instantly share code, notes, and snippets.

View leoniv's full-sized avatar

Leonid Vlasov leoniv

  • Russia, Novosibirsk
View GitHub Profile
@leoniv
leoniv / CommonModule.a2sQuery.Module.bsl
Last active September 13, 2018 03:49
1С ОбщийМодуль.a2sQuery - обертки для удобной работы с запросами 1С
//////////////////////////////////////////////////////////////////////////////////
// Модуль a2sQuery - обертки для удобной работы с запросами 1С.
// - меньше кода при работе с запросами
// - можно получать актуальные данные доступные текущей транзакции в отладчике
// - можно исследовать временные таблицы в отладчике
// Флаги модуля:
// - Сервер
// - ВнешнееСоединение
// - ВызовСервера - для обычного приложения
@leoniv
leoniv / CommonModule.a2sUtils.Module.bsl
Last active September 13, 2018 03:52
1С ОбщийМодуль.a2sUtils - функции для удобной работы со встроенными типами 1С.
//////////////////////////////////////////////////////////////////////////////////
// ОбщийМодуль a2sUtils - функции для удобной работы со встроенными типами 1С.
// Флаги модуля:
// - Сервер
// - ТонкийКлиент
// - ВнешнееСоединение
// - ВызовСервера - для обычного приложения
#Region Exceptions_Constants_Types
//* Exceptions *///////////////////////////////////////////////////////////////////
Процедура КнопкаВыполнитьНажатие(Кнопка)
for each test in TestsGet().UnloadValues() do
RunTest(test, "FIXME");
enddo;
КонецПроцедуры
function RunTest(Form, TestName) export
return ObjectNew().Exec(ObjectNew().Parse(Form), TestName);
endfunction
Var PARSE_RESULT;
Var EXCUTE_CONTEXT;
function NewSpec(mess, owner)
return New Structure("Spec, Owner", mess, owner);
endfunction
function NewTest(mess, owner)
return New Structure("Name, Owner, FullSpecName, FullTestName", mess, owner, FullSpecName(Owner), FullTestName(mess, Owner));
endfunction
if desc("desribe message") then
if before() then
variable = "value"
endif;
if after() then
endif;
if it("it message") then
@leoniv
leoniv / примитивный_парсер_xml.bsl
Last active July 2, 2018 15:06
Примитивный xml парсер 1C
//[+> Тест
Procedure PressExecuteButton(Button)
Данные1 = РазобратьXml(XMLReader(XML_V1()));
XDTO1 = ФабрикаXDTO.ПрочитатьXML(XMLReader(XML_V1()));
Данные2 = РазобратьXml(XMLReader(XML_V2()));
XDTO2 = ФабрикаXDTO.ПрочитатьXML(XMLReader(XML_V2()));
XMLReader = XMLReader(XML_V1());
XMLReader.Read();
Данные3 = РазобратьXml(XMLReader);
XMLReader = XMLReader(XML_V1());
const checkThatTwoPlusTwoEqualsFourAMillionTimes = () => {
for(let i = 1; i <= 1000000; i++) {
if ( (2 + 2) != 4) {
console.log('Something has gone very wrong :( ');
}
}
};
const addTwo = num => num + 2;