Fox_kids Posted March 5, 2007 Report Share Posted March 5, 2007 Срочно нужно установить Клиент-Банк! В нашей версии 1С его нет. Вставляю с новой версии, выдает ошибки, а в программировании я не очень. Помогите плиз!!! ВОТ ОШИБКИ: глРеквизитыПлательщикаПолучателя<<?>>(Параметры); {Обработка.ПредприятиеКлиент.Форма.Модуль(338)}: Процедура не обнаружена (глРеквизитыПлательщикаПолучателя) глУстановитьТипВидРеквизита<<?>>(Объект, "Счет", "Счет"); {Обработка.ПредприятиеКлиент.Форма.Модуль(480)}: Процедура не обнаружена (глУстановитьТипВидРеквизита) Объект.Автор = глПользователь<<?>>; {Обработка.ПредприятиеКлиент.Форма.Модуль(487)}: Переменная не определена (глПользователь) Назначение=СокрП(глТекстНазначениеПлатежа<<?>>(Документ)); {Обработка.ПредприятиеКлиент.Форма.Модуль(1260)}: Функция не обнаружена (глТекстНазначениеПлатежа) глЗаполнитьШапку<<?>>(Объект, 0); {Обработка.ПредприятиеКлиент.Форма.Модуль(1756)}: Процедура не обнаружена (глЗаполнитьШапку) НазначениеВОбъекте = СокрП(глТекстНазначениеПлатежа<<?>>(Объект)); {Обработка.ПредприятиеКлиент.Форма.Модуль(1884)}: Функция не обнаружена (глТекстНазначениеПлатежа) глУстановитьТипВидРеквизита<<?>>(Объект, "Счет", "Счет"); {Обработка.ПредприятиеКлиент.Форма.Модуль(1959)}: Процедура не обнаружена (глУстановитьТипВидРеквизита) Link to comment Share on other sites More sharing options...
Maikll Posted March 5, 2007 Report Share Posted March 5, 2007 Fox_kids: а поподробнее, как ты его переносишь, а то такое впечатление, что у тебя обработка в .\ExtForms отсутствует. Link to comment Share on other sites More sharing options...
Fox_kids Posted March 5, 2007 Author Report Share Posted March 5, 2007 Fox_kids: а поподробнее, как ты его переносишь, а то такое впечатление, что у тебя обработка в .\ExtForms отсутствует. Из новой базы сохраняю как (внешний отчет) и переношу в старую базу. Link to comment Share on other sites More sharing options...
Maikll Posted March 5, 2007 Report Share Posted March 5, 2007 Ок, я так и подумал. Дело в том, что эта процедура, "клиент банк", использует глобальные переменные, а они то при таком способе как раз не переносятся Тебе необходимо найти все эти переменные ((глРеквизитыПлательщикаПолучателя) и др. )в новой конфигурации и вставить их в старую Но по моему, мнению, несколько проще будет обновить саму конфигурацию до новой, особенно если в старой не так уж много исправлений и доработок. Link to comment Share on other sites More sharing options...
Fox_kids Posted March 12, 2007 Author Report Share Posted March 12, 2007 Ок, я так и подумал. Дело в том, что эта процедура, "клиент банк", использует глобальные переменные, а они то при таком способе как раз не переносятся Тебе необходимо найти все эти переменные ((глРеквизитыПлательщикаПолучателя) и др. )в новой конфигурации и вставить их в старую Но по моему, мнению, несколько проще будет обновить саму конфигурацию до новой, особенно если в старой не так уж много исправлений и доработок. Дело в том, что старая база на 70% самописная! Обновлять ее себе дороже. Link to comment Share on other sites More sharing options...
Maikll Posted March 12, 2007 Report Share Posted March 12, 2007 (edited) Тогда только вручную переносить глобальные переменные из новой в старую. Это делается простым копированием из глобального модуля. Edited March 12, 2007 by Maikll Link to comment Share on other sites More sharing options...
Fox_kids Posted March 12, 2007 Author Report Share Posted March 12, 2007 Тогда только вручную переносить глобальные переменные из новой в старую. Буду ОЧЕНЬ благодарен если подскажешь как это сделать! А то я не сильно в этом еще разбираюсь! Link to comment Share on other sites More sharing options...
Maikll Posted March 12, 2007 Report Share Posted March 12, 2007 Fox_kids: Попробуй интегрировать эту обработку. Для нее не требуется изменять глобальный модуль. В конфигураторе открой конфигурацию и создай новую (пустую) обработку, далее правой кнопкой мышки и выбери заменить на внешнюю обработку, укажи этот файл, сохрани после загрузки под именем ПредприятиеКлиент, затем возможно придется добавить кнопку в журнал платежных документов с вызовом этой обработки (ОткрытьФорму("Обработка.ПредприятиеКлиент")). После этого сохрани и пробуй вызвать, должно все работать PS: разумеется сперва делаем на копии Fox_kids: Попробуй интегрировать эту обработку. Для нее не требуется изменять глобальный модуль. В конфигураторе открой конфигурацию и создай новую (пустую) обработку, далее правой кнопкой мышки и выбери заменить на внешнюю обработку, укажи этот файл, сохрани после загрузки под именем ПредприятиеКлиент, затем возможно придется добавить кнопку в журнал платежных документов с вызовом этой обработки (ОткрытьФорму("Обработка.ПредприятиеКлиент")). После этого сохрани и пробуй вызвать, должно все работать PS: разумеется сперва делаем на копии :) Link to comment Share on other sites More sharing options...
Fox_kids Posted March 13, 2007 Author Report Share Posted March 13, 2007 Поставил как ты говорил, но одна ошибочка вышла глЗаполнитьСтрокуВыпискиПоПлатежномуДокументу<<?>>(Объект, Документ, Приход + Расход); {Обработка.ПредприятиеКлиент.Форма.Модуль(318)}: Процедура не обнаружена (глЗаполнитьСтрокуВыпискиПоПлатежномуДокументу) Можно её исправить? Link to comment Share on other sites More sharing options...
Maikll Posted March 13, 2007 Report Share Posted March 13, 2007 Что у тебя за конфигурация? ладно... открой модуль обработки ПредприятиеКлиент и в нем после обявления переменных вставь след текст //******************************************************************************Процедура глЗаполнитьСтрокуВыпискиПоПлатежномуДокументу(Конт, ПлатДок, Сумма=0) ЭкспортЕсли ПлатДок.Выбран() = 1 Тогда Если ПлатДок.Вид() = "ОперацияПоРасчСчету" Тогда Назначение = ""; ВидПлатДок = ""; Движение = ""; Если ПлатДок.ПлательщикСчет = Конт.БанковскийСчет Тогда Движение = "Списание"; ИначеЕсли ПлатДок.ПолучательСчет = Конт.БанковскийСчет Тогда Движение = "Поступление"; Иначе Сообщить("В документе ""Операция по р/с"" №"+ПлатДок.НомерДок+" от "+ПлатДок.ДатаДок+" не указан банковский счет нашей организации.", "!!"); Сообщить("По данному документу строка выписки банка не сформирована.", "i"); Возврат; КонецЕсли; ПлатДок.ВыбратьСтроки(); Пока ПлатДок.ПолучитьСтроку() =1 Цикл Если Врег(СокрЛП(ПлатДок.Имя)) = "НАЗНАЧЕНИЕПЛАТЕЖА" Тогда Назначение = СокрЛП(ПлатДок.Значение); КонецЕсли; Если Врег(СокрЛП(ПлатДок.Имя)) = "СЕКЦИЯДОКУМЕНТ" Тогда ВидПлатДок = Врег(СокрЛП(ПлатДок.Значение)); КонецЕсли; КонецЦикла; Если (ВидПлатДок = "ПЛАТЕЖНОЕ ПОРУЧЕНИЕ") Тогда ВидПлатДок = "ПлатежноеПоручение"; ИначеЕсли (ВидПлатДок = "ЗАЯВЛЕНИЕ НА АККРЕДИТИВ") Тогда ВидПлатДок = "ЗаявлениеНаАккредитив"; ИначеЕсли (ВидПлатДок = "ПЛАТЕЖНОЕ ТРЕБОВАНИЕ") Тогда ВидПлатДок = "ПлатежноеТребование"; ИначеЕсли (ВидПлатДок ="ИНКАССОВОЕ ПОРУЧЕНИЕ") Тогда ВидПлатДок = "ИнкассовоеПоручение"; ИначеЕсли (ВидПлатДок ="ПЛАТЕЖНОЕ ТРЕБОВАНИЕ-ПОРУЧЕНИЕ") Тогда ВидПлатДок = "ПлатежноеТребованиеПоручение"; КонецЕсли; Иначе Назначение = ПлатДок.Содержание; ВидПлатДок = ПлатДок.Вид(); Движение = ""; КонецЕсли; Конт.НазначениеПлатежа = Назначение; Конт.НазначитьТип("Субконто1", "Справочник.Контрагенты"); Конт.НазначитьТип("Субконто2", "Справочник.Договоры"); Если ВидПлатДок = "ПлатежноеПоручение" Тогда ПеречислениеНалогов = 0; Если Движение = "Поступление" Тогда //Случай входящей платежки (документ "операция по р/с") Конт.КоррСчет = СчетПоКоду("62.1"); Конт.Субконто1 = ПлатДок.Плательщик; Иначе СпрНалоги = СоздатьОбъект("Справочник.НалогиИОтчисления"); Если Движение = "Списание" Тогда //Случай обычной платежки (документ "операция по р/с") Если ПлатДок.ПолучательСчет.Выбран() = 1 Тогда Если СпрНалоги.НайтиПоРеквизиту("РасчетныйСчет", ПлатДок.ПолучательСчет, 1) = 1 Тогда Конт.КоррСчет = СпрНалоги.Счет; Конт.НазначитьТип("Субконто1", Конт.КоррСчет.ВидСубконто(1)); Конт.НазначитьТип("Субконто2", Конт.КоррСчет.ВидСубконто(2)); Конт.НазначитьТип("Субконто3", Конт.КоррСчет.ВидСубконто(3)); Конт.Субконто1 = СпрНалоги.Субконто1; Конт.Субконто2 = СпрНалоги.Субконто2; Конт.Субконто3 = СпрНалоги.Субконто3; ПеречислениеНалогов = 1; КонецЕсли; КонецЕсли; Если ПеречислениеНалогов = 0 Тогда Конт.КоррСчет = СчетПоКоду("60.1"); Конт.Субконто1 = ПлатДок.Получатель; КонецЕсли; Иначе //Случай обычной платежки (документ "платежное поручение") Если ПлатДок.ПеречислениеНалога = 1 Тогда Найден = 0; Если ПустоеЗначение(СокрЛП(ПлатДок.КодБК)) = 0 Тогда Найден = СпрНалоги.НайтиПоРеквизиту("КодБК", ПлатДок.КодБК, 1); КонецЕсли; Если (Найден = 0) и (ПлатДок.СчетКонтрагента.Выбран() = 1) Тогда Найден = СпрНалоги.НайтиПоРеквизиту("РасчетныйСчет", ПлатДок.СчетКонтрагента, 1); КонецЕсли; Если Найден = 1 Тогда Конт.КоррСчет = СпрНалоги.Счет; Конт.НазначитьТип("Субконто1", Конт.КоррСчет.ВидСубконто(1)); Конт.НазначитьТип("Субконто2", Конт.КоррСчет.ВидСубконто(2)); Конт.НазначитьТип("Субконто3", Конт.КоррСчет.ВидСубконто(3)); Конт.Субконто1 = СпрНалоги.Субконто1; Конт.Субконто2 = СпрНалоги.Субконто2; Конт.Субконто3 = СпрНалоги.Субконто3; ПеречислениеНалогов = 1; КонецЕсли; КонецЕсли; Если ПеречислениеНалогов = 0 Тогда Конт.КоррСчет = СчетПоКоду("60.1"); Конт.Субконто1 = ПлатДок.Контрагент; Конт.Субконто2 = ПлатДок.Договор; КонецЕсли; Движение = "Списание"; КонецЕсли; КонецЕсли; ИначеЕсли ВидПлатДок = "ЗаявлениеНаАккредитив" Тогда Конт.КоррСчет = СчетПоКоду("60.1"); Если Движение = "Списание" Тогда Конт.Субконто1 = ПлатДок.Получатель; Иначе Конт.Субконто1 = ПлатДок.Контрагент; Движение = "Списание"; КонецЕсли; ИначеЕсли ВидПлатДок = "ПлатежноеТребование" Тогда Если Движение = "Списание" Тогда Конт.НазначитьТип("Субконто1", ""); Конт.НазначитьТип("Субконто2", ""); Иначе Конт.КоррСчет = СчетПоКоду("62.1"); Если Движение = "Поступление" Тогда Конт.Субконто1 = ПлатДок.Плательщик; Иначе Конт.Субконто1 = ПлатДок.Контрагент; КонецЕсли; КонецЕсли; КонецЕсли; Если Движение = "Списание" Тогда Конт.Приход = 0; Конт.Расход = Сумма; Иначе Конт.Приход = Сумма; Конт.Расход = 0; КонецЕсли;КонецЕсли;КонецПроцедуры //глЗаполнитьСтрокуВыпискиПоПлатежномуДокументу Link to comment Share on other sites More sharing options...
Fox_kids Posted March 13, 2007 Author Report Share Posted March 13, 2007 Что у тебя за конфигурация? ладно... открой модуль обработки ПредприятиеКлиент и в нем после обявления переменных вставь след текст Можешь подсказать где конкретно ставить? Я не понимаю, что такое "обявления переменных". Link to comment Share on other sites More sharing options...
Maikll Posted March 13, 2007 Report Share Posted March 13, 2007 открой модуль обработки ПредприятиеКлиент и в самом начале модуля объявлены 2 переменные Перем СписокДействий; Перем ДатаВыписки; вот после них и ставь. Link to comment Share on other sites More sharing options...
Fox_kids Posted March 13, 2007 Author Report Share Posted March 13, 2007 открой модуль обработки ПредприятиеКлиент и в самом начале модуля объявлены 2 переменные Перем СписокДействий; Перем ДатаВыписки; вот после них и ставь. Теперь 2 ошибки выдал КонецПроцедуры //глЗаполнитьСтрокуВыпискиПоПлатежномуДокументу<<?>> {Обработка.ПредприятиеКлиент.Форма.Модуль(148)}: Процедура или функция с указанным именем объявлена, но не определена в текущем модуле (ИзменитьАтрибут) КонецПроцедуры //глЗаполнитьСтрокуВыпискиПоПлатежномуДокументу<<?>> {Обработка.ПредприятиеКлиент.Форма.Модуль(148)}: Процедура или функция с указанным именем объявлена, но не определена в текущем модуле (ЗаписатьДокумент) Link to comment Share on other sites More sharing options...
Maikll Posted March 13, 2007 Report Share Posted March 13, 2007 Теперь 2 ошибки выдал ладно, тогда держи переделанную обработку, в нее уже все неоходимые переменные добавлены. а вообще давай ка я в ПМ кину тебе свой адрес, отошли мне MD-шник, посмотреть бы на него, почему у тебя ничего нет в гл. модуле Link to comment Share on other sites More sharing options...
Fox_kids Posted March 13, 2007 Author Report Share Posted March 13, 2007 ладно, тогда держи переделанную обработку, в нее уже все неоходимые переменные добавлены. а вообще давай ка я в ПМ кину тебе свой адрес, отошли мне MD-шник, посмотреть бы на него, почему у тебя ничего нет в гл. модуле У меня в базе 3 MD-шных файла! Можно узать какой именно надо? 1. Находится С:\ _Torg06 2. Находится С:\ _Torg06\new_MD 3. Находится С:\ _Torg06\NEW_STRU Link to comment Share on other sites More sharing options...
Maikll Posted March 13, 2007 Report Share Posted March 13, 2007 (edited) Должен называться 1Cv7.MD (это если у тебя 1С 7,7), объем около 10-15М а находится в том каталоге, где лежит твоя база. Edited March 13, 2007 by Maikll Link to comment Share on other sites More sharing options...
Fox_kids Posted March 13, 2007 Author Report Share Posted March 13, 2007 Должен называться 1Cv7.MD (это если у тебя 1С 7,7), объем около 10-15М а находится в том каталоге, где лежит твоя база. В базе их 3 шт. Каждая весит чуть больше 3 мб. Link to comment Share on other sites More sharing options...
Maikll Posted March 13, 2007 Report Share Posted March 13, 2007 3 одинаковых 1Cv7.MD ? ладно, кидай все, только по одному...разберемся на месте. Link to comment Share on other sites More sharing options...
Fox_kids Posted March 14, 2007 Author Report Share Posted March 14, 2007 3 одинаковых 1Cv7.MD ? ладно, кидай все, только по одному...разберемся на месте. Отправил! Link to comment Share on other sites More sharing options...
Maikll Posted March 14, 2007 Report Share Posted March 14, 2007 Fox_kids: Значит так. Во всех присланных тобой мд-никах обработка работает, синтаксических ошибок не обнаружено. Единственный вопрос, все же почему их 3, у тебя 3 базы? или как? они различаются между собой но не сильно.... Теоретически все должно работать, но ...конфигурация твоя довольно древняя, поэтому сказать в полной уверенностью как поведет себя обработка в реальной базе трудно т.к. допустим уже несколько раз менялась структура справочников. проверь мыло. Link to comment Share on other sites More sharing options...
Fox_kids Posted March 15, 2007 Author Report Share Posted March 15, 2007 А ты ее полностью проверял? У меня тоже она запускается без проблем, но когда я выбираю "Платежное поручение" и "Расчетный счет"...выбираю дни с когого по какой и нажимаю выгрузить появляются ошибки! Link to comment Share on other sites More sharing options...
Recommended Posts