Версия для печати темы (https://pro1c.org.ua/index.php?s=5507026a016a40b225147f74dc733bd5&showtopic=20393)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Ведомость товаров на складах

Автор: r1p88@mail.ru 23.10.14, 12:49

Добрый день. Подскажите пожалуйста хочу переделать немного стандартный отчёт "Ведомость товаров на складах". Суть заключается в чём. Есть Документ "Перемещение товаров". В в этом документе если встать на конкретную позицию номенклатуры и нажать F5, то соответственно формируется отчёт "Ведомость товаров на складах". НО, отчёт формируется по выделенной позиции, а мне нужно чтобы отчёт формировался по всему документу "Перемещение товаров". То есть чтобы в отчёт попали все позиции номенклатуры, которые указаны в перемещении. Не могу понять как подвязать все позиции и документа в этот отчёт. Если не трудно, подскажите что и как прописать в модуле отчёта. Заранее спасибо.

Автор: sava1 23.10.14, 13:01

Конфигурация хоть какая ?

Автор: r1p88@mail.ru 23.10.14, 13:16

Извиняюсь
Конфигурация: "Управление торговлей для Украины", редакция 2.3.

Автор: alex040269 23.10.14, 14:31

а расшифровать по регистратору?

Автор: r1p88@mail.ru 23.10.14, 14:44

Можно подробней, что вы имеете ввиду?

Автор: ignsv 23.10.14, 15:39

в УТ 2.3 демке 20-й релиз нету такого в док. "Перемещение товаров".
Уточните у Вас типовая? или код давайте как формируете отчет, с документа.
Если передаете одну позицию номенклатуры то передавайте список...

Автор: Ardi 23.10.14, 16:08

А какова себестоимость складских запасов фирмы?

Автор: alex040269 23.10.14, 16:08

Цитата(r1p88@mail.ru @ 23.10.14, 15:44) http://pro1c.org.ua/index.php?act=findpost&pid=92457
#Если Клиент Тогда

а где вся остальная конфа?

Автор: r1p88@mail.ru 23.10.14, 16:17

Вот нашёл в форме документа "Перемещение товаров"

Процедура Кнопка1Нажатие(Элемент)
    // Вставить содержимое обработчика.
    Отчет = Отчеты.ВедомостьТоварыНаСкладах.Создать();          
    ФормаОтчета = Отчет.ПолучитьФорму("Форма");
    ФормаОтчета.ОбновитьОтчет();
    ФормаОтчета.Открыть();
    
    Отчет.УстановитьНачальныеНастройки();
    Построитель = Отчет.УниверсальныйОтчет.ПостроительОтчета;
    Отбор = Построитель.Отбор;
    Если Отбор.Найти("Номенклатура") = Неопределено Тогда
        Отбор.Добавить("Номенклатура");    
    КонецЕсли;
    Отбор["Номенклатура"].Использование = Истина;
    Отбор["Номенклатура"].ВидСравнения = ВидСравнения.Равно;
    Отбор["Номенклатура"].Значение = ЭлементыФормы.Товары.ТекущиеДанные.Номенклатура;

то есть вот эту строку нужно поменять на список, а не на одну номенклатуру
 Отбор["Номенклатура"].Значение = ЭлементыФормы.Товары.ТекущиеДанные.Номенклатура;


Пытаюсь сам разобраться, надеюсь я на правильном пути. Если подскажите мне, буду благодарен.

Автор: ignsv 23.10.14, 16:30

Отбор["Номенклатура"].ВидСравнения = ВидСравнения.ВСписке;
    Отбор["Номенклатура"].Значение = СписокВашейНоменклатуры;

Автор: Vofka 23.10.14, 16:41

r1p88@mail.ru, вы так больше не балуйтесь: не надо постить 75000 строк кода.

Автор: r1p88@mail.ru 23.10.14, 16:52

Цитата(ignsv @ 23.10.14, 17:30) http://pro1c.org.ua/index.php?act=findpost&pid=92464
r1p88@mail.ru, вы так больше не балуйтесь: не надо постить 75000 строк кода.


Я дико извиняюсь. Я добавил. А потом увидел. Кнопку редактирования сообщения в упор не нашёл)))))

Автор: ignsv 24.10.14, 8:21

Вы же сами "дошли" что необходим список номенклатуры, ну так заполните список номенклатурой с документа, например:

Процедура Кнопка1Нажатие(Элемент)
мНом = Товары.ВыгрузитьКолонку("Номенклатура"); // получили массив, по-моему нужен список
сНом = Новый СписокЗначений;

сНом .ЗагрузитьЗначения(мНом); // получили список
    Отбор["Номенклатура"].ВидСравнения = ВидСравнения.ВСписке;
    Отбор["Номенклатура"].Значение = сНом;

Автор: r1p88@mail.ru 24.10.14, 9:07

Спасибо большое. Я только начинаю разбираться с программированием 1с. Я почему то думал, что можно напрямую сразу указать колонку из формы. А оказалось, что сначала нужно занести значения колонки в массив, а потом передать этот массив значений. Я правильно понял?))) Поправте меня если я не правильно написал. За помощь спасибо, всё работает. Передаёт в отчёт тот список номенклатуры, который указан в документе "перемещение товаров". Спасибо за помощь поставил ;-)

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua