Имя: Пароль:
1C
1С v8
Запуск формы списка номенклатуры при старте 1С УТ + сохранение корректировок на этой форме
0 Тессеракт
 
03.11.20
13:44
Добрый день!
1С 8.3.13.1644
УТ 11.4.5.41

Мне необходимо вывести список номенклатуры, остатки по которой > 0 на определенном складе.
Сделал 1) в виде ТЗ(этот вариант черновой)
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
        |    ТоварыНаСкладахОстатки.Номенклатура.Артикул КАК Артикул
        |ИЗ
        |    РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, ) КАК ТоварыНаСкладахОстатки
        |ГДЕ
        |    ТоварыНаСкладахОстатки.Склад = &Склад
        |    И ТоварыНаСкладахОстатки.ВНаличииОстаток > 0
        |
        |УПОРЯДОЧИТЬ ПО
        |    ТоварыНаСкладахОстатки.Номенклатура.Наименование";
    Запрос.УстановитьПараметр("Период", ТекущаяДатаСеанса());
    Запрос.УстановитьПараметр("Склад", Справочники.Склады.НайтиПоНаименованию("Оптовый"));
    ТЗ.Загрузить( Запрос.Выполнить().Выгрузить() );
КонецПроцедуры
2) в виде динамического списка(ДС).
в ДС указал произвольный запрос :
ВЫБРАТЬ
    Номенклатура1.Ссылка КАК Номенклатура,
    Номенклатура1.Артикул КАК Артикул,
    ВЫБОР
        КОГДА Номенклатура1.ВесЗнаменатель <> 0
            ТОГДА Номенклатура1.ВесЧислитель / Номенклатура1.ВесЗнаменатель
    КОНЕЦ КАК Вес,
    Номенклатура1.ак_Длина КАК Длина,
    Номенклатура1.ак_Ширина КАК Ширина,
    Номенклатура1.ак_Высота КАК Высота,
    Номенклатура1.ак_ВесУпаковки КАК ВесУпаковки,
    Номенклатура1.ак_КоличествоШтукВУпаковке КАК КоличествоШтукВУпаковке,
    Номенклатура1.ВесИспользовать КАК ГалкаИспользоватьВес,
    Номенклатура1.ак_Штрихкод КАК Штрихкод
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, ) КАК ТоварыНаСкладахОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура1
        ПО (Номенклатура1.Ссылка = ТоварыНаСкладахОстатки.Номенклатура.Ссылка)
ГДЕ
    ТоварыНаСкладахОстатки.Склад = &Склад
    И ТоварыНаСкладахОстатки.ВНаличииОстаток > 0
    И (ВЫБОР
                КОГДА Номенклатура1.ВесЗнаменатель <> 0
                    ТОГДА Номенклатура1.ВесЧислитель / Номенклатура1.ВесЗнаменатель
            КОНЕЦ ЕСТЬ NULL
            ИЛИ ВЫБОР
                КОГДА Номенклатура1.ВесЗнаменатель <> 0
                    ТОГДА Номенклатура1.ВесЧислитель / Номенклатура1.ВесЗнаменатель
            КОНЕЦ = 0
            ИЛИ Номенклатура1.ак_Длина ЕСТЬ NULL
            ИЛИ Номенклатура1.ак_Длина = 0
            ИЛИ Номенклатура1.ак_Ширина ЕСТЬ NULL
            ИЛИ Номенклатура1.ак_Ширина = 0
            ИЛИ Номенклатура1.ак_Высота ЕСТЬ NULL
            ИЛИ Номенклатура1.ак_Высота = 0
            ИЛИ Номенклатура1.ак_ВесУпаковки ЕСТЬ NULL
            ИЛИ Номенклатура1.ак_ВесУпаковки = 0
            ИЛИ Номенклатура1.ак_КоличествоШтукВУпаковке ЕСТЬ NULL
            ИЛИ Номенклатура1.ак_КоличествоШтукВУпаковке = 0
            ИЛИ Номенклатура1.ВесИспользовать = ЛОЖЬ)
    И Номенклатура1.ПометкаУдаления = ЛОЖЬ
    И Номенклатура1.Ссылка В ИЕРАРХИИ(&Косметика)

в параметрах указал склад, папку "Косметика" и ТекДату.
Добавил обработку в конфу, в общем модуле "СтандартныеПодсистемыКлиент" в процедуре ПриНачалеРаботыСистемы() прописал вызов формы из этой обработки:
    ПоказатьОповещениеПользователя("Необходимо заполнить габариты по номенклатурам!",,,БиблиотекаКартинок.ВажностьНовостиВажная,СтатусОповещенияПользователя.Важное);
    ОткрытьФорму("Обработка.ГабаритыДляМенеджеровСклада.Форма");

Далее прилетело новое ТЗ. Необходимо, чтобы можно было в этот список не открывая карточки номенклатуры забивать данные для длины, ширины, высоты и тд. и чтобы при этом все сохранялось в карточке номенклатуры.
На этом моменте я забуксовал и прошу помочь)
1 Тессеракт
 
06.11.20
11:54
Всем спасибо за многочисленные и развернутые ответы- допер сам