Имя: Пароль:
1C
1C 7.7
v7: Добавить пробелы в начале. Классика. Но лыжи не едут.
, ,
0 bizon2008
 
02.11.11
15:21
Задача. Налоговая накладная, сдвинуть налоговый номер влево. Налоговый номер выводится в квадратиках. Там такая формула.

Сред(КонтрагентНалогНомер,12,1)

Делаю. Классика. Не работает.

КонтрагентНалогНомер = ?(ПустоеЗначение(Контрагент.ИНН)=1,                "000000000000", Прав("            "+Строка(Контрагент.ИНН),12));

То что я дундук, я понял. Не понял где. Спасайте.
1 Ёпрст
 
02.11.11
15:24
(0) а че надо то ?
Зачем тебе последний сивмол от ИНН ??
2 Ёпрст
 
02.11.11
15:25
Контрагент.ИНН - это и так всегда строка, преобразование типов там не упёрлось ни разу
3 medved_kot
 
02.11.11
15:29
Прав("            "+Строка(Контрагент.ИНН),12) - это разве не - Строка(Контрагент.ИНН)?
4 Amiralnar
 
02.11.11
15:30
(3) Нет, если ИНН меньше 12 символов.
5 Eugene_life
 
02.11.11
15:31
(0) Своим Прав("            "+Строка(Контрагент.ИНН),12) ты отрезал все добавленные пробелы.
6 KishMish
 
02.11.11
15:31
(3) возможно имелось ввиду СокрЛП
7 zak555
 
02.11.11
15:32
Функция глДополнитьСтрокуЛ(Стр,Чем,Длина) Экспорт
   Добавить=Длина-СтрДлина(Стр);
   Добавок="";
   Для Сч = 1 По Добавить  Цикл
       Добавок=Добавок+Чем;
   КонецЦикла;
   Возврат Добавок+Стр;
КонецФункции

Функция глДополнитьСтрокуП(Стр,Чем,Длина) Экспорт
   Добавить=Длина-СтрДлина(Стр);
   Добавок="";
   Для Сч = 1 По Добавить  Цикл
       Добавок=Добавок+Чем;
   КонецЦикла;
   Возврат Стр+Добавок;
КонецФункции
8 FN
 
02.11.11
15:32
>Задача. Налоговая накладная, сдвинуть налоговый номер влево.
Решение Лев(СокрЛП(Контрагент.ИНН)+"                      ",12)
9 viktor_vv
 
02.11.11
15:32
Да это из типовой. Все там првально вроде, а что не едет ?
10 viktor_vv
 
02.11.11
15:33
А,блин насчет влево не увидел.
11 zak555
 
02.11.11
15:34
тогда так :

КонтрагентНалогНомер = ?(ПустоеЗначение(Контрагент.ИНН)=1, "000000000000", Прав("00            "+Строка(Контрагент.ИНН),12));
12 bizon2008
 
02.11.11
15:34
Надо. Если налоговый номер меньше 12 знаков, добавит спереди пробелы. Т.е. вырнивать номер по правой стороне.
13 bizon2008
 
02.11.11
15:35
(12)А у меня как я не извращаться все равно с левой стороны начинается.
14 Шапокляк
 
02.11.11
15:36
Прав("            "+СОКРЛП(Строка(Контрагент.ИНН)),12)
не?
15 Ёпрст
 
02.11.11
15:36
сплошное противоречие:

>>>> Добавить пробелы в начале - это сдвиг в ПРАВО
>>>> сдвинуть налоговый номер влево - это добавить пробелы СПРАВА

Чё нужно автору - хз, наверно средство от затупина.
16 SnarkHunter
 
02.11.11
15:37
Формат(Контрагент.ИНН, "Ч 12.0")
17 viktor_vv
 
02.11.11
15:38
(13) А ты поищи дальше, нигде нету типа СокрЛП(КонтрагентНалогНомер), или в печатной форме глянь.
18 bizon2008
 
02.11.11
15:42
(15)Надо сдвинуть вправо, пробелы нужны в начале.
(17)Не дурак, нету такого.
19 1Сергей
 
02.11.11
15:44
(14)+1
(16)+1
20 Ёпрст
 
02.11.11
15:46
(18) а че за бре со Сред написан ?
И как видишь, что "не работает"
21 bizon2008
 
02.11.11
15:47
http://s46.radikal.ru/i111/1111/e7/4ef20856c406.jpg
красным обведено как надо
22 1Сергей
 
02.11.11
15:48
(21) Формат(Контрагент.ИНН, "С12")
23 bizon2008
 
02.11.11
15:48
(20)Сред в таблице, это для того что одна ячейка одна цифра.
В скриншоте как выводится, а красным как надо.
24 1Сергей
 
02.11.11
15:49
(21) вначале или в конце, ты уж определись
25 zak555
 
02.11.11
15:50
в начале должны быть нули =)
26 palpetrovich
 
02.11.11
15:51
лево с право не путаем?
27 medved_kot
 
02.11.11
15:51
Сред("000000000000", 1, СтрДлина(Контрагент.ИНН)) + СокрЛП(Контрагент.ИНН)
28 medved_kot
 
02.11.11
15:52
т.е.
Сред("000000000000", 1, 12 - СтрДлина(Контрагент.ИНН) + 1) + СокрЛП(Контрагент.ИНН)
29 viktor_vv
 
02.11.11
15:52
(25) Не нужны. Это украинская бухгалтерия.
30 bizon2008
 
02.11.11
15:52
(22)Не помогло.
(24)Выводится вначале, должно быть в конце.
31 medved_kot
 
02.11.11
15:53
тогда переставь
32 bizon2008
 
02.11.11
15:54
(31)Чего куда?
33 palpetrovich
 
02.11.11
15:54
выбирай
КонтрагентНалогНомер = Прав("           " + СокрЛП(КонтрагентНалогНомер),12);
КонтрагентНалогНомер = Прав("00000000000" + СокрЛП(КонтрагентНалогНомер),12);
34 viktor_vv
 
02.11.11
15:55
А слона-то  не заметил.

Вот из типовой, сравни сос своим.

КонтрагентНалогНомер = ?(ПустоеЗначение(Контрагент.ИНН)=1,                "           0",  Прав("           " + СокрЛП(Контрагент.ИНН),12));
35 viktor_vv
 
02.11.11
15:56
У тебя сокрЛП() нету.
36 Ёпрст
 
02.11.11
15:56
ёпта
Сообщить("*"+Контрагент.ИНН+"*");
КонтрагентНалогНомер = ?(ПустоеЗначение(Контрагент.ИНН)=1,"000000000000", Прав("            "+Контрагент.ИНН,12));
Сообщить("*"+КонтрагентНалогНомер +"*");
????
37 medved_kot
 
02.11.11
15:56
(32) смотри (33) второй вариант
38 bizon2008
 
02.11.11
16:21
(36)Вот.
*111         *
*111         *
39 Ёпрст
 
02.11.11
16:22
(38) ну тогда ответ - в (33.1)
40 Ёпрст
 
02.11.11
16:23
мля..
ответ вот:

КонтрагентНалогНомер = Прав("           " + СокрЛП(Контрагент.ИНН),12);
41 bizon2008
 
02.11.11
16:24
Угу. Тоже мля. Какого оно пробел в коне сует.
42 bizon2008
 
02.11.11
16:24
Все понял.
Спасибо огромное.
Закон Брукера: Даже маленькая практика стоит большой теории.