![]() |
![]() |
![]() |
|
Выгрузка платежек В Клиент-Банк | ☑ | ||
---|---|---|---|---|
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 Сервис-Сведения об организации-коды
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |