Наши бухи в текущем месяце выставляют счета за прошлый месяц. Поэтому в печатной форме в Январе 2019 должно быть декабрь 2018.
С выводом месяца проблем нет. Но вот с годом ситуация иная. При выводе появляется пробел после двойки и в итоге в печатной форме выводится "...за декабрь 2 018". Это происходит только в январе, когда нужно печатать за декабрь и отнимать один год
кусок кода:
Если
Формат(Дата1, "ДФ=ММММ") = "Январь" Тогда
Год_1 = Формат(Дата1, "ДФ=гггг")-1;
Иначе Год_1 = Формат(Дата1, "ДФ=гггг");
КонецЕсли;
Как убрать этот пробел? Помогите, люди добрые
Fltr
15.01.2019, 14:40
Наши бухи в текущем месяце выставляют счета за прошлый месяц. Поэтому в печатной форме в Январе 2019 должно быть декабрь 2018.
С выводом месяца проблем нет. Но вот с годом ситуация иная. При выводе появляется пробел после двойки и в итоге в печатной форме выводится "...за декабрь 2 018". Это происходит только в январе, когда нужно печатать за декабрь и отнимать один год
кусок кода:
Если
Формат(Дата1, "ДФ=ММММ") = "Январь" Тогда
Год_1 = Формат(Дата1, "ДФ=гггг")-1;
Иначе Год_1 = Формат(Дата1, "ДФ=гггг");
КонецЕсли;
Как убрать этот пробел? Помогите, люди добрые
//КАК УБРАТЬ ПРОБЕЛ В ЧИСЛЕ 12 600,00?
//Важно понимать, что здесь используется не символ пробела, а так называемый, «неразрывный пробел»,
//поэтому такая, к примеру, конструкция:
//СтрЗаменить(ПеременнаяЧис� �о," ","");
//работать не будет.
//Есть два варианта решения проблемы, либо указать для замены вместо пробела Символы.НПП,
//либо используя функцию Формат().
//1)
СтрЗаменить(ПеременнаяЧис� �о,Символы.НПП,""); // 1-й вариант
//2)
Формат(ПеременнаяЧисло,"ЧГ="); // 2-й вариант
Переменная Год_1 имеет тип число, в её стандартном представлении используется неразрывный пробел.
Чтобы его "представить" корректно, можно сделать, например, так:
ГодСтрокой = Формат(Год_1, "ЧГ=0");
Но вообще, приведенный вами кусок кода не поддается никакой критике.
Не нужно переводить ничего в строку. Можно оперировать датами.
Если НачалоМесяца(Документ.Дата ) = Дата(2019,1,1) Тогда
Результат = Дата(2018,12,31);
Иначе
Результат = Документ.Дата;
КонецЕсли;
DoCaru
15.01.2019, 16:29
Если Дата1<=Дата("20193101") Тогда
Дата1 = Формат(Дата1,"ММММ ГГГГ")
КонецЕсли
Попробуй
gGorus
15.01.2019, 16:34
Поддерживаю: нужно оперировать датами, а уже полученную дату - форматируем как нам нужно.