Модераторы: stron
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с 1сv8, Трудности освоения 
:(
    Опции темы
bucdapus
  Дата 7.12.2007, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 14.5.2007

Репутация: нет
Всего: нет



Люди помогите в создании отчета:
в версии 7,7 это выглядит так

Процедура ЗагКонтрИзКК()
    Если ФлКонтр=0 Тогда
        Сообщить("Не установлен флаг Контрагенты");
        возврат;
    КонецЕсли;
    Состояние("Загрузка контрагентов.......");
    ИсхФ.ОткрытьФайл(СокрЛП(ПутьКВыгрузке) + "С:Arxiv\OUT01.dbf"); 
    Если ИсхФ.Открыта()=0 Тогда
        Предупреждение("Не удалось открыть базу данных "+строка(ИсхФ.КодОшибки()) );
        Возврат;
    КонецЕсли;
    Если ИсхФ.КоличествоЗаписей() < 1 Тогда
        Возврат;
    КонецЕсли;
    СпрК  = СоздатьОбъект("Справочник.Контрагенты");
    ИсхФ.Первая();


///Вот до сих пор все вроде правильно а вот дальше уже чет надо менять!!!!!!!!!
    Пока ИсхФ.ВКонце()=0 Цикл             
        СпрК.НайтиПоКоду(ИсхФ.NumRec, 0);
        Если СпрК.Выбран()=0 Тогда
            
            СпрК.Новый();
            спрК.Код               = ИсхФ.NumRec;      
            спрК.Наименование      = ИсхФ.Name; 
            СпрК.ЮрАдрес = ИсхФ.ADRESS;
            СпрК.ИНН = ИсхФ.INN;
            СпрК.Записать();
        Иначе
            Если СпрК.ПометкаУдаления() = 1 Тогда
                спрК.СнятьПометкуУдаления(); 
            КонецЕсли;
                            
                        
        КонецЕсли;
                ИсхФ.Следующая();
    КонецЦикла;
    Колич = 0;
    Пока Колич = 0 Цикл        
        Колич = 1;
        СпрК.ПорядокКодов();    
        СпрК.ВыбратьЭлементы();
        СпрК1 = СоздатьОбъект("Справочник.Контрагенты");
        СпрК1.НайтиПоКоду("Прочие",0);
        Если СпрК1.Выбран() = 0 Тогда
            СпрК1.НоваяГруппа();
            СпрК1.Код="Прочие";
            СпрК1.Наименование="Прочие Контрагенты";
            СпрК1.Записать();
        КонецЕсли;
        
        Пока СпрК.ПолучитьЭлемент() > 0 Цикл
            Пом = СпрК.ТекущийЭлемент().Код;
            Если Не(Пом="Прочие") Тогда            
                Если Табл.НайтиЗначение(Пом,,"Код") = 0 Тогда
                    Если Не(СпрК.Родитель = СпрК1.ТекущийЭлемент()) Тогда
                        СпрК.Родитель = СпрК1.ТекущийЭлемент();
                        Колич = 0;
                        СпрК.Записать();
                    КонецЕсли;
                Иначе                
                    Если СпрК.Родитель = СпрК1.ТекущийЭлемент() Тогда
                        СпрК.Родитель = "";
                        Колич = 0;
                        СпрК.Записать();
                    КонецЕсли;
                КонецЕсли;            
            КонецЕсли;        
        КонецЦикла;
    КонецЦикла; 
    ИсхФ.ЗакрытьФайл(); 
    
    
    //Предупреждение("Все Контрагенты загружены");
    
    
КонецПроцедуры   

как а как переделать на версию 8,0 ведь там нет метода Выбран() и других...........
помогите 

Это сообщение отредактировал(а) bucdapus - 7.12.2007, 16:43
PM MAIL   Вверх
Dr.Drunk
Дата 8.12.2007, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 12.1.2004
Где: Волжский

Репутация: нет
Всего: нет



я с 8.0 давно работал, но все там есть. 
кстати, в ней неплохой встроенный помощник есть. smile 
просто под рукой 8.0 нет :(
--------------------
_Theory_ is when you know everything but nothning works._Practice_ is when everything works but no one knows why._IN THIS PLACE_ we're combining theory and practice -nothing works and no one knows why!
PM MAIL WWW ICQ   Вверх
prefer
Дата 8.12.2007, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.12.2007

Репутация: нет
Всего: нет



Какой то незачетный код... smile 

Имхо: чтоб проще было разбираться в коде такие элементы как  СпрК.ВыбратьЭлементы(); и ПолучитьЭлемент() следовало бы писать вместе...
и вот это тож:     Если СпрК.ПометкаУдаления() = 1 Тогда
                                  спрК.СнятьПометкуУдаления(); 
                              КонецЕсли;
Если элемент не выбран, у кого снимать пометку?
Даа... СпрК.ТекущийЭлемент().Код - "Прочие" - это сильно!

Да и самое главное:
Я так думаю СпрК.НайтиПоКоду(); - уже позиционируется на объекте...      И СпрК.Выбран() тут не нужен
PM MAIL   Вверх
programador
Дата 26.1.2008, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 12.4.2006

Репутация: нет
Всего: нет



Согласен с prefer - код трудночитаемый smile  (хоть и без "перлов"  smile  ). bucdapus - опиши задачу, тогда можешь получить ответ. Причем, предчувствую, он не будет похож на написанное выше. Что в 7.7, что 8.0, что в 8.1 ИМНО его лучше радикально переписать. По данному фрагменту кода можно только догадываться, т.к.:
1) неизвестны итоговые данные (те, что получить нужно);
2) неизвестно для какой конфигурации написано и на каких данных работает;
3) требования конечного пользователя (заказчика) к обработке (а не отчету).
Последнее самое важное и от него зависят все остальные пункты.
В частности, сильно усложнен цикл перебора записей таблицы БД. Достаточно 
Код

Пока ИсхФ.Следующая() = 1 цикл
    // тело цикла
КонецЦикла;

Определять конец файла - лишняя операция. Не удивлюсь, если цикл подвисает. Короче, если нуна задачу решить - пиши условия. А версия 1С 8 - вообще гадость (очередной, блин, маркетинговый ход "российской майкрософт"), но если очень нуна - то можно и для неё .
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.