Имя: Пароль:
1C
 
Выгрузка платежек В Клиент-Банк
0 winner_vlad
 
09.08.07
14:07
Добрые день!
Подскажите, пожалуйста!
Номер платежного поручения имеет четырехзначное число.
При выгрузке из 1С в текстовой файл платежного поручения ТЕРЯЕТСЯ 1 цифра и в текст файле НомерДок уже 3-значный.
В чем суть?
Номер=428-????????????????????????????????(а на самом деле № 1428)
Дата=08.08.2007
И еще в этом текстовом файле дублируется:ПлательщикИНН и ПолучательИНН
ПлательщикИНН=5050026067  
ПлательщикКПП=505001001
Плательщик=ИНН 5050026067\505001001 - лишнее
ПолучательИНН=5050027416  
ПолучательКПП=505001001
Получатель=ИНН 5050027416\505001001 - лишнее
Что делать? Как быть? И что из этого выйдет?
1 baldhead
 
09.08.07
14:19
Отладчиком посмотреть где теряется первое число

Получатель=ИНН 5050027416\505001001 - Это как?
2 winner_vlad
 
09.08.07
14:22
Это я выдернул из текстого файла, это не модуль. Просто дублируется как этого избежать?
ПолучательИНН=5050027416  
ПолучательКПП=505001001
Получатель=ИНН 5050027416\505001001 - лишнее
3 winner_vlad
 
09.08.07
14:31
А как отладчиком посмотреть?
4 baldhead
 
09.08.07
14:34
winner_vlad, извините, если вы такие вопросы задаете мне кажется вам с этой проблемой не справиться..
5 Табуретка
 
09.08.07
14:36
(0) начнем с того что ты нам честно скажеш: выгрузку в КлиентБанк сам ваяеш или пытаешся готовую разобрать?
6 winner_vlad
 
09.08.07
14:40
Встроенную смотрю, честно!
   ИначеЕсли Параметр = "НомерДокумента" Тогда
       Результат = Строка(Число(Прав(СокрЛП(глПреобразоватьНомерДок(Документ.НомерДок, 0, 0)),3))); - по поводу пропажи цифры не эта случайно строчка
7 Табуретка
 
09.08.07
14:43
ага ета :) 3 на 4 перепиши и сохрани...
8 Табуретка
 
09.08.07
14:43
бульше уверенности в себе, молодой человек... и базу почаще бэкапьте и всё у вас получится в етой жизни :)
9 winner_vlad
 
09.08.07
14:45
А по поводу дублирования ИНН и КПП что скажите, о Всезнающие боги 1С-Олимпа?
10 Табуретка
 
09.08.07
14:48
(9) сплюнь три раза и перекрестись...
раз написано, значит так надо... шаблон он и в африке шаблон, ещё неизвестно примут ли у тебя в банке четырехзначный номер(скорее всего да)... ничего больше нетрогай, если все уже нормально...
11 vladko
 
09.08.07
14:52
похоже на то....
но столько фунцкций натравливается на номер документа... Может быть так надо.
Попробуй подправить - вместо 3 поставить 4
12 winner_vlad
 
09.08.07
14:52
Ураааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа!!!
Получилось!!!
Эврикккккккккккккккккккккккккккккккккккккккккккааааааааааааааааааааа!
Число 4-значное выгрузилось.
Спасибо Вам люди добрые, век Вам этого не забуду:-)
13 Табуретка
 
09.08.07
14:55
(12) мнеб твои проблемы...   %)))
14 vladko
 
09.08.07
14:58
(12) просто этой обработкой предусматривалось, что номера платёжек не будет зашкаливать за 999, а у тебя зашкалило.
15 winner_vlad
 
09.08.07
15:06
Спасибо!
16 winner_vlad
 
09.08.07
15:09
// шапка платежного документа
   ТаблицаДокументов.СекцияДокумент = ВидДокумента;
   ТаблицаДокументов.Номер          = ПолучитьДанные("НомерДокумента", Документ.ТекущийДокумент());
   ТаблицаДокументов.Дата           = Документ.ДатаДок;
   ТаблицаДокументов.Сумма          = Документ.Сумма;

   // реквизиты организации
   ТаблицаДокументов.УстановитьЗначение(Стр, Организация + "ИНН", ПолучитьДанные("ИННОрганизации", Документ));
   
   Если Метаданные.Документ(Документ.Вид()).РеквизитШапки("КППплательщика").Выбран() = 1 Тогда
       ТаблицаДокументов.УстановитьЗначение(Стр, Организация + "КПП", Документ.КППплательщика);
   КонецЕсли;
   
   ТаблицаДокументов.УстановитьЗначение(Стр, Организация+"1",   ПолучитьДанные("НазваниеОрганизации", Документ));
   ВыгрузитьПлатежныеРеквизиты(ПолучитьДанные("БанковскийСчетОрганизации", Документ), Организация,Документ);

   // реквизиты контрагента
   ТаблицаДокументов.УстановитьЗначение(Стр, Корреспондент + "ИНН", ПолучитьДанные("ИННКонтрагента", Документ));
   
   Если Метаданные.Документ(Документ.Вид()).РеквизитШапки("КППполучателя").Выбран() = 1 Тогда
       ТаблицаДокументов.УстановитьЗначение(Стр, Корреспондент + "КПП", Документ.КППполучателя);
   КонецЕсли;
   
   ТаблицаДокументов.УстановитьЗначение(Стр, Корреспондент + "1",   ПолучитьДанные("НазваниеКонтрагента", Документ));
   ВыгрузитьПлатежныеРеквизиты(ПолучитьДанные("БанковскийСчетКонтрагента", Документ), Корреспондент);
   
   // реквизиты платежа
   ТаблицаДокументов.ВидПлатежа=Строка(Документ.ВидПлатежа);
   ТаблицаДокументов.ВидОплаты=ПолучитьВидОплатыДокумента(Документ);
   ТаблицаДокументов.СрокПлатежа=Документ.СрокПлатежа;
