Имя: Пароль:
1C
1С v8
Зачеркнутое поле в квитанции
,
0 Fire-Rex
 
30.10.14
14:24
День добрый, делаю печатную форму объявление на взнос наличными.
Есть поле сумма прописью, подскажите, как сделать, чтобы оставшаяся часть строки после значения была перечеркнутой
1 Рэйв
 
30.10.14
14:25
Сумма+"------------------"
2 Fire-Rex
 
30.10.14
14:26
СуммаПрописью = РазбитьСумму(СуммаПрописьюОбщая,1 +"---------"), так?
3 Рэйв
 
30.10.14
14:27
(2)Скорее всего
СуммаПрописью = РазбитьСумму(СуммаПрописьюОбщая,1)+ +"---------";

Только длину если вычислять, то там сложнее
4 Рэйв
 
30.10.14
14:27
один + лишний
5 Fire-Rex
 
30.10.14
14:28
(4) Спасибо!
6 dmpl
 
30.10.14
14:28
(3) С моноширинным шрифтом ничего сложного.
7 Fire-Rex
 
30.10.14
14:29
Но так заполнится не вся строка
8 Fire-Rex
 
30.10.14
14:33
а как заполнить её всю, кроме значения?
9 Зеленый пень
 
30.10.14
14:40
Длинную строку "-- -- -- -- -- " (минусы с пробелами), а в ячейке "Обрезать".
10 Fire-Rex
 
30.10.14
14:42
(9) А зачем пробелы?
11 Fire-Rex
 
30.10.14
15:07
Теперь вот так пишет
Не удалось сформировать внешнюю печатную форму!
Преобразование значения к типу Число не может быть выполнено
12 Fire-Rex
 
30.10.14
15:13
Куда копать, подскажите?
13 Looser-1c
 
30.10.14
15:15
(12) я угадаю код с 10 попыток!
14 Fire-Rex
 
30.10.14
15:16
Функция Печать() Экспорт
            
    
    ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");
    ОбластьОбъявления = Макет.ПолучитьОбласть("ОбластьОбъявления");
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    РасходныйКассовыйОрдер.Дата КАК ДатаДокумента,
                   |    РасходныйКассовыйОрдер.Организация КАК Получатель,
                   |    РасходныйКассовыйОрдер.Организация.ИНН КАК ИНН,
                   |    РасходныйКассовыйОрдер.Организация.КПП КАК КПП,
                   |    РасходныйКассовыйОрдер.Организация.КодПоОКАТО КАК ОКАТО,
                   |    РасходныйКассовыйОрдер.СчетОрганизации КАК СчетКредит,
                   |    РасходныйКассовыйОрдер.СуммаДокумента КАК Сумма,
                   |    РасходныйКассовыйОрдер.СчетОрганизации.Банк КАК БанкПолучатель,
                   |    РасходныйКассовыйОрдер.СчетОрганизации.Банк.Код КАК БИКБанкаВносителя,
                   |    РасходныйКассовыйОрдер.СчетОрганизации.Банк.Код КАК БИКБанкаПолучателя,
                   |    РасходныйКассовыйОрдер.СчетОрганизации.Банк КАК БанкВноситель,
                   |    РасходныйКассовыйОрдер.ВалютаДокумента КАК Валюта,
                   |    РасходныйКассовыйОрдер.Ответственный КАК Ответственный
                   /////////|    РасходныйКассовыйОрдер.Организации.ОтветственныеЛица.Кассир КАК ФИОКассира
                   |ИЗ
                   |    Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
                   |ГДЕ
                   |    РасходныйКассовыйОрдер.Ссылка = &СсылкаНаОбъект";
    
    Запрос.УстановитьПараметр("СсылкаНаОбъект", СсылкаНаОбъект);
    
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    
    Пока Выборка.Следующий() Цикл
    
         ОбластьОбъявления.Параметры.Заполнить(Выборка);
         ОбластьОбъявления.Параметры.Копеек = 100*(Выборка.Сумма - ЦЕЛ(Выборка.Сумма));
         СуммаПрописьюОбщая = ОбщегоНазначения.СформироватьСуммуПрописью(Выборка.Сумма,Выборка.Валюта);
         //тут какбы поделить бы дилнную сумму прописью на 2 части....
         СуммаПрописью = РазбитьСумму(СуммаПрописьюОбщая,1);
         СуммаПрописью2= РазбитьСумму(СуммаПрописьюОбщая,2);
         ОбластьОбъявления.Параметры.СуммаПрописью = СуммаПрописью;
         ОбластьОбъявления.Параметры.СуммаПрописью2 = СуммаПрописью2;
         //ОбластьОбъявления.Параметры.ИсточникПоступления = "Торговая выручка";
        
     КонецЦикла;
     Если НЕ ЗначениеЗаполнено(Выборка.БанкПолучатель) Тогда
        ФормаВыбора = Справочники.БанковскиеСчета.ПолучитьФормуВыбора();//,СсылкаНаОбъект.Организация);
        ФормаВыбора.Отбор.Владелец.Установить(СсылкаНаОбъект.Организация);
        СсылкаНаСчет = ФормаВыбора.ОткрытьМодально();
        ОбластьОбъявления.Параметры.БанкВноситель = СсылкаНаСчет.Банк;
        ОбластьОбъявления.Параметры.БанкПолучатель = СсылкаНаСчет.Банк;
        ОбластьОбъявления.Параметры.СчетКредит = СсылкаНаСчет.НомерСчета;
        ОбластьОбъявления.Параметры.БИКБанкаВносителя = СсылкаНаСчет.Банк.Код;
        ОбластьОбъявления.Параметры.БИКБанкаПолучателя = СсылкаНаСчет.Банк.Код;
        ///ОбластьОбъявления.Параметры.ФИОКассира = СсылкаНаОбъект.Организации.ОтветственныеЛица.КассирПредставление
    КонецЕсли;    
        

     Если ЗначениеЗаполнено(ДополнительныеПараметры) Тогда
         Для каждого ТекущийПараметр из ДополнительныеПараметры Цикл
            Если ТекущийПараметр.Ключ = "Номер" Тогда
                ОбластьОбъявления.Параметры.Номер = ТекущийПараметр.Значение;
            ИначеЕсли ТекущийПараметр.Ключ = "СчетДебет" Тогда
                ОбластьОбъявления.Параметры.СчетДебет = ТекущийПараметр.Значение;
            ИначеЕсли ТекущийПараметр.Ключ = "СчетКредит" Тогда                     //адам
                ОбластьОбъявления.Параметры.СчетКредит = ТекущийПараметр.Значение;  //адам

            ИначеЕсли ТекущийПараметр.Ключ = "ФИОКассира" Тогда
                ОбластьОбъявления.Параметры.ФИОКассира = ТекущийПараметр.Значение;
            ИначеЕсли ТекущийПараметр.Ключ = "ИсточникПоступления" тогда
                ОбластьОбъявления.Параметры.ИсточникПоступления = ТекущийПараметр.Значение;
            ИначеЕсли ТекущийПараметр.Ключ = "БанкВноситель" тогда
                ОбластьОбъявления.Параметры.БанкВноситель = ТекущийПараметр.Значение;
            ИначеЕсли ТекущийПараметр.Ключ = "БанкПолучатель" тогда
                ОбластьОбъявления.Параметры.БанкПолучатель = ТекущийПараметр.Значение;
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;
    ТабДок.Вывести(ОбластьОбъявления);
    
    
    Возврат ТабДок;
КонецФункции
15 Looser-1c
 
30.10.14
15:17
А теперь я начну угадывать строку, в котороый возникла ошибка...
16 Fire-Rex
 
30.10.14
15:27
не дает он строку. только ошибку написал
17 ВРедная
 
30.10.14
15:31
Вот эту строку убери и проверь:

ОбластьОбъявления.Параметры.Копеек = 100*(Выборка.Сумма - ЦЕЛ(Выборка.Сумма));
18 salvator
 
30.10.14
15:32
Чё за "РазбитьСумму"?
Ошибка? Это не ошибка, это системная функция.