8.х Как добавить колонки в подбор

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Dmitrij, 13 янв 2009.

  1. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    Мне нужно изменить форму подбора: добавить и изменить некоторые колонки подскажите куда рыть
    добавил в саму форму колонку, а в предприятии она не отображается
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Ты имеешь ввиду при выборе подбора в документах?
  3. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    Когда в документе начинаем делать подбор в табл часть открывается обработка подбор номенклатуры мне ее надо изменить
  4. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    Там немного менять.. надо только места нарыть самому.. так много мест надо говорить)).. я реализовывал..т.е. ты добавляешь колонку типа рядом с отстатком.. которая называется скажем доп.Остаток) ТАк???
  5. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Ну она же находится, вроде, в обработках-ПодборНоменклатуры. У меня есть обработочка, могу скинуть, посмотришь. Посмотреть вложение 1522
  6. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    Да, а в какой процедуре искать
  7. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    Мне нужно существующею изменить, туда пару полей добавить, а эта чем отличается, на картинке не совсем понятно?
  8. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    сейчас не помню... могу найти ссылку на конфу с изменениями .. скачаешь посмотришь!!!
    Конфа
  9. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    а там ремарки есть?
  10. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Там можно делать подбор по коду и наименованию. Например, оператор вводит код 80, отображаются все номенклатуры с кодом 80***. Так же и с наименованием, или выбрать группу товара.

    А ты не пробывал добавить в табличную часть обработки?
  11. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    У меня смысл другой, в регистр базы загружаются остатки поставщика затем когда делаем заявку поставщику в форме подбора будет отображаться наши остатки и поставщика
  12. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    С обработкой вообще не нашел отличий
  13. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Обработка ПодборНоменклатуры.
    Добавляешь реквизит ТЧ "НоменклатураДляПодбора". Размещаешь в табличном поле.
    Правишь запрос, который тебе нужно. Вытягиваешь значение необходимого показателя, псевдоним показателя из запроса совпадает с именем реквизита.
    Процедуры формирования текстов запросов находятся в модуле обработки. Не знаешь, какая процедура формирует "Твой запрос" - пробегись отладчиком, например, начиная с события при изменении вида подбора.
  14. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    Спасибо попробую
  15. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    Смотри комменты //tirk
  16. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    Уже запарился с этой обработкой не могу найти то что нужно, помогите мне нужно в подборе поле код заменить на код организации (на другой код который есть только у элементов) подскажите в какой процедуре менять у меня получилось только в поиске изменить.
  17. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    лови ищи tirk

    Вложения:

  18. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    Это из конфы которая выложена выше?
  19. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    Переделал запрос
    Код:
    ТекстЗапроса = "
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |	ТоварыНаСкладах.Номенклатура                                КАК Номенклатура,
    |	СУММА(  ЕСТЬNULL(ТоварыНаСкладах.КоличествоОстаток, 0.00)
    |	      - ЕСТЬNULL(ТоварыВРезервеНаСкладах.КоличествоОстаток, 0.00)
    |	      - ЕСТЬNULL(ТоварыКПередачеСоСкладов.КоличествоОстаток, 0.00)
    |	      " + ?(СтруктураЗаказов = Неопределено,"","+ ЕСТЬNULL(ТоварыВРезерве.КоличествоОстаток, 0.00)") + "
    |	)                                                           КАК КоличествоСвободныйОстаток,
    |	СУММА(ЕСТЬNULL(ОстаткиОрганизации.КоличествоОстаток, 0.00)) КАК КоличествоОстатокОрганизации,
    //---------Добавил --------------------------------------------------------------------
    |	ОстаткиПоставщика.Минимум КАК Минимум,
    | 	ОстаткиПоставщика.Остаток КАК ОстатокПоставщика
    |ИЗ
    |	РегистрСведений.ОстаткиПоставщика КАК ОстаткиПоставщика,
    //------------------------------------------------------------------------------------------------------------------
    |	(ВЫБРАТЬ
    |		ОбщиеОстатки.Номенклатура               КАК Номенклатура,
    |		ОбщиеОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |		ОбщиеОстатки.Качество                   КАК Качество,
    |		СУММА(ОбщиеОстатки.КоличествоОстаток)   КАК КоличествоОстаток
    |	ИЗ
    |		(";
    ТекстЗапроса = ТекстЗапроса + ПолучитьСтрокуЗапросаСвободныеОстатки(Новый Структура("ТоварыНаСкладах,ТоварыВРознице,ТоварыОрганизаций,ТоварыВНТТ"), ТекстУсловияКачества, Истина);
    ТекстЗапроса = ТекстЗапроса + "
    |		) КАК ОбщиеОстатки
    |
    |	СГРУППИРОВАТЬ ПО
    |		ОбщиеОстатки.Номенклатура, ОбщиеОстатки.ХарактеристикаНоменклатуры, ОбщиеОстатки.Качество
    |	) КАК ТоварыНаСкладах
    |
    |ЛЕВОЕ СОЕДИНЕНИЕ
    |	РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Дата, " + мУсловиеНоменклатураСклад + ") КАК ТоварыВРезервеНаСкладах
    |ПО
    |	ТоварыВРезервеНаСкладах.Номенклатура = ТоварыНаСкладах.Номенклатура
    |	И ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
    |	И ТоварыНаСкладах.Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)";
    Если НЕ СтруктураЗаказов = Неопределено Тогда
    Если ЗаказИзШапки Тогда
    Если ВидРегистраПлюсСвободныйОстаток = "ТоварыВРезервеНаСкладах" Тогда
    ТекстЗапроса = ТекстЗапроса +"
    |ЛЕВОЕ СОЕДИНЕНИЕ
    |	РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Дата, " + мУсловиеНоменклатураСклад + " И ДокументРезерва = &ДокументРезерва) КАК ТоварыВРезерве
    |ПО
    |	ТоварыВРезерве.Номенклатура = ТоварыНаСкладах.Номенклатура
    |	И ТоварыВРезерве.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
    |	И ТоварыНаСкладах.Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)";
    ИначеЕсли ВидРегистраПлюсСвободныйОстаток = "ТоварыКПередачеСоСкладов" Тогда
    ТекстЗапроса = ТекстЗапроса +"
    |ЛЕВОЕ СОЕДИНЕНИЕ
    |	РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&Дата, " + мУсловиеНоменклатураСклад + " И ДокументПередачи = &ДокументРезерва) КАК ТоварыВРезерве
    |ПО ТоварыВРезерве.Номенклатура = ТоварыНаСкладах.Номенклатура
    |	И ТоварыВРезерве.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
    |	И ТоварыВРезерве.Качество = ТоварыНаСкладах.Качество";
    КонецЕсли;
    Иначе
    //временная таблица товаров в резерве
    Запрос.Текст = "
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |	ТоварыВРезервеНаСкладах.Номенклатура               КАК Номенклатура,
    |	ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |	СУММА(ТоварыВРезервеНаСкладах.КоличествоОстаток)   КАК КоличествоОстаток
    |ПОМЕСТИТЬ ТоварыВРезерве
    |ИЗ
    |	РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Дата, " + мУсловиеНоменклатураСклад + ") КАК ТоварыВРезервеНаСкладах
    |ЛЕВОЕ СОЕДИНЕНИЕ
    //
    |	ЗаказыТаблицаНоменклатура КАК ЗаказаноПоДокументуЗаказ
    //
    |ПО
    |	ЗаказаноПоДокументуЗаказ.Номенклатура = ТоварыВРезервеНаСкладах.Номенклатура
    |	И ЗаказаноПоДокументуЗаказ.ХарактеристикаНоменклатуры = ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры
    |	И ЗаказаноПоДокументуЗаказ.ДокументРезерва = ТоварыВРезервеНаСкладах.ДокументРезерва
    |ГДЕ
    |	НЕ ЗаказаноПоДокументуЗаказ.ДокументРезерва ЕСТЬ NULL
    |	ИЛИ ТоварыВРезервеНаСкладах.ДокументРезерва = &ДокументРезерва
    |СГРУППИРОВАТЬ ПО ТоварыВРезервеНаСкладах.Номенклатура, ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры
    |ИНДЕКСИРОВАТЬ ПО ТоварыВРезервеНаСкладах.Номенклатура, ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры
    |";
    Запрос.Выполнить();
    ТекстЗапроса = ТекстЗапроса +"
    |ЛЕВОЕ СОЕДИНЕНИЕ
    |	ТоварыВРезерве КАК ТоварыВРезерве
    |ПО
    |	ТоварыВРезерве.Номенклатура = ТоварыНаСкладах.Номенклатура
    |	И ТоварыВРезерве.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
    |	И ТоварыНаСкладах.Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)";			
    КонецЕсли;
    КонецЕсли;
    ТекстЗапроса = ТекстЗапроса +"
    |ЛЕВОЕ СОЕДИНЕНИЕ
    |	РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&Дата, " + мУсловиеНоменклатураСклад + ТекстУсловияКачества + ") КАК ТоварыКПередачеСоСкладов
    |ПО
    |	ТоварыКПередачеСоСкладов.Номенклатура = ТоварыНаСкладах.Номенклатура
    |	И ТоварыКПередачеСоСкладов.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
    |	И ТоварыКПередачеСоСкладов.Качество = ТоварыНаСкладах.Качество
    |	
    |ЛЕВОЕ СОЕДИНЕНИЕ
    |	РегистрНакопления.ТоварыОрганизаций.Остатки(&Дата, " + мУсловиеНоменклатураСкладОрганизация + ТекстУсловияКачества + ") КАК ОстаткиОрганизации
    |ПО
    |	ОстаткиОрганизации.Номенклатура = ТоварыНаСкладах.Номенклатура
    |	И ОстаткиОрганизации.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
    |	И ОстаткиОрганизации.Качество = ТоварыНаСкладах.Качество
    |
    |СГРУППИРОВАТЬ ПО
    |	ТоварыНаСкладах.Номенклатура
    |";
    Запрос.Текст = ТекстЗапроса;
    
    РезультатЗапроса = Запрос.Выполнить();
    
    Есть ошибка
    {Обработка.ПодборНоменклатурыПоставщика.Форма.ОсновнаяФорма(2097)}: Ошибка при вызове метода контекста (Выполнить): {(10, 2)}: Поле не входит в группу "ОстаткиПоставщика.Минимум"
    <<?>>ОстаткиПоставщика.Минимум КАК Минимум,
    РезультатЗапроса = Запрос.Выполнить();
    В какую группу? Где ее найти?
  20. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Код:
    "//---------Добавил --------------------------------------------------------------------
    |	ОстаткиПоставщика.Минимум КАК Минимум,
    | 	ОстаткиПоставщика.Остаток КАК ОстатокПоставщика
    |ИЗ
    |	РегистрСведений.ОстаткиПоставщика КАК ОстаткиПоставщика,"
    
    Видимо, в РС нет такого поля.

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