Транслитерация в латиницу

Публикация № 57971

Разработка - Практика программирования

39
При отправке SMSок из 1С столкнулся с тем, что текст отправлялся только латиницей, а данные-то в кириллице. В результате написал функцию перевода текста в латиницу.
Может, кому-нибудь пригодится


 

Функция глТранслит(Слово)Экспорт
 НовоеСлово= "";
 спТранслит = СоздатьОбъект("СписокЗначений");
 
 спТранслит.ДобавитьЗначение("j","й");
 спТранслит.ДобавитьЗначение("c","ц");
 спТранслит.ДобавитьЗначение("u","у");
 спТранслит.ДобавитьЗначение("k","к");
 спТранслит.ДобавитьЗначение("e","е");
 спТранслит.ДобавитьЗначение("n","н");
 спТранслит.ДобавитьЗначение("g","г");
 спТранслит.ДобавитьЗначение("sh","ш");
 спТранслит.ДобавитьЗначение("sch","щ");
 спТранслит.ДобавитьЗначение("z","з");
 спТранслит.ДобавитьЗначение("h","х");
 спТранслит.ДобавитьЗначение("#","ъ");
 спТранслит.ДобавитьЗначение("f","ф");
 спТранслит.ДобавитьЗначение("y","ы");
 спТранслит.ДобавитьЗначение("v","в");
 спТранслит.ДобавитьЗначение("a","а"); 
 спТранслит.ДобавитьЗначение("p","п"); 
 спТранслит.ДобавитьЗначение("r","р"); 
 спТранслит.ДобавитьЗначение("o","о"); 
 спТранслит.ДобавитьЗначение("l","л"); 
 спТранслит.ДобавитьЗначение("d","д"); 
 спТранслит.ДобавитьЗначение("zh","ж"); 
 спТранслит.ДобавитьЗначение("je","э"); 
 спТранслит.ДобавитьЗначение("ja","я"); 
 спТранслит.ДобавитьЗначение("ch","ч"); 
 спТранслит.ДобавитьЗначение("s","с"); 
 спТранслит.ДобавитьЗначение("m","м"); 
 спТранслит.ДобавитьЗначение("i","и"); 
 спТранслит.ДобавитьЗначение("t","т"); 
 спТранслит.ДобавитьЗначение("'","ь"); 
 спТранслит.ДобавитьЗначение("b","б"); 
 спТранслит.ДобавитьЗначение("ju","ю");
 спТранслит.ДобавитьЗначение("jo","ё");
 //Укр
 спТранслит.ДобавитьЗначение("je","є");
 спТранслит.ДобавитьЗначение("i'","ї");
 спТранслит.ДобавитьЗначение("i","і");
 //Лат
 спТранслит.ДобавитьЗначение("i","i"); 
 спТранслит.ДобавитьЗначение("q","q");
 спТранслит.ДобавитьЗначение("w","w");
 спТранслит.ДобавитьЗначение("e","e");
 спТранслит.ДобавитьЗначение("r","r");
 спТранслит.ДобавитьЗначение("t","t");
 спТранслит.ДобавитьЗначение("y","y");
 спТранслит.ДобавитьЗначение("u","u");
 спТранслит.ДобавитьЗначение("i","i");
 спТранслит.ДобавитьЗначение("o","o");
 спТранслит.ДобавитьЗначение("p","p");
 спТранслит.ДобавитьЗначение("","");
 спТранслит.ДобавитьЗначение("a","a");
 спТранслит.ДобавитьЗначение("s","s");
 спТранслит.ДобавитьЗначение("d","d");
 спТранслит.ДобавитьЗначение("f","f");
 спТранслит.ДобавитьЗначение("g","g");
 спТранслит.ДобавитьЗначение("h","h");
 спТранслит.ДобавитьЗначение("j","j");
 спТранслит.ДобавитьЗначение("k","k");
 спТранслит.ДобавитьЗначение("l","l");
 спТранслит.ДобавитьЗначение("z","z");
 спТранслит.ДобавитьЗначение("x","x");
 спТранслит.ДобавитьЗначение("c","c");
 спТранслит.ДобавитьЗначение("v","v");
 спТранслит.ДобавитьЗначение("b","b");
 спТранслит.ДобавитьЗначение("n","n");
 спТранслит.ДобавитьЗначение("m","m");
  
 спТранслит.ДобавитьЗначение(" "," ");
 спТранслит.ДобавитьЗначение("""","""");
 спТранслит.ДобавитьЗначение("-","-");
 спТранслит.ДобавитьЗначение(".",".");
 спТранслит.ДобавитьЗначение(",",",");
 спТранслит.ДобавитьЗначение("/","/");
 спТранслит.ДобавитьЗначение("\","\");
 спТранслит.ДобавитьЗначение("*","*");
 спТранслит.ДобавитьЗначение("#","#");  
 спТранслит.ДобавитьЗначение("#","№"); 
 спТранслит.ДобавитьЗначение("|","|"); 
 
 спТранслит.ДобавитьЗначение("!","!"); 
 спТранслит.ДобавитьЗначение("?","?"); 
 
 спТранслит.ДобавитьЗначение("$","$"); 
 спТранслит.ДобавитьЗначение("%","%"); 
 спТранслит.ДобавитьЗначение("@","@"); 
 спТранслит.ДобавитьЗначение("&","&"); 
 спТранслит.ДобавитьЗначение("=","="); 
 спТранслит.ДобавитьЗначение("+","+"); 
 
 спТранслит.ДобавитьЗначение("~","~"); 
 спТранслит.ДобавитьЗначение("'","'"); 
 спТранслит.ДобавитьЗначение("`","`"); 
 спТранслит.ДобавитьЗначение(":",":"); 
 спТранслит.ДобавитьЗначение(";",";"); 
 
 спТранслит.ДобавитьЗначение("(","(");
 спТранслит.ДобавитьЗначение(")",")");  
 спТранслит.ДобавитьЗначение("[","["); 
 спТранслит.ДобавитьЗначение("]","]");  
 спТранслит.ДобавитьЗначение("}","}"); 
 спТранслит.ДобавитьЗначение("{","{");
 спТранслит.ДобавитьЗначение("0","0");
 спТранслит.ДобавитьЗначение("1","1");
 спТранслит.ДобавитьЗначение("2","2");
 спТранслит.ДобавитьЗначение("3","3");
 спТранслит.ДобавитьЗначение("4","4");
 спТранслит.ДобавитьЗначение("5","5");
 спТранслит.ДобавитьЗначение("6","6");
 спТранслит.ДобавитьЗначение("7","7");
 спТранслит.ДобавитьЗначение("8","8");  
 спТранслит.ДобавитьЗначение("9","9");
 Для а=1 по СтрДлина(Слово) Цикл
  НовоеСлово = НовоеСлово + спТранслит.Получить(НРЕГ(Сред(Слово,а,1)))
 КонецЦикла; 
 
 Возврат ВРЕГ(НовоеСлово);
КонецФункции
39

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. anddro 60 02.10.09 12:44 Сейчас в теме
а через массив не быстрее?
Примерно так:

Перем транслит[256] Экспорт;

Процедура ДобавитьСимвол(Символ,ВСимвол)
транслит[КодСимв(Символ) + 1] = ВСимвол;
Если Врег(Символ) <> Символ Тогда
транслит[КодСимв(ВРЕГ(Символ)) + 1] = ВРЕГ(Лев(ВСимвол,1))+Сред(ВСимвол,2);
КонецЕсли;
КонецПроцедуры

Функция ЗаполнитьТранслит();
Для Сч = 1 По 256 Цикл
транслит[сч] = Симв(сч-1);
КонецЦикла;
ДобавитьСимвол("й","j");
//.. и т.п. - только маленькие, и только то что надо транслитерировать
ДобавитьСимвол("щ","tsh");
КонецФункции
//*******************************************
Процедура Сформировать()
ЗаполнитьТранслит();
Стр = "?????????????";
РезСтр = "";
Для Сч = 1 По СтрДлина(Стр) Цикл
РезСтр = РезСтр + транслит[КодСимв(Сред(Стр,Сч,1)) + 1];
КонецЦикла;
КонецПроцедуры
2. Арчибальд 2708 02.10.09 15:04 Сейчас в теме
3. NoMax 232 05.10.09 16:51 Сейчас в теме
(0) и тоже близкое

Функция Transliterate(srtRusWord)
strRUS = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
strENG = "A///B///V///G///D///E///YO//ZH//Z///I///Y///K///L///M///N//­/O///P///R///S///T///U///F///KH//TS//CH//SH//SHCH'///Y//////­/E///YU//JA//";
strResult = "";
Для i = 1 по СтрДлина(srtRusWord) Цикл
s = Сред(srtRusWord, i,1);
s=ВРег(s);
k = Найти(strRUS, s);
Если k = 0 тогда
strResult = strResult + s;
Иначе
strResult = strResult + СтрЗаменить(Сред(strENG, (k - 1) * 4 + 1, 4), "/", "");
КонецЕсли
КонецЦикла ;
Возврат strResult;
КонецФункции
taterm; EarlyBird; Papilion; arccos6pi; pchelkatoo; lamp; Hellen; orehova123; LiliaYA; Redpirate; +10 Ответить
5. serg1c 21 07.10.09 10:44 Сейчас в теме
А почему не использовать посылку сразу латиницей но в UNICODE.
Например: http://infostart.ru/public/16088/
7. kiros 51 17.01.12 11:33 Сейчас в теме
Спасибо, мне пригодилось при создании пользователя в 1с8 почту писать, немного подшаманил, т.к. 8-ка и 7-ка все таки немного разные :). А так спасибо, просто и понятно.
8. air_mike 25 24.01.12 09:11 Сейчас в теме
(7) kiros, Аналогично. т.к. регистры важны
9. igorberezhnov 114 31.01.13 12:22 Сейчас в теме
Очень быстрая функция транслитерации. Работает с символами как верхнего, так и нижнего регистра. Встречающиеся латинские буквы и знаки препинания оставляет нетронутыми.

// Глобальная переменная
Перем ТрансХ[3];

Процедура ИнициализацияТранслитерации()
	ТрансХ[1] = "A:B:V:G:D:E:YO:ZH:Z:I:Y:K:L:M:N:O:P:R:S:T:U:F:H:C:CH:SH:SCH:':Y:':E:YU:YA";
	ТрансХ[2] = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
	НС=1;СД=СтрДлина(ТрансХ[1]);
	Для I=1 По СтрДлина(ТрансХ[2]) Цикл
	Т=0;
	Для J=НС По СД Цикл
	Если Сред(ТрансХ[1],J,1)=":" Тогда Прервать;Иначе Т=Т+1;КонецЕсли;
	КонецЦикла;
	ТрансХ[3]=ТрансХ[3]+Симв(НС)+Симв(Т);НС=НС+Т+1;
	КонецЦикла;
КонецПроцедуры

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

Функция Транслитерация(СР)
	Р="";
	Для I=1 По СтрДлина(СР) Цикл
	СД=Сред(СР,I,1);С=ВРег(СД);ВН=?(СД<>С,1,0);
	П=Найти(ТрансХ[2],С);
	Если П>0 Тогда
	С=Сред(ТрансХ[3],(П*2)-1,2);С=Сред(ТрансХ[1],КодСимв(С),КодСимв(Прав(С,1)));
	Р=Р+?(ВН=1,НРег(С),С);
	Иначе Р=Р+С;
	КонецЕсли;
	КонецЦикла;
	Возврат Р;
КонецФункции
Показать
dim9; lamp; +2 Ответить
11. Masich 15.10.13 23:07 Сейчас в теме
10. RTFM 84 18.06.13 11:25 Сейчас в теме
Спасибо автору! Самому впадлу было бы писать. Чуть под себя переделал.
12. lamp 29 20.06.14 14:52 Сейчас в теме
Вставлю и свои 5 копеек :)

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

