Имя: Пароль:
1C
1C 7.7
v7: Вопрос знатокам (прописи)
0 bestship
 
10.03.13
09:49
Всем привет!
Вопрос "старинный", со времен создания 1С, но всё также актуальный.

Вводные: 1с 7.7 Комплексная 524, файлы прописей AFA, USD, EUR
Вопрос в следующем, создал новую базу, заполнил и т.д. и т.п., вот теперь начал вводить документы с валютой, а они ну никак не хотят показывать в печатной форме валюту документа. Файл 1CV7.spl - это понятно, для Основной валюты по умолчанию (у меня AFA - переписал), для USD/EUR тоже файлы прописей имеются и прописаны в Справочнике валют. Однако, в печатных формах всё равно: 1) Осн.валюта пишется нормально, а НДС в рублях; 2) Если документ в валюте (USD/EUR), то в форме сумма в Осн.валюте(AFA) и + п.1). А надо чтобы было в валюте документа (100 USD).
Как всё это исправить???
1 v4442
 
10.03.13
10:07
в справочнике валюты провисать файл прописи
2 bestship
 
10.03.13
10:08
(1) файлы прописей имеются и прописаны в Справочнике валют
3 v4442
 
10.03.13
10:15
(2) Пять раз перечитал, но так и не понял что где и когда не выводится, возможно  еще не проснулся :)
Может в коде печатной форме не так закодировано.
4 bestship
 
10.03.13
10:28
(3) Может я сумбурно написал )))
Есть файлы прописей валют, в справочнике прописаны. Но...1) Осн.валюта пишется нормально, а НДС в рублях; 2) Если документ в валюте (USD/EUR), то в форме сумма в Осн.валюте(AFA) и + п.1). А надо чтобы было в валюте документа (100 USD).
Как всё это исправить???
5 v4442
 
10.03.13
10:33
в глобальном модуле есть функция
Функция глСуммаПрописью(Сумма, Валюта) Экспорт
   
   Если Валюта <> глРубли Тогда
       
       Если ФС.СуществуетФайл(КаталогИБ() + Валюта.ИмяФайлаПрописи) = 1 Тогда
           Пропись(Валюта.ИмяФайлаПрописи);
       Иначе
           Сообщить("Для валюты " + Валюта + " отсутствует файл прописей." +
                    РазделительСтрок +
                    "Сумма прописью сформирована в национальной валюте.");
       КонецЕсли;
       
   КонецЕсли;

   СтрокаСуммы    = Формат(Сумма, "ЧПДС");
   
   // установим пропись по умолчанию
   Пропись("");
   Возврат СтрокаСуммы;
КонецФункции // глСуммаПрописью()

в коде печатной ее используют?
6 bestship
 
10.03.13
10:39
(5) такая функция есть - уже искал.
Но в документе не используется.
7 v4442
 
10.03.13
10:45
код вывода прописи покажи
8 bestship
 
10.03.13
10:50
(7) Функция один-в-один, как Вы написали.
(скопировать сюда не могу, кодировка другая(( ).
А в доках ссылок на валюту нет отдельных, все на Функция глСуммаПрописью ссылаются.

Делаю привязку, как должно быть Справочник -> Файл прописей, а в ответ ,!,,,
9 v4442
 
10.03.13
10:57
я исправил вот так
//
Функция глСуммаПрописью(Сумма, Валюта) Экспорт
   
   Если Валюта <> глРубли Тогда
       
       Если ФС.СуществуетФайл(КаталогИБ() + Валюта.ИмяФайлаПрописи) = 1 Тогда
           Пропись(Валюта.ИмяФайлаПрописи);
       Иначе
           Сообщить("Для валюты " + Валюта + " отсутствует файл прописей." +
                    РазделительСтрок +
                    "Сумма прописью сформирована в национальной валюте.");
       КонецЕсли;
       
   КонецЕсли;

   СтрокаСуммы    = Формат(Сумма, "ЧПДС");
   
   Возврат СтрокаСуммы;
   
КонецФункции // глСуммаПрописью()

и использую ее вот так

НаСумму    = "на сумму " + глСуммаПрописью(ИтогоСуммаСНДС + ИтогоНП, Докум.Валюта);
10 v4442
 
10.03.13
10:58
удалить строку


   // установим пропись по умолчанию

   Пропись("");
11 bestship
 
10.03.13
11:02
(10) сейчас попробую ))
12 bestship
 
