Имя: Пароль:
1C
 
Масса брутто прописью в ТОРГ-12. Возможно ли это?
Ø
0 BNA
 
22.06.06
09:32
Доброго времени суток. Люди, может кто-нибудь и печатает массу брутто прописью. Подскажите, пожалуйста, как это можно реализовать в бухгалтерии. У на 477 релиз. Буду очень благодарна за ответы.
1 pit
 
22.06.06
09:34
Добавить массу брутто/нетто в справочник номенклатуры
При печати брать массу, умножать на количество и результат заносить в соответствующее поле...
2 roma n
 
22.06.06
09:35
ЧПДС + СтрЗаменить
3 roma n
 
22.06.06
09:37
2 пост - в дополнение к (1)
4 sanches2
 
22.06.06
09:37
Функция ПреОбразоватьЧислоВПропись(ВхЧисло)
  
  Если ВхЧисло = 0 Тогда
    Возврат 0;
  КонецЕсли;
  
  Килограммы = Цел(ВхЧисло);
  Граммы = (ВхЧисло - Килограммы)*1000;
  СтрКилограммы = Формат(Килограммы,"ЧП");
  СтрГраммы = Формат(Граммы,"ЧП");
  //с большой буквы
  СтрКилограммы = ВРег(Лев(стрКилограммы ,1))+Прав(стрКилограммы ,стрДлина(стрКилограммы )-1);
  СтрГраммы = ВРег(Лев(стрГраммы ,1))+Прав(стрГраммы ,стрДлина(стрГраммы )-1);
  ПреобрЧисло = ""+?(Килограммы>0,""+стрКилограммы+" кг.","")+?(ПустоеЗначение(стрГраммы)=1,""," гр.");
Возврат ПреобрЧисло;
6 Ученый
 
22.06.06
09:50
4.Дилетанство. Один- килограмм, два- килограмма, пять-килограммов. У тебя не учтено. Кроме того, вместо граммов может потребоваться вывод в виде "целых" и "тысячных".
Более точный подход таков.
Функция ЧислоПрописью(ЗначЧисло,ДП=1)
  
  Перем Возвр;
  Перем ЦелЧасть, ДробЧасть;
  Перем Дробная;
  Перем Окончание;
  Перем ПоследнееСлово;
  ЦелЧасть = Цел(ЗначЧисло);
  ДробЧасть = Окр(ЗначЧисло - ЦелЧасть,4);
  Возвр = "";
  Возвр = Возвр + ?(ПустоеЗначение(ЦелЧасть) = 1, "Ноль", СокрЛП(Формат(ЦелЧасть, "ЧП")));
  Если ДробЧасть <> 0 Тогда // есть дробная часть
    Если ДробЧасть=Окр(ДробЧасть,0) Тогда
      ДробЧасть = 0;
      Дробная = "";
    ИначеЕсли ДробЧасть = Окр(ДробЧасть, 1) Тогда
      ДробЧасть = Окр(ДробЧасть, 1) * 10;
      Дробная = "десят";
    ИначеЕсли ДробЧасть = Окр(ДробЧасть, 2) Тогда
      ДробЧасть = Окр(ДробЧасть, 2) * 100;
      Дробная = "сот";
    ИначеЕсли ДробЧасть = Окр(ДробЧасть, 3) Тогда
      ДробЧасть = ДробЧасть * 1000;
      Дробная = "тысячн";
    Иначе
      ДробЧасть = ДробЧасть * 10000;
      Дробная = "десятитысячн";
    КонецЕсли;
    // теперь займемся окончанием последнего слова целой части
    ПоследнееСлово = "";
    Окончание = "";
    Пока (Возвр <> "") И (Возвр = СокрП(Возвр)) Цикл // последний символ в строке не пробел
      ПоследнееСлово = Прав(Возвр, 1) + ПоследнееСлово; // добавляем последнюю букву
      Возвр = Лев(Возвр, СтрДлина(Возвр) - 1); // отрезаем последнюю букву
    КонецЦикла;
    Если Врег(ПоследнееСлово) = "ОДИН" Тогда
      // первую букву слова оставляем
      ПоследнееСлово = Лев(ПоследнееСлово, 1) + "дна";
      Окончание = "ая";
    Иначе
      Если (Врег(ПоследнееСлово) = "ДВА") Тогда
        ПоследнееСлово = Лев(ПоследнееСлово, 1) + "ве";
      КонецЕсли;
      Окончание = "ых";
    КонецЕсли;
    
    Если ДП<>0 Тогда
      Возвр = Возвр + ПоследнееСлово + " цел" + Окончание + " " + НРег(СокрЛП(Формат(ДробЧасть, "ЧП")));
      // теперь займемся окончанием последнего слова дробной части
      ПоследнееСлово = "";
      Окончание = "";
      Пока Возвр = СокрП(Возвр) Цикл // последний символ в строке не пробел
        ПоследнееСлово = Прав(Возвр, 1) + ПоследнееСлово; // добавляем последнюю букву
        Возвр = Лев(Возвр, СтрДлина(Возвр) - 1); // отрезаем последнюю букву
      КонецЦикла;
      Если Врег(ПоследнееСлово) = "ОДИН" Тогда
        // первую букву слова оставляем
        ПоследнееСлово = Лев(ПоследнееСлово, 1) + "дна";
        Окончание = "ая";
      Иначе
        Если (Врег(ПоследнееСлово) = "ДВА") Тогда
          ПоследнееСлово = Лев(ПоследнееСлово, 1) + "ве";
        КонецЕсли;
        Окончание = "ых";
      КонецЕсли;
      Возвр = Возвр + ПоследнееСлово + " " + Дробная + Окончание;
    Иначе
      Возвр = Возвр + ПоследнееСлово + " цел" + Окончание + " " + СокрЛП(Формат(ДробЧасть,"Ч 18.0"));
      // теперь займемся окончанием последнего числа
      ПоследнееСлово = Прав(Возвр,1);
      Окончание = "";
      Если ПоследнееСлово = "1" Тогда
        Окончание = "ая";
      Иначе
        Окончание = "ых";
      КонецЕсли;
      Возвр = Возвр + " " + Дробная + Окончание;
    КонецЕсли;
  КонецЕсли;
  Возврат Возвр;
КонецФункции // ЧислоПрописью()
А еще лучше- парочка универсальных функций от Алексея Бажитова
"Число прописью с указанием единиц измерения" версия 2.0.
AdBlock убивает бесплатный контент. 1Сергей