Имя: Пароль:
1C
1С v8
Добавление колонки в обработку подбора номенклатуры
0 Валидатор
 
14.11.13
16:56
1с 8.1 Ут 10.3 конфа
Нужно добавить колонку остаток в форму подбора номенклатуры, тут и встает проблема, а именно, колонка не выводится, что делаю:
1. В Общий модуль управление запасами добавил строку:
Функция СоздатьКолонкиДереваОстатков(ТаблицаПоиска = Неопределено, ВсеТипыЦен = Ложь) Экспорт
    
    ДеревоОстатков = Новый ДеревоЗначений;
    
    МассивБазовыхТиповЦен   = Новый Массив;
    МассивРассчитываемыхЦен = Новый Массив;
    СформироватьМассивБазовыхТиповЦен(ТаблицаПоиска, МассивБазовыхТиповЦен, МассивРассчитываемыхЦен, ВсеТипыЦен);

    ДеревоОстатков.Колонки.Добавить("ХарактеристикаСклад", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры,СправочникСсылка.Склады"));
    ДеревоОстатков.Колонки.Добавить("МестоХранения"      , Новый ОписаниеТипов("Строка"));
    ДеревоОстатков.Колонки.Добавить("Общий"              , Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,3)));
    ДеревоОстатков.Колонки.Добавить("Свободный"          , Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,3)));
    ДеревоОстатков.Колонки.Добавить("СвободныйОжидаемый" , Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,3)));
    ДеревоОстатков.Колонки.Добавить("ВРезерве"           , Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,3)));
    //  14.11.2013
    ДеревоОстатков.Колонки.Добавить("ттОстатокПодбора"   , Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,3)));
    //  14.11.2013
2. дорбавил вывод строки в процедуру
Процедура ЗаполнитьПоляОстатков(СтрокаДерева, Выборка)
    
    СтрокаДерева.Общий               = Выборка.КоличествоОстаток;
    СтрокаДерева.Свободный           = Выборка.КоличествоСвободныйОстаток;
    СтрокаДерева.СвободныйОжидаемый  = ?(Выборка.КоличествоСвободныйОстатокВЗаказахПоставщикам > 0,Выборка.КоличествоСвободныйОстатокВЗаказахПоставщикам,СтрокаДерева.СвободныйОжидаемый);
    СтрокаДерева.ВРезерве            = Выборка.КоличествоВРезерве;
    //  14.11.2013
    СтрокаДерева.ттОстатокПодбора    = Выборка.ттОстатокПодбора;
    //  14.11.2013

Теперь по идеи колокна должна выводится, дальше я должен задать, что выводить, иду в модуль формы подборы в процедуру
Процедура СправочникНоменклатураПриПолученииДанных(Элемент, ОформленияСтрок)
в начале первого запроса добавляю строку в которой происходит формирование данных моей колонки:
ТекстЗапроса = "
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ТоварыНаСкладах.Номенклатура                                КАК Номенклатура,
    |    СУММА(  ЕСТЬNULL(ТоварыНаСкладах.КоличествоОстаток, 0.00)
    |          - ЕСТЬNULL(ТоварыВРезервеНаСкладах.КоличествоОстаток, 0.00)
    |          - ЕСТЬNULL(ТоварыКПередачеСоСкладов.КоличествоОстаток, 0.00)
    |          " + ?(СтруктураЗаказов = Неопределено,"","+ ЕСТЬNULL(ТоварыВРезерве.КоличествоОстаток, 0.00)") + "
    |    )                                                           КАК КоличествоСвободныйОстаток,
    |    СУММА(ЕСТЬNULL(ОстаткиОрганизации.КоличествоОстаток, 0.00)) КАК КоличествоОстатокОрганизации,
    //  14.11.2013
    |   СУММА(ТоварыВРезервеНаСкладах.КоличествоОстаток + ТоварыКПередачеСоСкладов.КоличествоОстаток) КАК ттОстатокПодбора
    //  14.11.2013

