1с: Число прописью без нулей

Задача: вывести число прописью, число должно быть целым

Решение:

ЧислоПрописью(ПроцентВознаграждения,"НП=Ложь",",,,,,,,,0")

Ну и бонусом, перечислю наиболее распространенные варианты использования.

Вывод рублей и копеек:

ЧислоПрописью(итвсегосндс,"Л=ru_RU; ДП=Ложь","рубль, рубля, рублей, м, копейка, копейки, копеек, ж" ); 

Вывод процентов:

ЧислоПрописью(ПроцентВознаграждения,"НП=Истина","процент,процента,процентов,,,,,,0")

1С Бухгалтерия 3.0.121.31: отправка письма

В данной версии БСП используемой в БУх, отправка письма производится так:

	тело="Прювет";
	ПараметрыПисьма = Новый Структура("Кому, Тема, Тело,ТипТекста", объект.email, "Абырвалг", тело,"HTML");
	РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(РаботаСПочтовымиСообщениями.СистемнаяУчетнаяЗапись(),ПараметрыПисьма);

1С: POST запросы

POST запрос к какому то ресурсу в 1С можно организовать например примерно так:

&НаСервере
Функция СтруктураВСтрокуJSON(Данные)экспорт
	
		ЗаписьJSON = Новый ЗаписьJSON();
		ЗаписьJSON.УстановитьСтроку();
		ЗаписатьJSON(ЗаписьJSON, Данные);
		ответ=ЗаписьJSON.Закрыть();
		// заменим -999999999 на null раз уж 1С это не умеет
		ответ=стрЗаменить(ответ,"-999999999","null");
		возврат ответ;
	
КонецФункции
&НаСервере
Функция API_SendSMS(УРЛ,Логин,Пароль,Отправитель,Телефон,ТекстСмс,ВремяЖизни=360)экспорт
	Соединение=ПолучитьПараметрыСоединения(УРЛ,Логин,Пароль);
	answer=API_getSessionID(Соединение,Логин,Пароль);
	если answer.error=true тогда возврат answer;конецесли;	
	
	ПОСТ_Структура=Новый Структура("sessionId,sourceAddress,data,destinationAddress,validity");
	ПОСТ_Структура.sessionId=answer.result; 		 //идсессии,
	ПОСТ_Структура.sourceAddress=Отправитель;  		 //имяотправителя
	ПОСТ_Структура.destinationAddress=Телефон;		 //получатель(номер)
	ПОСТ_Структура.data=ТекстСмс;	 				 //текст сообщения
	ПОСТ_Структура.validity=ВремяЖизни; 			 //время жизни в минутах

	Заголовки = Новый Соответствие;
	Заголовки["Content-Type"] = "application/json";	
	Заголовки.Вставить("Connection", "keep-alive");	
	Заголовки.Вставить("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)");

	HTTPЗапрос = Новый HTTPЗапрос("/rest/Sms/Send",Заголовки);
	HTTPЗапрос.УстановитьТелоИзСтроки(СтруктураВСтрокуJSON(ПОСТ_Структура), КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
	
	Результат = Соединение.ВызватьHTTPМетод("POST",HTTPЗапрос);
	РезЗапроса=JSONВСтруктуру(Результат.ПолучитьТелоКакСтроку());
	если ТипЗнч(РезЗапроса)=Тип("Строка") тогда
		answer.error=true;
		answer.result=РезЗапроса;
		возврат answer;
	конецесли;	
	если ТипЗнч(РезЗапроса)=Тип("Структура") тогда
		answer.error=true;
		answer.result=РезЗапроса.Desc;
		возврат answer;		
	конецесли;	
	answer.error=false;
	answer.result=РезЗапроса[0];
	возврат answer;
	
КонецФункции

1С: Автоматическое сохранение данных на форме

Часто бывает ситуация, что необходимо во внешней обработке какие-то реквизиты позволять пользователю сохранять. Классический вариант — сохранять данные в пользовательских настройках, или придумывать иное место хранения. Но для этого нужны телодвижения со стороны программиста. С недавних пор (ну как с недавних, лет 5 уже 😉 ) , есть уже штатный способ, встроенный в платформу:

Автоматическое сохранение данных»В свойствах формы выбираем «Автоматическое сохранение данных» = использовать:

И далее проставляем в графе «Сохранение» галочки у тех реквизитов, которые необходимо сохранять:

1C: прикрепление файла к документу в разных версиях БСП

БСП < 2.0:

АдресФайлаВХранилище = ПоместитьВоВременноеХранилище(Base64Значение(body.file_base64));
		РаботаСФайламиВызовСервера.СоздатьФайлСВерсией(
			док.Ссылка,
			"результат",
			"pdf",
			ТекущаяДата(),
			ТекущаяДата(),
			,
			АдресФайлаВХранилище,АдресФайлаВХранилище,
			Ложь,
			,
			,
			Истина);		

БСП 2..3:

 // Добавляем его в присоединенные файлы к договору.
    ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ИмяФайла);
    АдресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанныеФайла);
    НаименованиеФайла = НачалоНаименованияФайла + " " + ДоговорСсылка.Номер + " от " + Формат(ДоговорСсылка.Дата, "ДЛФ=D");
    //ПрисоединенныйФайлСсылка = ПрисоединенныеФайлы.ДобавитьФайл(ДоговорСсылка, НаименованиеФайла, РасширениеБезТочки, , , АдресВХранилище,,,, НаименованиеФайла + " (Сф-но автомат-ки)");

    ИмяФайлаПриведенное = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(НаименованиеФайла, "_"); // ЕМ 2015_10_20
    ПрисоединенныйФайлСсылка = ПрисоединенныеФайлы.ДобавитьФайл(ДоговорСсылка, ИмяФайлаПриведенное, РасширениеБезТочки, , , АдресВХранилище,,,, НаименованиеФайла + " (Сф-но автомат-ки)");

Современные версии

ИмяФайлаНаДиске = "C:\Users\v.burmistrov\Downloads\ффд12.pdf";	
ДвоичныеДанные = Новый ДвоичныеДанные(ИмяФайлаНаДиске);
ВременноеХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
// Подготоваливаем описание файла заполнив все необходимые параметры
ПараметрыФайла = РаботаСФайлами.ПараметрыДобавленияФайла();
ПараметрыФайла.Автор = Пользователи.ТекущийПользователь();
ПараметрыФайла.ВладелецФайлов = ДокументСсылка;
ПараметрыФайла.ИмяБезРасширения = СтрЗаменить(ИмяФайлаНаДиске,".pdf","");
ПараметрыФайла.РасширениеБезТочки = "pdf";
// Используем функцию БСП и добавляем файл к объекту
РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, ВременноеХранилище);

1 11 12 13 14 15 51