Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Сумма прописью полностью , Бухгалтерия для Украины          
f12 Подменю пользователя
сообщение 05.06.11, 21:08
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Из: Ивано-Франковск
Спасибо сказали: 384 раз
Рейтинг: 198

Здравствуйте. Подскажите, где подправить или изменить, что-бы в платежном поручении выводилась на постоянной основе сумма прописью полностью, а не сокращенно?
Благодарю!

5_kopeek Подменю пользователя
сообщение 05.06.11, 21:21
Сообщение #2

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Что имеется ввиду под сокращением: вместо "грн." надо "гривні"? Или о другом речь идет?

f12 Подменю пользователя
сообщение 05.06.11, 21:35
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Из: Ивано-Франковск
Спасибо сказали: 384 раз
Рейтинг: 198

Цитата(5_kopeek @ 05.06.11, 22:21) *
Что имеется ввиду под сокращением: вместо "грн." надо "гривні"? Или о другом речь идет?


Да, именно так.
Выводит грн. коп. - а надо гривень (гривні), копійок (копійка)

5_kopeek Подменю пользователя
сообщение 05.06.11, 21:42
Сообщение #4

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Приведите процедуру глобального модуля к такому виду:
// ===============================
// Возвращает сумму прописью
// для платежных документов.
Функция глСуммаПрописьюДляПлатежныхДокументов(Сумма) Экспорт
    Гривны    = Цел(Сумма);
    Копейки   = (Сумма - Гривны) * 100;
    ГривныСтр = Формат(Гривны, "ЧПД");
    //Если Гривны <> 0 Тогда
    //    Поз = Найти(ГривныСтр, " грив");
    //    ГривныСтр = Лев(ГривныСтр, Поз) + "грн."
    //КонецЕсли;
    //Возврат ГривныСтр + " " + Формат(Копейки,"Ч(0)2") + " коп.";
    ПоследняяЦифра=Прав(Строка(Копейки),1);
    Если (ПоследняяЦифра=0)или((ПоследняяЦифра>=5)и(ПоследняяЦифра<=9)) Тогда
        ТекстКопейки=" копійок";
    ИначеЕсли ПоследняяЦифра=1 Тогда
        ТекстКопейки=" копійка";
    ИначеЕсли ((ПоследняяЦифра>=2)и(ПоследняяЦифра<=4))  Тогда
        ТекстКопейки=" копійки";
    КонецЕсли; // Прав(Строка(Копейки),1)=0
    Возврат ГривныСтр + " " + Формат(Копейки,"Ч(0)2") + ТекстКопейки;
КонецФункции

Спасибо сказали: f12,

f12 Подменю пользователя
сообщение 05.06.11, 21:57
Сообщение #5

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Из: Ивано-Франковск
Спасибо сказали: 384 раз
Рейтинг: 198

Насколько я понял, то этот блок необходимо вставить в гл.модуль плат.поручение. Но вот куда именно?

5_kopeek Подменю пользователя
сообщение 05.06.11, 22:40
Сообщение #6

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

А я решила, раз отблагодарили, то уже проверили smile.gif
Конфигуратор => Конфигурация => Открыть конфигурацию => Действия => Глобальный модуль.
Именно там находится указанная функция, ее необходимо заменить на тот вариант, что я предложила. Не проверяла, надеюсь, ошибок нет, но в случае чего -- пишите, поправлю.

Спасибо сказали: f12,

f12 Подменю пользователя
сообщение 05.06.11, 22:53
Сообщение #7

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Из: Ивано-Франковск
Спасибо сказали: 384 раз
Рейтинг: 198

Спасибо, нашел, сделал...но когда решил проверить - распечатать платежку - выдало вот это...
err Если (ПоследняяЦифра=0)или((ПоследняяЦифра>=5)и(ПоследняяЦифра<=9)) Тогда
{Глобальный модуль(540)}: Операции сравнения на больше-меньше допустимы только над значениями совпадающих базовых типов (число, строка, дата)

Сообщение отредактировал f12 - 05.06.11, 22:55

-=VJ=- Подменю пользователя
сообщение 05.06.11, 23:20
Сообщение #8

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Цитата(f12 @ 05.06.11, 22:53) *
Спасибо, нашел, сделал...но когда решил проверить - распечатать платежку - выдало вот это...