А ПО ПОВОДУ ДУБЛИРОВАНИЯ МНЕ ЗДЕСЬ НАДО ЧТО-НИБУДЬ ИЗМЕНИТЬ, ЧТОБЫ

ПолучательИНН=5050027416  
ПолучательКПП=505001001
Получатель=/////ИНН 5050027416\505001001/// - ВОТ ЭТО УБРАТЬ!!!
17 winner_vlad
 
09.08.07
15:11
ИЛИ ЗДЕСЬ???
Я ЧУВСТВУЮ ИСТИНА ГДЕ-ТО РЯДОМ
Функция ПолучитьДанные(Параметр, Документ)
   
   Результат = "";
   
   Если (Параметр = "НазваниеОрганизации") ИЛИ (Параметр = "Организация") Тогда                                                            
       Плательщик = "";БанкПлательщика = "";НомерСчетаПлательщика = "";БИКБанкаПлательщика = "";СчетБанкаПлательщика = "";ИННплательщика="";
       
       Если Метаданные.Документ(Документ.Вид()).РеквизитШапки("ПеречислениеНалога").Выбран() = 1 Тогда
           Плательщик = ?(Документ.ПеречислениеНалога=1, Константа.НаименованиеПлательщикаПриПеречисленииНалогов, "");
       КонецЕсли;

       глПлатежныеРеквизиты(Документ.РасчетныйСчет, Плательщик, БанкПлательщика, НомерСчетаПлательщика, БИКБанкаПлательщика, СчетБанкаПлательщика, ИННплательщика,, 2);
       Результат = Плательщик;
       
       ПозицияРС = Найти(Результат, " р/с ");
       Если ПозицияРС > 0 Тогда
           ПозицияВ = Найти(Сред(Результат, ПозицияРС), " в ");
           Если ПозицияВ > 0 Тогда
               Результат = Лев(Результат, ПозицияРС);
           КонецЕсли;
       КонецЕсли;

   ИначеЕсли Параметр = "ИННОрганизации" Тогда
       глПлатежныеРеквизиты(Документ.РасчетныйСчет,,,,,,Результат,,2);
       
   ИначеЕсли Параметр = "КППОрганизации" Тогда
       глПлатежныеРеквизиты(Документ.РасчетныйСчет,,,,,,,Результат,2);
       Если (ПустоеЗначение(Документ.РасчетныйСчет.Корреспондент) = 1)
        или (ПустаяСтрока(Результат) = 1) Тогда
            Результат = ?(Документ.ПеречислениеНалога=1,?(ПустаяСтрока(Результат)=1,"0", Результат),"");
       КонецЕсли;
       
   ИначеЕсли Параметр = "НазваниеКонтрагента" Тогда
       Результат = Документ.Контрагент.ПолнНаименование;
       
   ИначеЕсли Параметр = "ИННКонтрагента" Тогда
       глПлатежныеРеквизиты(Документ.СчетКонтрагента,,,,,,Результат,,2);
       
   ИначеЕсли Параметр = "КППКонтрагента" Тогда
       
       глПлатежныеРеквизиты(Документ.СчетКонтрагента,,,,,,,Результат,2);
       Если (ПустоеЗначение(Документ.СчетКонтрагента.Корреспондент) = 1)
            или (ПустаяСтрока(Результат) = 1) Тогда
            Результат = ?(Документ.ПеречислениеНалога=1,?(ПустаяСтрока(Результат)=1,"0", Результат),"");
       КонецЕсли;
   
   ИначеЕсли Параметр = "БанковскийСчетОрганизации" Тогда
       Результат = Документ.РасчетныйСчет;                  
   
   ИначеЕсли Параметр = "Контрагент" Тогда
       Результат = Документ.Контрагент;
   
   ИначеЕсли Параметр = "БанковскийСчетКонтрагента" Тогда
       Результат = Документ.СчетКонтрагента;
       
   ИначеЕсли Параметр = "НомерДокумента" Тогда
       Результат = Строка(Число(Прав(СокрЛП(глПреобразоватьНомерДок(Документ.НомерДок, 0, 0)),4)));
       
       Если Число(Результат) = 0 Тогда
           Сообщить("У документа с номером """ + Документ.НомерДок + """ номер должен оканчиваться на три цифры и не на ""000""", "!");
       КонецЕсли;
           
   КонецЕсли;
   
   Возврат Результат;
   
