7.7 Нужна помощь "Форма списка"

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем geba, 26 фев 2010.

  1. TopicStarter Overlay
    geba
    Offline

    geba

    Регистрация:
    27 авг 2009
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    Что я делаю не так, хочу объеденить три реквизита в одну колонку как это сделать помогите ???!!!

    Посмотреть вложение 3432
    Код:
     Процедура ПриОткрытии()
    Перем КатегорииЦен,ТекТипЦены;
    
    Форма.кПравоваяПоддержка.Видимость(глВидимостьПравовойПоддержки);
    
    // восстановим значение последненго использованного типа цены
    ТекТипЦены = глВосстановитьЗначение(ИмяФормы, "ТипЦеныКаталога", "");
    // заполним список ТипыЦен
    КатегорииЦен = СоздатьОбъект("Справочник.КатегорииЦен");
    КатегорииЦен.ВыбратьЭлементы();
    Пока КатегорииЦен.ПолучитьЭлемент() = 1 Цикл
    Если КатегорииЦен.ПометкаУдаления() = 1 Тогда
    // пропускаем помеченнные на удаление
    Продолжить;
    КонецЕсли;
    ТипыЦен.ДобавитьЗначение(КатегорииЦен.ТекущийЭлемент());
    КонецЦикла;
    
    // первая в списке цена и будет ценой по умолчанию
    Если ТипыЦен.РазмерСписка() > 0 Тогда
    // проверим, а вдруг удалили все категории цен
    Поз = ТипыЦен.НайтиЗначение(ТекТипЦены);
    Если Поз > 0 Тогда
    // если тип цены был сохранен, то установим
    // список в сохраненную позицию
    ТипЦены = ТипыЦен.ТекущаяСтрока(Поз);
    КонецЕсли;
    ИзмТипыЦен();
    КонецЕсли; 
    // Попытка объеденить
    
    Если ТекущийЭлемент().ДлинаЯщика>0 Тогда
    ВнРозмер = СокрЛП(ТекущийЭлемент().ДлинаЯщика) +"х"+ СокрЛП(ТекущийЭлемент().ШиринаЯщика) +"х"+ СокрЛП(ТекущийЭлемент().ВысотаЯщика);
    ИначеЕсли ТекущийЭлемент().ДлинаЯщика=0 Тогда
    ВнРозмер = СокрЛП(ТекущийЭлемент().ДлинаЗаготовки) +"х"+ СокрЛП(ТекущийЭлемент().ШиринаЗаготовки);	
    КонецЕсли; 
    
    КонецПроцедуры  
    

    Вложения:

    • Табл.JPG
      Табл.JPG
      Размер файла:
      134,7 КБ
      Просмотров:
      45
  2. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    колонка ВнРозмер это реквизит справочника или текст?
    И что значит "объединить" - вывести все в одной колонке?
  3. TopicStarter Overlay
    geba
    Offline

    geba

    Регистрация:
    27 авг 2009
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    Колонка ВнРозмер это реквизит. С текстовой колонкой все понятно там через функцию
    Код:
    Функция ЗаполнитьВРазмеры()      
    Если ТекущийЭлемент().ЭтоГруппа() = 0 Тогда
    Если (ТекущийЭлемент().ДлинаЯщика >0) Тогда
    Возврат СокрЛП(ДлинаЯщика)+"х"+СокрЛП(ШиринаЯщика)+"х"+СокрЛП(ВысотаЯщика);
    ИначеЕсли (ТекущийЭлемент().ДлинаЯщика = 0) Тогда
    Возврат СокрЛП(ДлинаЗаготовки) +"х"+ СокрЛП(ШиринаЗаготовки);		   
    КонецЕсли;	
    КонецЕсли;  
    
    КонецФункции 
    
    Но мне нужно чтоб потом можно было отсортировать по етой колонке
  4. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    ну ты сам же и ответил на свой вопрос, почему у тебя в этом реквизите должно чтото отображаться если ты ничего не записал? заполни свой справочник а потом уже сортируй..) сначлаа обработкой все эелементы, а потом уже при создании нового заполняй в предопределенной проц ПриЗаписи()
  5. TopicStarter Overlay
    geba
    Offline

    geba

    Регистрация:
    27 авг 2009
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    Номенклатура уже заполнина уже 1000 записей и каждую изминять в ручную или пересохранять неохота. :unsure:
    Посмотреть вложение 3463 текстовая колонка это через функцию но по етой колонке не сортирует


    Посмотреть вложение 3464 это колонка ВнРозмер это реквизит справочника как заставить заполниться ее.

    Р.S. если задаю тупые вопросы извините, 1С програмированием начал заниматься недавно, пока только учюсь

    Вложения:

    • 1.JPG
      1.JPG
      Размер файла:
      257,6 КБ
      Просмотров:
      19
    • 2.JPG
      2.JPG
      Размер файла:
      175,8 КБ
      Просмотров:
      12
  6. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Напиши обработку которая пробежит по элементам справочника и проставит нужный реквизит. Дел на 5 минут вместе с выполнением обработки
  7. TopicStarter Overlay
    geba
    Offline

    geba

    Регистрация:
    27 авг 2009
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    Вот то что нужно одна проблема как ее написать :unsure: подскажите пожалуста хоть примерчик какойто???
  8. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вот тебе пример
    Код:
    НачатьТранзакцию();
    Спр=СоздатьОбъект("Справочник.НужныйСправочник");
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент()=1 Цикл
    Если Спр.ЭтоГруппа()=1 Тогда
    Продолжить;
    КонецЕсли;
    Если (Спр.ДлинаЯщика >0) Тогда
    Спр.ВнРозмер=СокрЛП(Спр.ДлинаЯщика)+"х"+СокрЛП(Спр.ШиринаЯщика)+"х"+СокрЛП(Спр.ВысотаЯщика); 
    Иначе
    Спр.ВнРозмер=СокрЛП(Спр.ДлинаЗаготовки) +"х"+ СокрЛП(Спр.ШиринаЗаготовки);             
    КонецЕсли;    
    Спр.Записать();
    КонецЦикла;
    ЗафиксироватьТранзакцию();
    
    
    
    
  9. TopicStarter Overlay
    geba
    Offline

    geba

    Регистрация:
    27 авг 2009
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    Огромное, Огромное спасибо!!! Все работает супер!!! :unsure:

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