ПоследняяЦифра=Число(Прав(Строка(Копейки),1));


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

Спасибо сказали: 5_kopeek, f12,

f12 Подменю пользователя
сообщение 05.06.11, 23:26
Сообщение #9

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Из: Ивано-Франковск
Спасибо сказали: 384 раз
Рейтинг: 198

Цитата(-=VJ=- @ 06.06.11, 0:20) *
ПоследняяЦифра=Число(Прав(Строка(Копейки),1));


Спасибо, получилось!!!

alex040269 Подменю пользователя
сообщение 15.06.11, 21:48
Сообщение #10

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(5_kopeek @ 05.06.11, 22:42) *
Приведите процедуру глобального модуля к такому виду:
// ===============================
// Возвращает сумму прописью
// для платежных документов.
Функция глСуммаПрописьюДляПлатежныхДокументов(Сумма) Экспорт
    Гривны    = Цел(Сумма);
    Копейки   = (Сумма - Гривны) * 100;
    ГривныСтр = Формат(Гривны, "ЧПД");
    //Если Гривны <> 0 Тогда
    //    Поз = Найти(ГривныСтр, " грив");
    //    ГривныСтр = Лев(ГривныСтр, Поз) + "грн."
    //КонецЕсли;
    //Возврат ГривныСтр + " " + Формат(Копейки,"Ч(0)2") + " коп.";
    ПоследняяЦифра=Прав(Строка(Копейки),1);
    Если (ПоследняяЦифра=0)или((ПоследняяЦифра>=5)и(ПоследняяЦифра<=9)) Тогда
        ТекстКопейки=" копійок";
    ИначеЕсли ПоследняяЦифра=1 Тогда
        ТекстКопейки=" копійка";
    ИначеЕсли ((ПоследняяЦифра>=2)и(ПоследняяЦифра<=4))  Тогда
        ТекстКопейки=" копійки";
    КонецЕсли; // Прав(Строка(Копейки),1)=0
    Возврат ГривныСтр + " " + Формат(Копейки,"Ч(0)2") + ТекстКопейки;
КонецФункции


Не проверял, НО похоже, что функция вернет 11 копейка.
попробуйте такой вариант:

// ===============================
// Возвращает сумму прописью
// для платежных документов.
Функция глСуммаПрописьюДляПлатежныхДокументов(Сумма) Экспорт
    Гривны    = Цел(Сумма);
    Копейки   = (Сумма - Гривны) * 100;
    Возврат Формат(Гривны, "ЧПД");
КонецФункции


Если не поможет, то нужно корректировать файлы *.spl в каталоге информационной базы...



Цитата(alex040269 @ 15.06.11, 22:46) *
Не проверял, НО похоже, что функция вернет 11 копейка.
попробуйте такой вариант:

// ===============================
// Возвращает сумму прописью
// для платежных документов.
Функция глСуммаПрописьюДляПлатежныхДокументов(Сумма) Экспорт
    //Гривны    = Цел(Сумма);
    //Копейки   = (Сумма - Гривны) * 100;
    Возврат Формат(Сумма, "ЧПД");
КонецФункции


Если не поможет, то нужно корректировать файлы *.spl в каталоге информационной базы...


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

5_kopeek Подменю пользователя
сообщение 15.06.11, 23:38
Сообщение #11

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Цитата(alex040269 @ 15.06.11, 21:48) *
Не проверял, НО похоже, что функция вернет 11 копейка.

Вы правы, надо подкорректировать процедуру smile.gif Вместо этого:
    Если (ПоследняяЦифра=0)или((ПоследняяЦифра>=5)и(ПоследняяЦифра<=9)) Тогда

написать это:
    Если (ПоследняяЦифра=0)или((ПоследняяЦифра>=5)и(ПоследняяЦифра<=9))или((Копейки>=11)и(Копейки<=14)) Тогда

Или, как Вы почти верно подсказали, так:
Функция глСуммаПрописьюДляПлатежныхДокументов(Сумма) Экспорт
    Возврат Формат(Сумма, "ЧПДС");
КонецФункции

Изобретение велосипеда иногда тоже во благо wink.gif

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 03.06.24, 6:10
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!