КонецФункции // ПолучитьДанные()
18 winner_vlad
 
09.08.07
15:49
ОСТАЛОСЬ СДЕЛАТЬ ПОСЛЕДНЕЕ УСИЛИЕ И ВАШИ СТРАНИЯ БУДУТ ВОЗНАГРАЖДЕНЫ!!!
19 CrecerRu
 
09.08.07
15:53
(18) что бы ИНН 5050027416\505001001 не было, поробуй 5050027416/505001001. А вот когда ты 3 на 4 поменял, твою платежку могут в банке завернуть...
20 winner_vlad
 
09.08.07
16:00
ДА ВОТ КАК РАЗ БУХГАЛТЕРИЯ ГОВОРИТ, ЧТО В БАНКЕ ВОЗМУЩАЮТСЯ, ЧТО ПЛАТЕЖКА У НАС 4-ЗНАЧНАЯ, А ПРИСЫЛАЕМ 3-ЗНАЧНУЮ.
А ПОПРОБОВАТЬ 5050027416/5050010- ЭТО ГДЕ И КАК ПОДСКАЖИ, ПОЖАЛУЙСТА?
21 VladimirSK
 
09.08.07
16:11
Для УСН

Процедура глПлатежныеРеквизиты(Счет, СтрОрганизация="", СтрБанк="", РасчСчет="", БИК="", КоррСчет="", ИНН="", КПП="", Режим = 1)

   СтрБанк = "";
   ПолучСтрОрг = СокрЛП(СтрОрганизация);
   СтрОрганизация = "";
   
   Если Счет.Вид()="РасчетныеСчета" Тогда
       
       ИНН = ?(Счет.Владелец.ВидКонтрагента = Перечисление.ВидыКонтрагентов.ЧастноеЛицо, СРЕД(Счет.Владелец.ИНН,1,12),СРЕД(Счет.Владелец.ИНН,1,10));
       СтрКПП = ?(Счет.Владелец.ВидКонтрагента = Перечисление.ВидыКонтрагентов.ЧастноеЛицо, "",СРЕД(Счет.Владелец.ИНН,12));
       
       КПП = ?(ПустоеЗначение(КПП) = 0, КПП, СтрКПП);
       
       //Если Режим = 1 Тогда
       //    глДобавитьРеквизит(СтрОрганизация, "ИНН ", Счет.Владелец.ИНН);
       //КонецЕсли;
       //Если ПустаяСтрока(Счет.Владелец.ПолнНаименование)=1 Тогда
       //    глДобавитьРеквизит(СтрОрганизация, " ", Счет.Владелец.Наименование);
       //Иначе
       //    глДобавитьРеквизит(СтрОрганизация, " ", Счет.Владелец.ПолнНаименование);
       //КонецЕсли;
       Если ПустаяСтрока(Счет.Владелец.ПолнНаименование)=1 Тогда
           глДобавитьРеквизит(СтрОрганизация, "", Счет.Владелец.Наименование);
       Иначе
           глДобавитьРеквизит(СтрОрганизация, "", Счет.Владелец.ПолнНаименование);
       КонецЕсли;
       
   Иначе
       Если СтрДлина(СокрЛП(Константа.ИННОрганизации))<13 Тогда
           ИНН = СокрЛП(Константа.ИННОрганизации);
           СтрКПП = "";
       ИначеЕсли Найти("0123456789",СРЕД(Константа.ИННОрганизации,11,1))=0 Тогда
           ИНН = СРЕД(Константа.ИННОрганизации,1,10);
           СтрКПП = СРЕД(Константа.ИННОрганизации,12);
       Иначе
           ИНН = СРЕД(Константа.ИННОрганизации,1,12);
           СтрКПП = СРЕД(Константа.ИННОрганизации,13);
       КонецЕсли;
       
       КПП = ?(ПустоеЗначение(КПП) = 0, КПП, СтрКПП);            
       
       //Если Режим = 1 Тогда
       //    глДобавитьРеквизит(СтрОрганизация, "ИНН ", ИНН);
       //    глДобавитьРеквизит(СтрОрганизация, "\", КПП);
       //    глДобавитьРеквизит(СтрОрганизация, " ", ?(ПустаяСтрока(ПолучСтрОрг) = 1, Константа.НаименованиеОрганизации, ПолучСтрОрг));
       //Иначе
       //    глДобавитьРеквизит(СтрОрганизация, " ", Константа.НаименованиеОрганизации);
       //КонецЕсли;                                                                                                                    
       
       глДобавитьРеквизит(СтрОрганизация, "", ?(ПустаяСтрока(ПолучСтрОрг) = 1, Константа.НаименованиеОрганизации, ПолучСтрОрг));        
   КонецЕсли;
22 CrecerRu
 
09.08.07
16:30
(20)справочник-Контрагенты-Инн/Кпп
23 CrecerRu
 
09.08.07
16:31
+22 Сервис-Сведения об организации-коды