Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не выводиться сумма прописью в долларах , еврах и т.д
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
bunislav
как сделать чтобы в зависимости от выбора валюты чтобы писало в российских рублях, белорусских рублях, долларах и еврах?
Сейчас пишет просто рубли.А желательно чтобы писало по умолчанию белорусские рубли
Документ счёт.Пропись по умолчанию.
// установим пропись по умолчанию
Пропись("");
Возврат СтрокаСуммы;
Pepe
Учим матчасть. Открываем Синтаксис-Помощник:
Цитата
Синтаксис:
Пропись(<Параметр>)
Назначение:
Задать образец вывода чисел прописью.
Параметры:
<Параметр> - строка, содержащая имя файла с прописью (если в параметре передано '''' (пустая строка), то устанавливается пропись по умолчанию) или объект типа ''СписокЗначений'', в котором лежат строки, структура которых совпадает со структурой файла прописей - там тоже двухуровневая структура, порядок строк тоже такой же.
Подробнее см. в документации, глава ''Системные процедуры и функции''

Какой файл прописи установите - в том формате и получите.
Sharzem
Цитата(bunislav @ 31.07.16, 10:35) необходимо зарегистрироваться для просмотра ссылки
в зависимости от выбора валюты

В зависимости от валюты писать по другому Вам не нужно.
От того что выберете доллары - выводить пропись нужно на английском ? Не трогайте конфигурацию.

Если у Вас ТИС, в справочнике "Валюты" есть реквизиты
1. Для украинского языка "ФайлПрописиУкр" или "ИмяФайлаПрописиУкр";
2. Для русского языка "ФайлПрописиРус" или "ИмяФайлаПрописиРус".

Проверьте наличие в базе этих файлов (расширение *.spl) или пропишите, если первый запуск.

Можете еще здесь посмотреть: необходимо зарегистрироваться для просмотра ссылки

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

В догонку:
В каталоге C:\Program Files\1Cv77\BIN должны еще быть файлы 1CV7.spl, DM.spl, UE.spl, USD.spl, думаю что понятно для чего. Проверьте их наличие. Все так же само и с бел. рублями, только доделать нужно.
bunislav
Дейсвительно, Справочники-Валюты. Для каждой из валют назначен свой файл spl(Usd.spl и т.д.). Но в папке с базой нет файлов с расширением spl., а в папке bin есть только 1CV7.spl, USD.spl. Я нашел в нете содержимое файлов.Скопировал их в блокнот, поменял расширение на spl и скопировал в папку с базой и в папку Bin.
Вообщем не получилось.Что касается основной валюты то это бел.рубль. Конфигурация -груперевозки(Мисофт).Но во всех доках он просто рубль.Учитывая что есть и счета с рос. рублём , хотелось чтобы они были прописью белорусский рубль и рос.рубль (соответсвенно).
Sharzem
Цитата(bunislav @ 31.07.16, 19:44) необходимо зарегистрироваться для просмотра ссылки
Я нашел в нете содержимое файлов.Скопировал их в блокнот, поменял расширение на spl и скопировал в папку с базой и в папку Bin.

faceoff.gif Смысл дальше что-то Вам объяснять теряется, ибо для Вас не все так просто... Обратитесь либо к специалисту, либо Вам сюда: необходимо зарегистрироваться для просмотра ссылки
Cthulhu
Даладно... Для прописи можно все задать программно а не из файлов дергать (хинт: так можно пропись даже для веса от тонн до милиграммов реализоовать):
// Возможные значения параметра Валюта_ для формирования суммы прописью^ - "EUR","USD","BYR","RUR","UAH"
//    (список можно расширить самостоятельно доработав код вполне понятным образом)
//    прим.: если значение параметра Валюта_ не найдено среди указанных (см.выше) вариантов - будет пропись в попугаях!
Функция СуммаВалПрописьюУкр(Сумма_,Валюта_="UAH")
    Перем тДляПрописиСЗ,тТекСЗ,тПлюсМинус;
    тДляПрописиСЗ=СоздатьОбъект("СписокЗначений"); тТекСЗ=СоздатьОбъект("СписокЗначений");
    тПлюсМинус=""; Если Сумма_<0 Тогда Сумма_=-Сумма_; тПлюсМинус="МИНУС "; КонецЕсли;
    Если Валюта_="EUR" Тогда
        тТекСЗ.ДобавитьЗначение("евро");
        тТекСЗ.ДобавитьЗначение("евро");
        тТекСЗ.ДобавитьЗначение("евро");
        тТекСЗ.ДобавитьЗначение("цент");
        тТекСЗ.ДобавитьЗначение("цента");
        тТекСЗ.ДобавитьЗначение("центiв");
        тТекСЗ.ДобавитьЗначение("M");
    ИначеЕсли Валюта_="USD" Тогда
        тТекСЗ.ДобавитьЗначение("долляр");
        тТекСЗ.ДобавитьЗначение("долляра");
        тТекСЗ.ДобавитьЗначение("доллярiв");
        тТекСЗ.ДобавитьЗначение("цент");
        тТекСЗ.ДобавитьЗначение("цента");
        тТекСЗ.ДобавитьЗначение("центiв");
        тТекСЗ.ДобавитьЗначение("M");
    ИначеЕсли Валюта_="RUR" Тогда
        тТекСЗ.ДобавитьЗначение("рубль");
        тТекСЗ.ДобавитьЗначение("рубля");
        тТекСЗ.ДобавитьЗначение("рублiв");
        тТекСЗ.ДобавитьЗначение("копiйка");
        тТекСЗ.ДобавитьЗначение("копiйки");
        тТекСЗ.ДобавитьЗначение("копiйок");
        тТекСЗ.ДобавитьЗначение("M");
    ИначеЕсли Валюта_="BYR" Тогда
        тТекСЗ.ДобавитьЗначение("рубель");
        тТекСЗ.ДобавитьЗначение("рубеля");
        тТекСЗ.ДобавитьЗначение("рубелiв");
        тТекСЗ.ДобавитьЗначение("копiйка");
        тТекСЗ.ДобавитьЗначение("копiйки");
        тТекСЗ.ДобавитьЗначение("копiйок");
        тТекСЗ.ДобавитьЗначение("M");
    ИначеЕсли Валюта_="UAH" Тогда
        тТекСЗ.ДобавитьЗначение("гривня");
        тТекСЗ.ДобавитьЗначение("гривни");
        тТекСЗ.ДобавитьЗначение("гривен");
        тТекСЗ.ДобавитьЗначение("копiйка");
        тТекСЗ.ДобавитьЗначение("копiйки");
        тТекСЗ.ДобавитьЗначение("копiйок");
        тТекСЗ.ДобавитьЗначение("F");
    Иначе//Если Валюта_="хзчотатм" Тогда
        тТекСЗ.ДобавитьЗначение("папуга");
        тТекСЗ.ДобавитьЗначение("папуги");
        тТекСЗ.ДобавитьЗначение("папуг");
        тТекСЗ.ДобавитьЗначение("папужача пiр'їнка");
        тТекСЗ.ДобавитьЗначение("папужачої пiр'їнки");
        тТекСЗ.ДобавитьЗначение("папужачих пiр'їнок");
        тТекСЗ.ДобавитьЗначение("M");
    КонецЕсли;
    тДляПрописиСЗ.Установить("Money",ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(тТекСЗ)));
    тТекСЗ.УдалитьВсе();
    тТекСЗ.ДобавитьЗначение("Один");
    тТекСЗ.ДобавитьЗначение("Два");
    тТекСЗ.ДобавитьЗначение("Три");
    тТекСЗ.ДобавитьЗначение("Чотири");
    тТекСЗ.ДобавитьЗначение("П'ять");
    тТекСЗ.ДобавитьЗначение("Шість");
    тТекСЗ.ДобавитьЗначение("Сім");
    тТекСЗ.ДобавитьЗначение("Вісім");
    тТекСЗ.ДобавитьЗначение("Дев'ять");
    тТекСЗ.ДобавитьЗначение("Одна");
    тТекСЗ.ДобавитьЗначение("Дві");
    тТекСЗ.ДобавитьЗначение("Десять");
    тТекСЗ.ДобавитьЗначение("Одинадцять");
    тТекСЗ.ДобавитьЗначение("Дванадцять");
    тТекСЗ.ДобавитьЗначение("Тринадцять");
    тТекСЗ.ДобавитьЗначение("Чотирнадцять");
    тТекСЗ.ДобавитьЗначение("П'ятнадцять");
    тТекСЗ.ДобавитьЗначение("Шістнадцять");
    тТекСЗ.ДобавитьЗначение("Сімнадцять");
    тТекСЗ.ДобавитьЗначение("Вісімнадцять");
    тТекСЗ.ДобавитьЗначение("Дев'ятнадцять");
    тТекСЗ.ДобавитьЗначение("Двадцять");
    тТекСЗ.ДобавитьЗначение("Тридцять");
    тТекСЗ.ДобавитьЗначение("Сорок");
    тТекСЗ.ДобавитьЗначение("П'ятдесят");
    тТекСЗ.ДобавитьЗначение("Шістдесят");
    тТекСЗ.ДобавитьЗначение("Сімдесят");
    тТекСЗ.ДобавитьЗначение("Вісімдесят");
    тТекСЗ.ДобавитьЗначение("Дев'яносто");
    тТекСЗ.ДобавитьЗначение("Сто");
    тТекСЗ.ДобавитьЗначение("Двісті");
    тТекСЗ.ДобавитьЗначение("Триста");
    тТекСЗ.ДобавитьЗначение("Чотириста");
    тТекСЗ.ДобавитьЗначение("П'ятсот");
    тТекСЗ.ДобавитьЗначение("Шістсот");
    тТекСЗ.ДобавитьЗначение("Сімсот");
    тТекСЗ.ДобавитьЗначение("Вісімсот");
    тТекСЗ.ДобавитьЗначение("Дев'ятсот");
    тТекСЗ.ДобавитьЗначение("Тисяча");
    тТекСЗ.ДобавитьЗначение("Тисячі");
    тТекСЗ.ДобавитьЗначение("Тисяч");
    тТекСЗ.ДобавитьЗначение("Мільйон");
    тТекСЗ.ДобавитьЗначение("Мільйона");
    тТекСЗ.ДобавитьЗначение("Мільйонів");
    тТекСЗ.ДобавитьЗначение("Мільярд");
    тТекСЗ.ДобавитьЗначение("Мільярда");
    тТекСЗ.ДобавитьЗначение("Мільярдів");
    тТекСЗ.ДобавитьЗначение("Трильйон");
    тТекСЗ.ДобавитьЗначение("Трильйона");
    тТекСЗ.ДобавитьЗначение("Трильйонів");
    тТекСЗ.ДобавитьЗначение("Нуль");
    тДляПрописиСЗ.Установить("Numbers",ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(тТекСЗ)));
    тТекСЗ.УдалитьВсе();
    // Загонять в СЗ прописи секции "Date","DateRange" и "WeekDay" ...
    // ... можно, конечно... но для получения суммы прописью - не обязательно.
    Пропись(тДляПрописиСЗ); Возврат(тПлюсМинус+Формат(Сумма_,"ЧПДС"));
КонецФункции //СуммаВалПрописьюУкр

пользуйтесь...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.