10.03.13
11:03
Но, в принципе, это же не совсем правильно дописывать-переписывать ))). Такие же вещи должны быть в штатном режиме )))
13 v4442
 
10.03.13
11:05
(12) прописывай  в печатной форме
14 bestship
 
10.03.13
11:07
(13) Тогда это в каждом доке надо!?!?
А не проще в Глобальном модуле?
15 v4442
 
10.03.13
11:11
(14) выбирай что тебе удобней

можно в каждой печатной

   //НаСумму    = "на сумму " + глСуммаПрописью(ИтогоСуммаСНДС + ИтогоНП, Докум.Валюта);
   
           
   Если ФС.СуществуетФайл(КаталогИБ() + Докум.Валюта.ИмяФайлаПрописи) = 1 Тогда
           Пропись(Докум.Валюта.ИмяФайлаПрописи);
       Иначе
           Сообщить("Для валюты " + Докум.Валюта + " отсутствует файл прописей." +
                    РазделительСтрок +
                    "Сумма прописью сформирована в национальной валюте.");
   КонецЕсли;
       
   
   НаСумму    = Формат(ИтогоСуммаСНДС + ИтогоН, "ЧПДС");
16 bestship
 
10.03.13
11:22
(9) Так вообще, только рубли выдают по всем валютам (((
17 v4442
 
10.03.13
11:23
ошибся =в глобальном модуле не нажо менять.
только в печатной форме

глРубли на Докум.Валюта


НаСумму    = "на сумму " + глСуммаПрописью(ИтогоСуммаСНДС + ИтогоНП, глРубли);

на

НаСумму    = "на сумму " + глСуммаПрописью(ИтогоСуммаСНДС + ИтогоНП, Докум.Валюта);
18 bestship
 
10.03.13
11:29
(17) не получается (. выбивает ошибки - много.
Спасибо за помощь. Буду "работать" пока с основным файлом (((
19 v4442
 
10.03.13
11:31
странно , только что проверил и работает

МД наверно у тебя другой
20 v4442
 
10.03.13
11:33
не надо один в один копировать
нужно подставлять свою сумму которую пытаешься вывести

СУММАВПЕЧАТНОЙФОРМЕ= "на сумму " + глСуммаПрописью(ТВОЯСУММА, Докум.Валюта)
21 bestship
 
10.03.13
11:42
(20) Конфа типовая - Комплекс 524
22 v4442
 
10.03.13
11:45
(21) печатная форма внешняя?
к какому документу?
Если внешний можешь выложить файл.
23 bestship
 
10.03.13
11:52
(22) Все формы встроенные, ПКО/РКО
Еще ничего не менял - база пустая, только планировал начать перекидывать доки.
24 v4442
 
10.03.13
11:58
(23) Для того чтоб не менять конфу печатные формы сделать внешними.
ТАМ

Принято от [ПринятоОт]

Основание: [Основание]
Сумма: [глСуммаПрописью(СуммаРуб, глРубли)]
[СтрСумма]
Приложение: [Приложение]

глРубли нужно поменять на валюту документа Док.Валюта
25 bestship
 
10.03.13
12:03
(24) Вечерком попробую - будет чем заняться (((
26 v4442
 
10.03.13
12:06
Tсли в базе будут использовать только валюту AFA
в константе ВалютаБухУчета выбери AFA
27 mikecool
 
10.03.13
12:06
(23) а пко/рко в валюте у нас могут быть?
28 bestship
 
10.03.13
12:14
(26) Так так и стоит)))
29 bestship
 
10.03.13
12:14
(27) У нас да ))), то что конфа РФ - не значит, что она В РФ )))
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.