Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Создание внешней обработки в 1с

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

yadeva

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня не получается сделать из 1С 7.7 обработки обработку для 1С 8.2  
листинг вот такой:
// Выбираем файл .txt из исходного каталога  
Перем ИмяФайла;  
Процедура ВыбратьФайлНажатие(Элемент)  
    //Объявляем переменные  
    ИмяФайла="";  
    ф="";  
    ПутьКФайлу="";  
     //открываем диалог выбора файла  
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);  
    Диалог.Заголовок = "Выберите файл...";  
    Диалог.ПредварительныйПросмотр = Ложь;  
    Диалог.МножественныйВыбор = Ложь;  
    Диалог.Фильтр = "Текстовые файлы (*.txt)|*.txt";  
    Диалог.Каталог = "D:\ЭТК";  
    Если Диалог.Выбрать() Тогда  
        ПутьКФайлу = Диалог.ПолноеИмяФайла;  
        ИмяФайла=Диалог.Каталог+ПутьКФайлу;  
    Иначе  
        Возврат;  
    КонецЕсли;  
     //читаем файл  
    Текст = Новый ЧтениеТекста(ПутьКФайлу, КодировкаТекста.UTF8);  
    Строка = Текст.ПрочитатьСтроку();  
    Пока Строка <> Неопределено Цикл  
        Строка = Текст.ПрочитатьСтроку();  
        Сообщить(Строка);  
    КонецЦикла;  
     
КонецПроцедуры  
  // Процедура выполнить  
// В данной процедуре будут создаваться акты списания и поступления  
 
& НаКлиенте  
Процедура КнопкаВыполнитьНажатие(Кнопка)  
    //Т=СоздатьОбъект("Таблица Значений");  
      //Т.НоваяКолонка("Серия","Строка",13);  
      //Т.НоваяКолонка("Номер","Строка",5);  
      //Т.НоваяКолонка("ЭТК","Справочник.БСО");  
      // Файл = СоздатьОбъект("Текст");  
    Т=Новый ТаблицаЗначений;  
    Т.Колонки.Добавить("Серия","Строка",13);  
    Т.Колонки.Добавить("Номер","Строка",5);  
    Т.Колонки.Добавить("ЭТК","Справочник.БСО");  
    Файл = новый ТекстовыйДокумент;  
    Файл.КодоваяСтраница(0);  
     
Попытка  
        Файл.Открыть(ИмяФайла);  
    Исключение  
        Предупреждение("Файл не выбран");  
    Возврат;  
КонецПопытки;  
  Стр="";  
  КоличествоСтрок=Файл.КоличествоСтрок();  
  //Бланк=СоздатьОбъект("Справочник.БСО");  
  Бланк=Справочники.БСО.СоздатьЭлемент();  
Для НомерСтроки=1 По КоличествоСтрок Цикл  
   Стр=СокрЛП(Файл.ПолучитьСтроку(НомерСтроки));  
   //СокрЛП(Стр);  
   Т.НоваяСтрока();  
   Серия=Лев(Стр,12);  
   Номер=Сред(Стр,13,6);  
   Т.Серия=Серия;  
   Т.Номер=Номер;  
   Бланк.ИспользоватьВладельца(ВидБланка);  
Если Найти(ВидБланка.Код, "00000002")=1 Тогда  
    Бланк.НайтиПоКоду(Число(Номер)-547900);    
КонецЕсли;  
Если Найти(ВидБланка.Код, "00000003")=1 Тогда  
     Бланк.НайтиПоКоду(Число(Номер)-539880);  
КонецЕсли;  
 
 
     Флаг=0;  
Если (Найти(Бланк.Серия,Серия)=1) И (Найти(Бланк.НомерБланка,Номер)=1) И (Бланк.ПометкаУдаления()=0)  
Тогда Флаг=1; Сообщить("ЭТК"  "+серия+" "+Номер+" "найдена");  
Иначе  
      Бланк.ВыбратьЭлементы();  
      Пока Бланк.ПолучитьЭлемент()=1 Цикл  
           
          Если (Найти(Бланк.Серия,Серия)=1) И (Найти(Бланк.НомерБланка,Номер)=1) И (Бланк.ПометкаУдаления()=0) Тогда Флаг=1; Сообщить("ЭТК"  "+серия+" "+Номер+" "найдена");Прервать; КонецЕсли;  
      КонецЦикла;  
  КонецЕсли;  
  Если Флаг=1 Тогда  
      Т.ЭТК=Бланк.ТекущийЭлемент();  
  КонецЕсли;  
