7.7 Родитель

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем vall-n-rol, 28 фев 2012.

  1. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

    Регистрация:
    18 ноя 2009
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    Пользователь вводит данные в форме группы справочника, после определенного алгоритма действий нужно обнулить реквезит справочника что я и делаю
    Код:
    Процедура ОтчиститьДни()  
    СпрЛС = СоздатьОбъект("Справочник.дмфЛицевойСчет");
    СпрЛС.ВыбратьЭлементы();
    Пока СпрЛС.ПолучитьЭлемент() = 1 Цикл  
    Если (СпрЛС.ЭтоГруппа() = 1) или (СпрЛС.ПометкаУдаления() = 1) Тогда
    Продолжить;
    КонецЕсли;	
    
    Если СпрЛС.Уровень() >2 Тогда
    Родитель33=(СпрЛС.Родитель);  
    КонецЕсли;	
    
    Если ПустоеЗначение(Родитель33.Дни)=1 Тогда
    Продолжить;		
    КонецЕсли;  
    
    
    Сообщить("Родитель1--"+СпрЛС.Родитель.Дни);
    
    СпрЛС.Родитель.Дни=0;
    
    //	//СпрЛС.Записать();	
    Сообщить("Родитель2--"+СпрЛС.Родитель.Дни);
    
    КонецЦикла;
    КонецПроцедуры //ОтчиститьДни()
    
    до обнуления и после результат 1 и тотже
    как быть?
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Если выкладываете код - не забывайте про тэги. Уважайте коллег и себя.

    Код:
    Процедура ОтчиститьДни()
    СпрЛС = СоздатьОбъект("Справочник.дмфЛицевойСчет");
    СпрРод = СоздатьОбъект("Справочник.дмфЛицевойСчет");//понадобится
    СпрЛС.ВыбратьЭлементы();
    Пока СпрЛС.ПолучитьЭлемент() = 1 Цикл
    Если (СпрЛС.ЭтоГруппа() = 1) или (СпрЛС.ПометкаУдаления() = 1) Тогда
    Продолжить;
    КонецЕсли;
    Если СпрЛС.Уровень() >2 Тогда
    Родитель33=(СпрЛС.Родитель);
    Иначе
    Продолжить; //дальше делать нечего
    КонецЕсли;
    Если ПустоеЗначение(Родитель33.Дни)=1 Тогда
    Продолжить;
    КонецЕсли;
    
    Сообщить("Родитель1--"+СпрЛС.Родитель.Дни);
    СпрРод.НайтиЭлемент(СпрЛС.Родитель);
    СпрРод.Дни=0;
    СпрРод.Записать();
    Сообщить("Родитель2--"+СпрРод.Дни);
    КонецЦикла;
    КонецПроцедуры //ОтчиститьДни()
  3. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Как-то странно вы данные родителя через текущий элемент изменяете. И где запись родителя?

    [CODE1C]Процедура ОтчиститьДни()
    СпрЛС = СоздатьОбъект("Справочник.дмфЛицевойСчет");
    СпрРодитель = СоздатьОбъект("Справочник.дмфЛицевойСчет");
    СпрЛС.ВыбратьЭлементы();
    Пока СпрЛС.ПолучитьЭлемент() = 1 Цикл
    Если (СпрЛС.ЭтоГруппа() = 1) или (СпрЛС.ПометкаУдаления() = 1) Тогда
    Продолжить;
    КонецЕсли;

    Если СпрЛС.Уровень() >2 Тогда
    Родитель33=(СпрЛС.Родитель);
    КонецЕсли;

    Если ПустоеЗначение(Родитель33.Дни)=1 Тогда
    Продолжить;
    КонецЕсли;


    Сообщить("Родитель1--"+СпрЛС.Родитель.Дни);

    СпрРодитель.НайтиЭлемент(СпрЛС.Родитель);
    Если СпрРодитель.Выбран() = 1 Тогда
    СпрРодитель.Дни = 0;
    СпрРодитель.Записать();
    КонецЕсли;

    // //СпрЛС.Записать();
    Сообщить("Родитель2--"+СпрЛС.Родитель.Дни);

    КонецЦикла;
    КонецПроцедуры //ОтчиститьДни()[/CODE1C]

    P.S. Бухгалтерский угодник опередил. :)
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    думаю условие лишнее... Выше проверка на принадлежность не первого уровня....
  5. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Ага. Согласен. Привычка скорее сработала. :D
  6. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

    Регистрация:
    18 ноя 2009
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    А если Реквезит "Дни" своиства для обоих тогда так.?
    Код:
    СпрЛС = СоздатьОбъект("Справочник.дмфЛицевойСчет");
    СпрРод = СоздатьОбъект("Справочник.дмфЛицевойСчет");
    СпрЛС.ВыбратьЭлементы();
    Пока СпрЛС.ПолучитьЭлемент() = 1 Цикл  
    Если (СпрЛС.ЭтоГруппа() = 1) или (СпрЛС.ПометкаУдаления() = 1) Тогда
    Продолжить;
    КонецЕсли;	
    
    Если СпрЛС.Уровень() >2 Тогда
    Родитель33=(СпрЛС.Родитель);  
    КонецЕсли;	
    
    Если ПустоеЗначение(Родитель33.Дни)=1 Тогда  
    Продолжить;		
    КонецЕсли;  
    
    Если ПустоеЗначение(СпрЛС.Дни)=1 Тогда
    Продолжить;		
    КонецЕсли;	
    
    
    СпрРод.НайтиЭлемент(СпрЛС.Родитель);
    СпрРод.Дни=0;	
    СпрЛС.Дни=0;	
    СпрЛС.Записать();
    СпрРод.Записать();
    
    
    КонецЦикла;
    
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Делаю вам последнее предупреждение. Не будите пользоваться тегами - получите бан.
    Код:
    СпрЛС = СоздатьОбъект("Справочник.дмфЛицевойСчет");
    СпрРод = СоздатьОбъект("Справочник.дмфЛицевойСчет");
    СпрЛС.ВыбратьЭлементы();
    Пока СпрЛС.ПолучитьЭлемент() = 1 Цикл
    Если (СпрЛС.ЭтоГруппа() = 1) или (СпрЛС.ПометкаУдаления() = 1) Тогда
    Продолжить;
    КонецЕсли;
    Если СпрЛС.Уровень() >2 Тогда
    Родитель33=(СпрЛС.Родитель);
    КонецЕсли;
    СпрРод.НайтиЭлемент(СпрЛС.Родитель);
    Если СпрРод.Дни<>0 Тогда;
    СпрРод.Дни=0;
    СпрРод.Записать();
    КонецЕсли;
    Если СпрЛС.Дни<>0 Тогда;
    СпрЛС.Дни=0;
    СпрЛС.Записать();
    КонецЕсли;
    
    КонецЦикла; 
  8. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

    Регистрация:
    18 ноя 2009
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    блин а как ими пользоватся?
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104

    Вложения:

    • 99.JPG
      99.JPG
      Размер файла:
      31,3 КБ
      Просмотров:
      19

Поделиться этой страницей