terra_inc; dim9; crash-16; +3 Ответить
13. RENISANS 14.07.15 10:05 Сейчас в теме
В массиве смотрится красивей


Функция ТранслитерацияНаЛатиницу(СтрокаТекста)
    стрРус = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчш­щъыьэюяєіїЄІЇ";
    стрEng = "A/B/V/G/D/E/YO/ZH/Z/I/Y/K/L/M/N/O/P/R/S/T/U/F/H/TS/CH/SH/SH­CH/Y/I//E/YU/JA/a/b/v/g/d/e/yo/zh/z/i/y/k/l/m/n/o/p/r/s/t/u/­f/h/ts/ch/sh/shch/y/i//e/yu/ja/i/i/je/I/I/JE/";
	Масс = split(стрEng,"/"); //Загоняю буквы в массив
    Результат = "";
    Для Сч = 1 по СтрДлина(СтрокаТекста) Цикл
        Символ = Сред(СтрокаТекста, Сч, 1);
        Позиция = Найти(стрРус, Символ);
        Если Позиция = 0 Тогда
            Результат = Результат + Символ
        Иначе
            Результат = Результат + Масс[Позиция - 1];
		КонецЕсли
    КонецЦикла;
    Возврат Результат
КонецФункции


Функция split(Стр, Разделитель = "|")Экспорт 
	
	МассивСтрок = Новый Массив();
	ДлинаРазделителя = СтрДлина(Разделитель);
	
	Пока Истина Цикл
		Поз = Найти(Стр, Разделитель);
		Если Поз=0 Тогда
			МассивСтрок.Добавить(Стр);
			Возврат МассивСтрок;
		КонецЕсли;
		МассивСтрок.Добавить(Лев(Стр,Поз-1));
		Стр = Сред(Стр,Поз+ДлинаРазделителя);
	КонецЦикла;
