как скрыть нулевые остатки

Тема в разделе "1C и всё что с ней связано", создана пользователем zxcZXC, 17 окт 2008.

  1. zxcZXC

    zxcZXC Гость

    я обсолютный новичок в этом, столкнулся с проблеммой.как скрыть нулевые остатки в списке номенклатуре например при установке галочки.пробывал в модуле формирования строчки сделать перебор, но что-то вообще никаких результатов.никакой реакции не произошло.если можно, приведите пример.заранее благодарен.
     
  2. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    А поподробнее ? Уж не говорю о платформе, конфигурации и пр.
    Где скрыть ? В документе, в справочнике ? В какой ситуации ? Что за "формирование строчки"?
     
  3. zxcZXC

    zxcZXC Гость

    в торговле и склад.тут стандартная конфигурация стоит, почти никем не измененная.при подборе номенклатуры.создал обьект, переключатель, типо включен-скрыть нулевые остатки, выключен-показать все.в самом модуле формирования окна справочника, нашел процедуру формирования строки, и пробывал там втавить условие отбора(скрыть-показать номенклатуру с остатком 0).только формируется как обычно с нулевыми тожеюкак ни пробывал.
    зы мне нужно, чтобы в номенклатуре при подборе можно было скрыть пустые позиции, чтобы не искать в давно проданном, чтобы удобнее воще понятно надеюсь...
     
  4. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    еслибудешь отбирать по ненулевым остаткамв форме справочника - полетит иерархия. проще сделать отдельную закладку - и на ней в неиерархическом виде отобразить товары с ненулевыми остатками.илисделай обработку в которой в ТЗ передаются все ненулевые остатки.
     
  5. zxcZXC

    zxcZXC Гость

    можно немного подробнее, я даже не пойму что за ТЗ.я вроде так и делал.я получал остаток, если ноль, то следующая, если не ноль, то сформировать строку по шаблону...
    а какая разница?я просто не пойму как вообще осуществить этот перебор.где лучше вставить этот перебор?как его реализовать.в других конторах видел, там была галочка"скрыть нулевые остатки"очень удобно, а тут нету на новой работе, вот мне поручили разобраться.что-то не могу догнать всей сути...может кто делал такое, подскажет как это реализовывали?очень прошу...
     
  6. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    в 7.7 делаешь обработку в форме которой делаешь таблицу значений с именем ТЗ.

    Процедура ПриОткрытии()
    Рег = СоздатьОбъект("Регистр.ОстаткиТоваров");//ну или как он там
    Рег.ВременныйРассчет(1);//еСЛИ фильтр какой нужен - добавляешь
    РассчитатьРегистрыНа(ДатаДок); // ну иликакая тебе дата нужна
    Рег.выгрузитьИтоги(ТЗ);
    КонецПроцедуры



    а потом уже на тз вешаешь формулы - что в документ вставлять.

    в восьмерке не подскажу - пока не работал.
     
  7. zxcZXC

    zxcZXC Гость

    спасибо.сложно.буду пробывать...
     
  8. Sykoku

    Sykoku New Member

    Регистрация:
    27 авг 2009
    Сообщения:
    1
    Симпатии:
    0
    Для справочника, режим Каталог
    Добавляем в Диалоге флажок "Вналичии" + Константу ПрятатьТМЦ (Перечисление.ДаНет)


    Процедура СменаРежима();
    Если Вналичии=1 Тогда

    СписокТоваров = СоздатьОбъект("СписокЗначений");

    Запр = СоздатьОбъект("Запрос");
    ТекстЗапр = "
    |Фир = Регистр.Остатки.Фирма;
    |Скл = Регистр.Остатки.Склад;
    |ТМЦ = Регистр.Остатки.ТМЦ;
    |Кво = Регистр.Остатки.Кво;
    |Функция ККво = КонОст(Кво);
    |Условие (Скл в ВыбСклад);
    // |Условие (ККво <> 0);
    |Группировка Скл;
    |Группировка ТМЦ Упорядочить по ТМЦ.Код;";

    Если Запр.Выполнить(ТекстЗапр)=0 Тогда
    Возврат;
    КонецЕсли;

    Пока Запр.Группировка("Скл")=1 Цикл
    Пока Запр.Группировка("ТМЦ")=1 Цикл
    Если Запр.ТМЦ.Выбран()=0 Тогда
    Продолжить;
    КонецЕсли;

    // сообщить(С_нулями + " " + Без_минусов + " " + Запр.ККво + " " + ВнешРезерв(Запр.ТМЦ, Запр.Скл) );

    Если (Число(Запр.ККво) > 0) Тогда
    СписокТоваров.ДобавитьЗначение(Запр.ТМЦ);
    КонецЕсли;

    КонецЦикла;
    КонецЦикла;

    ИспользоватьСписокЭлементов(списокТоваров);
    Иначе
    ИспользоватьСписокЭлементов();

    КонецЕсли;


    // УстановитьОтбор("Ост",0);


    КонецПроцедуры


    Процедура ПриОткрытии();

    Если Константа.ПрятатьТМЦ=перечисление.ДаНет.Да Тогда
    Вналичии=1;
    СменаРежима();
    Иначе
    Вналичии=0;
    Форма.Вналичии.Доступность(0);
    КонецЕсли;

    КонецПроцедуры

    // {Sykoku}

    Для справочника, режим Каталог
    Добавляем в Диалоге флажок "Вналичии" + Константу ПрятатьТМЦ (Перечисление.ДаНет)


    Процедура СменаРежима();
    Если Вналичии=1 Тогда

    СписокТоваров = СоздатьОбъект("СписокЗначений");

    Запр = СоздатьОбъект("Запрос");
    ТекстЗапр = "
    |Фир = Регистр.Остатки.Фирма;
    |Скл = Регистр.Остатки.Склад;
    |ТМЦ = Регистр.Остатки.ТМЦ;
    |Кво = Регистр.Остатки.Кво;
    |Функция ККво = КонОст(Кво);
    |Условие (Скл в ВыбСклад);
    // |Условие (ККво <> 0);
    |Группировка Скл;
    |Группировка ТМЦ Упорядочить по ТМЦ.Код;";

    Если Запр.Выполнить(ТекстЗапр)=0 Тогда
    Возврат;
    КонецЕсли;

    Пока Запр.Группировка("Скл")=1 Цикл
    Пока Запр.Группировка("ТМЦ")=1 Цикл
    Если Запр.ТМЦ.Выбран()=0 Тогда
    Продолжить;
    КонецЕсли;

    // сообщить(С_нулями + " " + Без_минусов + " " + Запр.ККво + " " + ВнешРезерв(Запр.ТМЦ, Запр.Скл) );

    Если (Число(Запр.ККво) > 0) Тогда
    СписокТоваров.ДобавитьЗначение(Запр.ТМЦ);
    КонецЕсли;

    КонецЦикла;
    КонецЦикла;

    ИспользоватьСписокЭлементов(списокТоваров);
    Иначе
    ИспользоватьСписокЭлементов();

    КонецЕсли;


    // УстановитьОтбор("Ост",0);


    КонецПроцедуры


    Процедура ПриОткрытии();

    Если Константа.ПрятатьТМЦ=перечисление.ДаНет.Да Тогда
    Вналичии=1;
    СменаРежима();
    Иначе
    Вналичии=0;
    Форма.Вналичии.Доступность(0);
    КонецЕсли;

    КонецПроцедуры

    // {Sykoku}
     
Загрузка...

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