После выполнения запроса происходит обход строк:
Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл
        
        НайденнаяСтрока = ТаблицаОстатков.Найти(ОформлениеСтроки.ДанныеСтроки.Ссылка, "Номенклатура");
        Если НайденнаяСтрока <> Неопределено Тогда
            
            ОформлениеСтроки.Ячейки.СвободныйОстаток.УстановитьТекст(Формат(НайденнаяСтрока.КоличествоСвободныйОстаток,"ЧО="));
            ОформлениеСтроки.Ячейки.ОстатокОрганизации.УстановитьТекст(Формат(НайденнаяСтрока.КоличествоОстатокОрганизации,"ЧО="));
            ОформлениеСтроки.Ячейки.ОстатокОрганизации.УстановитьТекст(Формат(НайденнаяСтрока.ттОстатокПодбора,"ЧО="));
где я в последней строке так же добавляю свою строку

На форму обработки в ТЧ где номенклатура я соответственно тоже добавил колонку, в итоге при открытии подбора в режиме предприятия я добавленной колонки не вижу, где ошибся?
1 vicof
 
14.11.13
17:16
эмм. Вообще в УТ можно выбрать режим подбора - там и остатки есть и цены.
2 Валидатор
 
14.11.13
17:16
(1) нужна еще одна колонка, там есть в подборе остатки свободные, и остатки организации, а нужна еще одна колонка - Остатки = СвободныйОстаток + ОстатокОрганизации, вот ее то я и хочу добавить
3 Валидатор
 
14.11.13
17:17
перерыл всю форму, понял почему не отображается у меня на форме моя колонка, потому что ее нет в ЭлементыФормы.СправочникНоменклатура.Колонки, и теперь внимание, вопрос на миллион: Где СправочникНоменклатура в элементахформы? обыскал там все, не могу найти такого элемента формы на форме подбора
4 vicof
 
14.11.13
17:19
Там есть деревономенклатуры
5 vicof
 
14.11.13
17:20
и СправочникНоменклатура тоже есть. Под деревом
6 ProProg
 
14.11.13
17:21
Там несколько слоев - у каждого свой список формы.
7 Валидатор
 
14.11.13
17:22
вот как между слоями переключиться я забыл?)
8 ProProg
 
14.11.13
17:22
Вот готовое решение, если интересно.
Полностью независимый подбор со всем шо только надо и не надо.
http://subsystems.ru/catalog/33/141/
9 ProProg
 
14.11.13
17:22
(7) они перекючаются если выбирать варианто подбора.
10 mikecool
 
14.11.13
17:22
(2) мне одному кажется, что тут остатки задвоятся?
11 Валидатор
 
14.11.13
17:22
(9) ну в конфигураторе между ними тоже ведь можно переключаться
12 ProProg
 
14.11.13
17:23
(11) нет
13 ProProg
 
14.11.13
17:23
в конфигураторе заложены  обработчики события. а событие выбирает юзер.
14 Валидатор
 
14.11.13
17:24
не могу найти, где прописывается код для формаэлемента.справочникНоменклатура(
15 ProProg
 
14.11.13
17:25
аа ты в конфигураторе хоч увмдеть. в меню лезь.
16 ProProg
 
14.11.13
17:25
Форма - Список элементов управления формы
17 mikecool
 
14.11.13
17:25
(8) нашел у тебя недоделку, поправить и было бы намного удобнее
18 Валидатор
 
14.11.13
17:26
(16) эти то слои я нашел, вот где они в коде заполняются, я переходил на дерево, там как то по добавлению в него данных нет ничего
19 ProProg
 
14.11.13
17:26
(17) какую?
20 ProProg
 
14.11.13
17:27
(18) забей. в типовом подборе что то делать - с ума сойти можно.
21 mikecool
 
14.11.13
17:28
(19) про количество копий для печати
22 Валидатор
 
14.11.13
17:29
(20) мне в любом случае надо сделать вывод колонки(
23 ProProg
 
14.11.13
17:30
(21) а чо там не так? вроде все ок. Но я скоро буду переписывать. делать универсальную таблицу настроек печати. для любых форм включая внешние.
24 ProProg
 
14.11.13
17:31
(22) используй обработчик при получении данных.
25 mikecool
 
14.11.13
17:31
(23) могу подкинуть идею
26 ProProg
 
14.11.13
17:33
(25) в скайп, чтобы тут не флудить.
27 mikecool
 
14.11.13
17:34
(26) отправил запрос