КонецФункции

Показать
avgreen; bluntschi; FilatovRA; dim9; +4 Ответить
14. 🅵🅾️🆇 04.10.17 14:03 Сейчас в теме
Некропостну своей функцией по госту ISO 9:

// ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~
//		Транслитерация согласно ГОСТ'у 7.79—2000 / ISO 9 
// ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~
// Транслитерация с русского согласно ISO 9
// Функция возвращает транслит текстом соблюдая изначальный регистр.
// Параметры:
//	Текст	- [обязательный](строка) параметром передается текст на транслитерацию
//	Правило	- [необязательный](строка) правило CSV строкой с разделителями ":" и ";"
Функция TransliteracziyaISO9(Знач Текст, Знач Правило = "")
	// Устанавливаю соответсвия между русскими символами и латиницей
	Если ПустаяСтрока(Правило) Тогда 
		Правило		= 
		"А:a;Б:b;В:v;Г:g;Д:d;Е:e;Ё:yo;Ж:zh;З:z;И:i;Й:j;К:k;
		|Л:l;М:m;Н:n;О:o;П:p;Р:r;С:s;Т:t;У:u;Ф:f;Х:x;Ц:cz;
		|Ч:ch;Ш:sh;Щ:shh;Ъ:``;Ы:y`;Ь:`;Э:e`;Ю:yu;Я:ya;’:';№:#";
	КонецЕсли;
	Правило		= СтрЗаменить(Правило, Символы.ПС, "");	
	Соответсвие	= Новый Соответствие; 
	Для Каждого Элт Из СтрРазделить(Правило, ";", Ложь) Цикл
		Соответсвие.Вставить(НРег(Лев(Элт, 1)), НРег(Сред(Элт, 3)));	
	КонецЦикла;
	Результат	= "";
	Правило		= Неопределено;
	
	// Перебираю посимвольно исходный текст
	Для Счетчик = 1 По СтрДлина(Текст) Цикл
		Буква	= Сред(Текст, Счетчик, 1);
		Если Соответсвие[НРег(Буква)] = Неопределено  Тогда
			// Оставлять нетронутыми исходные символы
			Буква	= Буква;	
		ИначеЕсли Буква = НРег(Буква) Тогда
			// Символы в нижнем регистре
			Буква	= Соответсвие[Буква];
		Иначе
			// Символы в верхнем регистре
			Буква	= ВРег(Соответсвие[НРег(Буква)]);
		КонецЕсли;		
		Результат	= Результат + Буква;
	КонецЦикла;	
	Возврат Результат;
КонецФункции // TransliteracziyaISO9()
// ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~ ~~~~~
Показать


Pri otpravke SMSok iz 1S stolknulsya s tem, chto tekst otpravlyalsya tol`ko latiniczej, a danny`e-to v kirillicze. V rezul`tate napisal funkcziyu perevoda teksta v latiniczu.
Mozhet, komu-nibud` prigoditsya
15. 🅵🅾️🆇 04.10.17 17:14 Сейчас в теме
(14)
Быстрофикс, должно быть ТРег:
// Символы в верхнем регистре
Буква    = ТРег(Соответсвие[НРег(Буква)]);
16. Cooler 21 04.10.17 17:25 Сейчас в теме
(14)
Некропостну своей функцией
Получился не только некропостинг, но и мимопостинг: публикация находится в разделе "Платформа 7.7".
17. 🅵🅾️🆇 04.10.17 17:48 Сейчас в теме
(16)
Прошу прощения. Существование семерки уже стерлось из памяти.
18. Running 03.12.18 10:52 Сейчас в теме
Спасибо за простой и понятный код.
Оставьте свое сообщение

См. также

Дистрибьюция 7.7. Часть 1. Жизненный цикл заявки покупателя. Одна заявка покупателя, много адресов доставки. 1

Статья Программист Нет файла v7.7 1С7:Комплекс 1С7:ТиС УУ Бесплатно (free) Практика программирования Адаптация типовых решений

Описан способ работы с учетом расписания с приоритетными покупателями - торговыми сетями (основными покупателями) в торговой или комплексной учетной системе на 1С 7.7. Множественная заявка покупателя на несколько торговых точек.

14.10.2019    537    ksnik    0       

Проверка часового пояса 9

Статья Программист Нет файла v7.7 Windows Бесплатно (free) Практика программирования

При использовании терминалок для удаленных баз, иногда при входе в базу данных необходимо исключить возможность входа пользователей с компьютеров с другим часовым поясом. Например, работают в Новосибирской базе с временем UTC +6 и пытаются зайти в базу с UTC +3.

16.05.2016    8179    kudenzov    3       

[ПОЛЕЗНЯШКА, 7.7] Как посчитать итоги по документам черным запросом с изподвывертом? 13

Статья Программист Нет файла v7.7 1cv7.md Windows Бесплатно (free) Практика программирования

Мелкая полезняшка, считает запросом итоговую сумму документов и количество документов.

12.03.2016    15474    CheBurator    18       

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция 111

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования WEB

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    48351    Serginio    33       

.Net в 1С. Асинхронные HTTP запросы, отправка Post нескольких файлов multipart/form-data, сжатие трафика с использованием gzip, deflate, удобный парсинг сайтов и т.д. 37

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент WEB

Очень часто нужно при работе с HTTP сервисами или сайтами использовать Асинхронные HTTP запросы, отправку на сервер нескольких файлов, использование сжатия трафика. Эта статья про то, как этого легко добиться.

09.03.2016    25379    Serginio    22       

Использование классов .Net в 1С для новичков 147

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент Универсальные функции

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    62787    Serginio    104       

Пример HTTP запроса к УТМ ЕГАИС на платформе 1С 7.7 15

Статья Программист Нет файла v7.7 1cv7.md Россия Windows Оптовая торговля Розничная торговля Бесплатно (free) Практика программирования Внешние источники данных

Запрос реализован на объекте ServerXMLHTTP из встроенной в Windows библиотеки MSXML, результатом запроса является XML объект DOMDocument из той же библиотеки MSXML со встроенным интерфейсом его обработки

16.12.2015    19990    Palmer1976    3       

Экспорт нескольких MXL таблиц в один XLS файл, на отдельные листы. Простой алгоритм 20

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Статья посвящена распространённому вопросу - как сохранить несколько таблиц (отчетов) в формате MXL, с которым работает 1С, на отдельные листы одного Excel файла. Освещается простой алгоритм решения проблемы штатными средствами, без использования внешних модулей и библиотек (не относящихся к 1С и Excel).

23.11.2015    13949    etmarket    14       

Процедура расшифровки ячейки таблицы в отчетах 1С 7.7 11

Статья Программист Нет файла v7.7 1cv7.md Windows Бесплатно (free) Практика программирования Универсальные функции

Хочу поделиться с вами универсальной процедурой для расшифровки ячеек печатной формы отчетов в 1С 7.7.

24.09.2015    13775    Anzhey    13       

Универсальный способ сравнения таблиц 15

Статья Программист Нет файла v7.7 v8 Бесплатно (free) Практика программирования

На эту тему уже есть статьи, но этот способ нигде не описан. Хотя я его использую с тех пор, как занимаюсь программированием. Его преимущество в простоте и универсальности: можно применять на 1С, SQL, а также в любом другом языке программирования.

05.07.2015    14782    json    1       

Числа прописью в родительном падеже в 7.7? Легко! 13

Статья Программист Нет файла v7.7 1cv7.md Windows Бесплатно (free) Практика программирования

Вывод числительных прописью в родительном падеже штатными средствами в три строчки кода.

20.06.2015    10025    gimalaj    3       

Хитрости сохранения табличного документа в Excel для дальнейшей работы с ним 78

Статья Программист Нет файла v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Все пользователи 1С всех версий (начиная с 7-й) сталкиваются с проблемой нормальной работы с данными, сохраненными в Excel файл. Есть некоторые хитрости, которые позволяют облегчить работу с сохраненными данными из 1С в формат Excel.

16.01.2015    70839    shmellevich    35       

Исправление в типовой комплексной конфигурации глобальной функции глВсеРеквизитыДокументаЗаполнены() 4

Статья Программист Нет файла v7.7 1С7:Комплекс Россия Windows Бесплатно (free) Практика программирования

В типовых конфигурациях глобальная функция глВсеРеквизитыДокументаЗаполнены() не работает с реквизитами табличной части. Данная статья содержит текст исправленной функции, корректно проверяющей табличную часть.

20.08.2014    5989    hvv2002    0       

ЗаполнитьЗначенияСвойств - заставляем работать в 7.7 11

Статья Программист Нет файла v7.7 1cv7.md Бесплатно (free) Практика программирования

Если вы используете в работе 1С:Предприятие 8.х, то наверняка знакомы и с замечательной системной процедурой, как ЗаполнитьЗначенияСвойств(). Ее использование помогает значительно упростить написание программного кода в ряде случае, делает его (код) более наглядным и простым. Но что же делать тем, кто до сих пор использует (постоянно или иногда) 1С:Предприятие 7.7?

24.07.2014    18735    tomvlad    5       

Полезные функции. Склонение (должность и фамилия подписантов). Любой язык 3

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования

Уехал директор в командировку, отпуск... , оставил доверенность на хозяйственные операции на другого сотрудника. Все договора и другие документы в обмороке - "подписант" теперь другой, по тексту тоже много правок... Пересмотрел много публикаций, вариантов много, не приглянулось. Сделал свой "Баян" . У меня всего-то крутится пять фигурантов ... Нет простого, наглядного и всепогодного варианта без языкового барьера. Всем процессом управляет пользователь.

03.03.2014    15324    kompas-dm    5       

Реализация Ctrl+Z в 1С 7.7 (ТиС) 7

Статья Программист Нет файла v7.7 1С7:ТиС Windows Бесплатно (free) Практика программирования

В семерке отсутствует возможность отменять последнее действие в формах документов. В данной статье будет рассмотрен пример реализации данной функции. Возможно, кому-нибудь пригодится.

15.07.2013    5539    a.o.popova    10       

Копия напечатанного документа или как спрятать документ. 2

Статья Программист Нет файла v7.7 Бесплатно (free) Журнал регистрации Практика программирования

Возникла необходимость, чтобы при печати определённого документа (даже потом не сохранённого), создавалась его копия, т.е. запись всех напечатанных документов. (В результате чего возникла такая потребность, полагаюсь на вашу фантазию). В итоге получилось два варианта решения, остановился на втором.

11.04.2013    13097    Dima_    8       

Автосохранение документа в 1С 7.7 3

Статья Программист Нет файла v7.7 1cv7.md Россия Windows Бесплатно (free) Практика программирования

В данной статье мы рассмотрим автосохранение документа в 1С 7.7!

22.03.2013    11053    aagubarev    25       

Конвертация данных 2.1 (2.1.3.1) 1С 7.7 - 1С 8.Х передача параметра ПКО 14

Статья Системный администратор Программист Нет файла v7.7 v8 КД Бесплатно (free) Практика программирования Перенос данных из 1С7.7 в 1C8.X

Передача параметров по умолчанию доступна только для баз 1С 8.х -1С 8.х. Показан пример, как передать параметры из 1С 7.7 - 1С 8.х

10.12.2012    22184    serg_gres    6       

Устранение проблемы при работе с полем, которое ограничено маской ввода 3

Статья Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

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

08.08.2012    14123    www2000    4       

Получение характеристик и управление текущим процессом 1С на основе WMI 36

Статья Программист Нет файла v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Универсальные функции

Функционал для работы из 1С с текущим процессом класса Win32_Process. Пример получает текущее значение ОЗУ занятое процессом 1С. По описанной методике можно получать значения пиковых нагрузок на ОЗУ, время запуска текущей сессии 1С с точностью до миллисекунд. Определять загрузку активного ядра процессом и даже поменять приоритет самого процесса.

09.07.2012    18973    dusha0020    8       

Динамическая фильтрация в справочнике при вводе наименования 15

Статья Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

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

02.07.2012    14228    maxpiter    62       

Обновление базы 1с 7.7. с помощью движка 1с 8.х 92

Статья Системный администратор Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования Администрирование данных 1С

Если Вас угораздило в стандартную типовую конфу внести правки, причем в самый большой модуль, а именно глобальный. Если к тому же Вы внесли изменение в какую-то стандартную функцию, в которой 1с сама регулярно чего-то меняет, то любое обновление начинает доставать. Используя возможности движка платформы 1с 8.х можно существенно сэкономить себе время и нервы.

28.04.2012    15863    Valerich    31       

v77. Робот 43

Инструменты и обработки no Внешняя обработка (ert,epf) v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

Исполнитель Робот. Учебное пособие по программированию для детей дошкольного возраста. Без внешних компонент.

09.04.2012    10195    54    item    18       

Запуск внешней обработки по расписанию v7.7 39

Статья Программист Нет файла v7.7 1cv7.md Россия Windows Бесплатно (free) Практика программирования Администрирование данных 1С

Неоднократно возникали задачи организовать, например ежедневную выгрузку и отправку отчетов по эл.почте, и вот…

20.03.2012    39489    Yury1001    17       

v77. Закладки в многоуровневом справочнике аля Total Commander 28

Инструменты и обработки Программист Конфигурация (md, cf) v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

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

09.03.2012    8808    44    item    17       

v77. Паинт 53

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

v77. 1С:Паинт :) Такая вот игрушка. Без внешних компонент.

06.03.2012    11899    81    item    38       

Как уменьшить количество заблокированных объектов 26

Статья Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

История о том как я решил пересобрать форму справочника клиентов и чем это все закончилось...

12.01.2012    13190    ShEvOvIcH    18       

Регистрация текста окна сообщений 4

Статья Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

Для контроля работы пользователей потребовалось записывать текст окна сообщений в файл. Получился простейший механизм регистрации лог-файла. Удержать роста папки "Temp", в качестве рекомендации, может использование bat-файла, который будет чистить или архивировать получаемые логи. Таких батников в инете полным-полно. P.S. Особо по форуму не смотрел, может, есть уже такое.

28.11.2011    6379    sdin101    9       

Хитрость. Использование БУЛЕВО при OLE обмене/подключении из 7.7 к 8 17

Статья Системный администратор Программист Нет файла v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X Универсальные функции

Как известно, при OLE обмене доступны только типы СТРОКА, ЧИСЛО, ДАТА. А вот БУЛЕВО (ИСТИНА, ЛОЖЬ) использовать при подключении из 7.7 к 8 не получается. Как же быть? Есть хитрость, как использовать тип булево в семерке при обмене с 1С8! :)

28.09.2011    14051    bsturtle    9       

7.7.: Готовим md-файл для публикации. В картинках. 46

Статья Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

Вы доработали типовую конфигурацию: скажем, добавили новый Документ, и хотите им поделиться с обществом ИС. Но нельзя же выложить МД-шник целиком, это будет нарушением правил. И как тут быть?

14.09.2011    15045    Арчибальд    21       

Учет доверенностей 6

Статья Программист Нет файла v7.7 1С7:Бух 1С7:Комплекс 1С7:ТиС 1С7:ПУБ Документооборот и делопроизводство Бесплатно (free) Практика программирования

В расходных документах есть необходимость проставления доверенности. Но заносить каждый раз одни и те же данные бывает утомительно. особенно при больших оборотах.

08.09.2011    9559    Sykoku    8       

Выбор Движений документа по конкретному регистру, с помощью прямого запроса 0

Инструменты и обработки Программист Конфигурация (md, cf) v7.7 openconf 1cv7.md Россия Бесплатно (free) Практика программирования

Чтобы узнать какие движения сделал документ по конкретному регистру, в моем случае это регистр "ОстаткиПоСчетам" (оборотный), была написана следующая функция в глобальном модуле. Работает только для SQL версии и установленной внешнй компонентой 1С++!

26.05.2011    10529    Vix    4       

Прямой запрос на выборку подчиненных документов 6

Инструменты и обработки Программист Конфигурация (md, cf) v7.7 openconf 1cv7.md Россия Бесплатно (free) Практика программирования

Иногда необходимо получить список или таблицу документов, подчиненных выбранному. Для этого в глобальном модуле была написана функция с прямым запросом на выборку подчиненных документов. Работает только в SQL версии и при установленной внешней компоненте 1С++ !

26.05.2011    16849    Vix    5       

Некоторые ошибки и «проблемные» особенности реализации встроенного языка платформы 1С:Предприятие 7.7 96

Статья Программист Нет файла v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Бесплатно (free) Практика программирования

Описание некоторых ошибок и особенностей реализации встроенного языка, которые создают «подводные камни» при программировании, а также возможных способов обхода этих проблем из собственного опыта работы на платформе 1С:Предприятие 7.7.

08.04.2011    42031    AleksR    102       

Монопольно ли запущена база 7.7 для SQL. Снятие single user в sql 9

Статья Системный администратор Программист Нет файла v7.7 openconf 1cv7.md Россия Бесплатно (free) Информационная безопасность Практика программирования

T-SQL скрипт, позволяющий определить монопольно ли запущена база на сервере SQL, а также перевести базу в multi user

11.03.2011    16423    d0dger    12       

Ошибки формата файла 2-НДФЛ в ЗиК релиз 306 100

Статья Программист Нет файла v77::Расчет 1С7:ЗиК Россия НУ Зарплата НДФЛ Бесплатно (free) Практика программирования

Ошибки 2НДФЛ в релизе: файл формируется как для ЮЛ, даже если работодатель ИП, опечатка "Отчетсвто", и указание имени файла с расширением. Нужно подправить отчет "СправкиПоНДФЛ".

02.02.2011    17123    1st    6       

ЗиК 305 ЗиК 306 Больничный лист. 107

Статья Программист Нет файла v77::Расчет 1С7:ЗиК Россия Зарплата Бесплатно (free) Практика программирования

Для переходящих больничных листов за счет работодателя оплачивается 2 дня, а не 3. Первоисточник: http://forums.kuban.ru/forum/viewtopi...669&page=2

25.01.2011    12215    Cvetic    26