КонецЦикла;  
Если Т.КоличествоСтрок()=0 Тогда Возврат;  
КонецЕсли;  
Сообщить("Найдено "+Т.КоличествоСтрок()+" карт");  
Если Поступление=1 Тогда  
    //Док=СоздатьОбъект("Документ.БСО_Поступление");  
    Док = Документы.БСО_Поступление.СоздатьДокумент();  
    Док.Новый();  
    Док.ДатаДок=ДатаДок;  
    //Организация=СоздатьОбъект("Справочник.Организации");  
    Организация=Справочники.Организации.НайтиПоКоду();  
    Если Организация.НайтиПоКОду("00001")=1 Тогда Док.ВыбраннаяОрганизация=Организация.Текущийлемент()  
    КонецЕсли;  
    Док.ВидБСО=ВидБланка;  
    Док.МестоХранения=МестоХранения;  
    Док.КодВидаДеятельности=Перечисление.КодВидаДеятельности.Бюджет;  
    Док.ОтКогоПолучено=ОтКогоПолучено;  
    Док.ПервичныйДокумент=ПервичныйДок;  
    Т.ВыбратьСтроки();  
    Пока Т.ПолучитьСтроку=1 Цикл  
        Если ПустоеЗначение(Т.ЭТК)=0 Тогда  
            Док.НоваяСтрока();  
            Док.БланкСтрогойОтчетности=Т.ЭТК;  
            Док.Количество=1;  
            Док.Цена=1;  
            Док.Сумма=1;  
            Сообщить("ЭТК"+ Т.Серия+" " +Т.Номер+" добавлена в документ");  
        Иначе  
            Сообщить("ЭТК"+ Т.Серия+" " +Т.Номер+" не найдена в справочнике");  
        КонецЕсли;  
    КонецЦикла;  
    Док.Записать();  
    Сообщить("Создан документ Поступление БСО №"+Док.НомерДок+ "от "+Док.ДатаДок);  
КонецЕсли;  
 
//Если Списание=1 Тогда  
      //Док=СоздатьОбъект("Документ.БСО_Списание");  
  Если Списание=1 Тогда  
      Док = Документы.БСО_Списание.СоздатьДокумент();  
      Док.Новый();  
      Док.ДатаДок=ДатаДок;  
      //Организация=СоздатьОбъект("Справочник.Организации");  
       Организация=Справочники.Организации.НайтиПоКоду();  
      Если Организация.НайтиПоКоду("00001")=1 Тогда Док.ВыбраннаяОрганизация=Организация.Текущийлемент();  
       Док.ВидБСО=ВидБланка;  
       Док.МестоХранения=МестоХранения;  
       Док.КодВидаДеятельности=Перечисление.КодВидаДеятельности.Бюджет;  
       Док.НомерПриказа=НомерПриказа;  
       Док.ДатаПриказа=ДатаПриказа;  
       Док.Председатель=Председатель;  
       Док.ЧленКомиссии1=ЧленКомиссии1;  
       Док.ЧленКомиссии2=ЧленКомиссии2;  
Он мне выдает вот такие ошибки:  
 
Док.КодВидаДеятельности=<<?>>Перечисление.КодВидаДеятельности.Бюджет;  
{Обработка.ЭТК.Форма.Форма(135,29)}: Переменная не определена (Перечисление)  
       Док.КодВидаДеятельности=<<?>>Перечисление.КодВидаДеятельности.Бюджет;  
{Обработка.ЭТК.Форма.Форма(109,8)}: Процедура или функция с указанным именем не определена (ПустоеЗначение)  
        Если <<?>>ПустоеЗначение(Т.ЭТК)=0 Тогда  
{Обработка.ЭТК.Форма.Форма(146,11)}: Процедура или функция с указанным именем не определена (ПустоеЗначение)  
           Если <<?>>ПустоеЗначение(Т.ЭТК)=0 Тогда  

Всего записей: 5 | Зарегистр. 25-04-2012 | Отправлено: 21:28 03-05-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Создание внешней обработки в 1с


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru