7.7 Отображение общего количества. ИТОГО

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Harley, 27 июн 2013.

  1. TopicStarter Overlay
    Harley
    Offline

    Harley

    Регистрация:
    23 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте!
    Что и где прописать, что бы в отчете в графе ИТОГО отображалось общее количество товара. Картинка ниже, код ниже. Ткните пожалуйста пальцем:)
    Посмотреть вложение 15211

    1с 7.7 Тис 8,5


    Код:
    //******************************************************************************
    // ОПИСАНИЕ МОДУЛЬНЫХ ПЕРЕМЕННЫХ
    
    Перем СписокТоваров; // список товаров, удовлетворяющих фильтру по категориям
    Перем СписокПодбора,СправочникПодбора;
    // СписокПодбора - список, в который отбираются элементы
    //	   (используется для множественных фильтров)
    // СправочникПодбора - строка - идентификатор справочника, из которого осуществляется отбор
    //	   (используется для множественных фильтров)			
    Перем Т;
    Перем Обновить;
    Перем Расшифровка;
    // используются для стандартного механизма кнопок "Обновить" и "Настройка"
    Перем ОтчетСформирован;
    //******************************************************************************
    // "СЛУЖЕБНЫЕ" ПРОЦЕДУРЫ И ФУНКЦИИ
    
    //******************************************************************************
    // Название: РасшифровкаОбновить
    // Параметры:
    //  Обновить =  1 - нажата кнопка "Обновить"
    //	2 - нажата кнопка "Найтройка"
    // Возвращаемое значение:
    // Вызывается из формул элементов диалога:
    //  из таблицы, кнопки "Обновить" и "Настройка"
    // Наименование,.
    // Описание:  функция для стандартного механизма кнопок ""Обновить" и "Настройка""
    //   помещает значение параметра в список Расшифровка  и возвращает этот список
    Функция РасшифровкаОбновить(Обновить)
    Расшифровка.Установить("Обновить", Обновить);
    Возврат Расшифровка;
    КонецФункции //РасшифровкаОбновить
    
    //******************************************************************************
    // Название: МножественныйФильтрЗадан
    // Параметры:
    // НЕТ
    // Возвращаемое значение:
    //  0, если множественный фильтр задан
    //  1, иначе
    // Вызывается из формул элементов диалога:
    // Наименование,.
    // Описание:
    Функция МножественныйФильтрЗадан()	
    Если МФВыбТовары.РазмерСписка()>0 Тогда
    Возврат 1;
    КонецЕсли;
    Если МФКатТоваров.РазмерСписка()>0 Тогда
    Возврат 1;
    КонецЕсли;
    Если МФВыбСклады.РазмерСписка()>0 Тогда
    Возврат 1;
    КонецЕсли;
    Возврат 0;
    КонецФункции // МножественныйФильтрЗадан
    
    //******************************************************************************
    // Название: ПерерисовкаНазванийЗакладок
    // Параметры:
    // НЕТ
    // Возвращаемое значение:
    // Вызывается из формул элементов диалога:
    // Наименование,.
    // Описание:
    //  Добавляет "(!)" в заголовок закладки с множественным фильтром, когда этот фильтр задан
    Функция ПерерисовкаНазванийЗакладок()	
    Форма.Закладки.УстановитьЗначение(2,?(МножественныйФильтрЗадан()=1,"(!) ","")+"Множественный фильтр");
    КонецФункции // ПерерисовкаНазванийЗакладок
    //******************************************************************************
    // Название: ФильтрыИЗаголовкиПоТоварамИСкладам
    // Параметры:
    // ТекстЗапроса - текст запроса
    // ЗаголовокПоТов - заголовок по товарам
    // ЗаголовокПоСкл - заголовок по складам
    // Возвращаемое значение:
    //  0, если фильтр по товарам заведомо противоречив
    //  1, иначе
    // Вызывается из формул элементов диалога:
    // Наименование,.
    // Описание:
    //  формирует заголовки по товарам и складам и добавляет в текст запроса условия по товарам и складам
    Функция ФильтрыИЗаголовкиПоТоварамИСкладам(ТекстЗапроса,ЗаголовокПоТов,ЗаголовокПоСкл)
    
    СписокТоваров = СоздатьОбъект("СписокЗначений");									  
    Если глФильтрПоСправочнику("Номенклатура",
    ВыбТовар,МФВыбТовары,КатТоваров,МФКатТоваров,ТипМФКатТоваров.ТекущаяСтрока(),
    СписокТоваров,
    ТекстЗапроса,ЗаголовокПоТов,
    "Товар,ВыбТовар,МФВыбТовары,СписокТоваров,товару,товарам,товара")=0 Тогда
    Возврат 0;
    КонецЕсли;
    
    Если глФильтрПоСправочнику("МестаХранения",
    ВыбСклад,МФВыбСклады,0,0,0,
    0,
    ТекстЗапроса,ЗаголовокПоСкл,
    "Склад,ВыбСклад,МФВыбСклады, ,складу,складам,склада")=0 Тогда
    Возврат 0;
    КонецЕсли;
    
    Возврат 1;
    
    КонецФункции   // ФильтрыИЗаголовкиПоТоварамИСкладам
    
    //******************************************************************************
    // Название: ОстаткиТоваров
    // Параметры:
    // НЕТ
    // Возвращаемое значение:
    // НЕТ
    // Вызывается из формул элементов диалога:
    // Наименование,.
    // Описание:
    //   строит отчет "Остатки товаров"
    Процедура ОстаткиТоваров()	  
    Перем ДопЗаголовок;
    Перем ПечОбщаяСумма;
    
    
    
    ВремРегистры=СоздатьОбъект("Регистры");
    Рег=ВремРегистры.РезервыТоваров;
    //Игорь
    РегПартий = СоздатьОбъект("Регистр.ПартииТоваров");
    //Игорь
    Запрос=СоздатьОбъект("Запрос");
    
    ТекстЗапроса="";
    ТекстЗапроса= ТекстЗапроса+"						
    |ПЕРИОД С ДатаКонца По ДатаКонца;
    |Фирма=Регистр.ОстаткиТоваров.Фирма;
    |Склад=Регистр.ОстаткиТоваров.Склад;
    |Товар=Регистр.ОстаткиТоваров.Товар;
    |Кол=Регистр.ОстаткиТоваров.ОстатокТовара;
    |Группировка Товар Упорядочить по Товар.Наименование"+?(ПоказатьОстатки.ТекущаяСтрока()>=2," Все","")+";
    |Группировка Склад Все ВошедшиеВЗапрос;
    |Функция КонКол=КонОст(Кол);
    |Условие (Фирма=глПустаяФирма);";
    
    Заг="";
    Заг1="";					  
    
    Если ФильтрыИЗаголовкиПоТоварамИСкладам(ТекстЗапроса,Заг,Заг1)=0 Тогда
    Возврат;
    КонецЕсли;
    
    Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
    Возврат;
    КонецЕсли;
    Если ДатаКонца<ПолучитьДатуТА() Тогда
    Рег.ВременныйРасчет();
    ВремРегистры.РассчитатьРегистрыПО(ДатаКонца);
    КонецЕсли;
    глЧислоСтрок = 0;
    //  Создание Таблицы для выходного отчета
    Т.ВывестиСекцию("Кнопки");
    Т.ВывестиСекцию("Отчет");
    глОживить(4);
    Т.ВывестиСекцию("Шапка|ТоварРезерв");
    Пока Запрос.Группировка("Товар") = 1 Цикл
    Если Запрос.Товар.ЭтоГруппа()=1 Тогда
    Продолжить;
    КонецЕсли;
    Пока Запрос.Группировка("Склад") = 1 Цикл
    Если (Запрос.Склад.Выбран()=0) Тогда
    Продолжить;
    КонецЕсли;
    Т.ПрисоединитьСекцию("Шапка|Склад");
    //Игорь
    Т.ПрисоединитьСекцию("Шапка|Себестоимость");
    //Игорь
    КонецЦикла;
    Прервать;
    КонецЦикла;
    глОживить(1);
    
    ГруппыТоваров = СоздатьОбъект("СписокЗначений");
    
    
    
    Запрос.вНачалоВыборки();
    Пока Запрос.Группировка("Товар") = 1 Цикл
    Если Запрос.Товар.ЭтоГруппа()=1 Тогда
    ГруппыТоваров.ДобавитьЗначение(Запрос.Товар.ТекущийЭлемент());
    Продолжить;
    КонецЕсли;
    
    Резерв=Регистр.РезервыТоваров.СводныйОстаток(Запрос.Товар,,"РезервТовара");
    
    Если ПоказатьОстатки.ТекущаяСтрока()=1 Тогда  // все ненулевые
    
    ИначеЕсли ПоказатьОстатки.ТекущаяСтрока()=2 Тогда // все
    
    ИначеЕсли ПоказатьОстатки.ТекущаяСтрока()=3 Тогда   // все положительные
    Если Запрос.КонКол<=0 Тогда
    Продолжить;
    КонецЕсли;
    
    ИначеЕсли ПоказатьОстатки.ТекущаяСтрока()=4 Тогда   // меньше мин. остатка
    Если Запрос.КонКол>=Запрос.Товар.МинимальныйОстаток Тогда
    Продолжить;
    КонецЕсли;
    
    ИначеЕсли ПоказатьОстатки.ТекущаяСтрока()=5 Тогда   // меньше мин. остатка с учетом резерва
    Если (Запрос.КонКол-Резерв)>=Запрос.Товар.МинимальныйОстаток Тогда
    Продолжить;
    КонецЕсли;
    
    КонецЕсли;
    
    // выводим группу товара
    Пока ГруппыТоваров.РазмерСписка()>0 Цикл
    ГруппаТоваров = ГруппыТоваров.ПолучитьЗначение(1);
    Если Запрос.Товар.ПринадлежитГруппе(ГруппаТоваров)=1 Тогда
    Т.ВывестиСекцию("Группа|ТоварРезерв");
    глОживить(1);
    КонецЕсли;
    ГруппыТоваров.УдалитьЗначение(1);
    КонецЦикла;
    
    ПечРезерв = глФРМКоличествоВОтчете(Резерв,Запрос.Товар);
    
    Т.ВывестиСекцию("Товар|ТоварРезерв");
    глОживить(1);
    
    
    Пока Запрос.Группировка("Склад") = 1 Цикл
    Если (Запрос.Склад.Выбран()=0) Тогда
    Продолжить;
    КонецЕсли;
    //Игорь
    ОстПарт=Окр(РегПартий.СводныйОстаток(глПустаяФирма,Запрос.Товар,,,,,,"ОстатокТовара"),2);
    Если ОстПарт=0 Тогда
    СебеСтоим=0;
    Иначе
    СебеСтоим=Окр((РегПартий.СводныйОстаток(глПустаяФирма,Запрос.Товар,,,,,,"Стоимость")+РегПартий.СводныйОстаток(глПустаяФирма,Запрос.Товар,,,,,,"НДС"))/ОстПарт,3);
    КонецЕсли;
    //Игорь
    ПечОстаток = глФРМКоличествоВОтчете(Запрос.КонКол,Запрос.Товар);
    //Игорь
    ПечСебестоимость = Строка(Себестоим*Запрос.КонКол)+" ("+Запрос.Товар.ВалютаУчета+")";
    
    ПечОбщаяСумма = ПечОбщаяСумма + СебеСтоим*Запрос.КонКол;
    
    
    Т.ПрисоединитьСекцию("Товар|Склад");
    //Игорь
    Т.ПрисоединитьСекцию("Товар|Себестоимость");
    //Игорь
    КонецЦикла;
    глОживить(1);
    КонецЦикла;
    
    Т.ВывестиСекцию("Итого");
    //Вызов выходного отчета в окно просмотра и редактирования.
    Т.Опции(0,0,8,0,ПарСтрОтчШирок);
    Т.Защита(Константа.ФлагЗащитыТаблиц);
    Т.ТолькоПросмотр(1);
    Т.Показать("Остатки товаров на складах","");
    
    ОтчетСформирован = 1;
    
    КонецПроцедуры  // ОстаткиТоваров
    

    Вложения:

  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    перед циклом
    Код:
    ПечОстатокИтог=0;
    
    Внутри цикла
    Код:
    ПечОстатокИтог=ПечОстатокИтог+ПечОстаток;
    
    Ну и в макете вывести выражение ПечОстатокИтог

    З/Ы На скрине не вижу секций. Они есть?
  3. TopicStarter Overlay
    Harley
    Offline

    Harley

    Регистрация:
    23 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Прописал как Вы сказали, но в отчете отображается "1" (единица)
    Да секции есть, просто убрал их отображение.
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Извините, не внимательно глянул
    Код:
    ПечОстатокИтог=ПечОстатокИтог+Запрос.КонКол;
    
  5. TopicStarter Overlay
    Harley
    Offline

    Harley

    Регистрация:
    23 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Спасибо большое, все считает правильно :smile:
    А можно еще один вопросик, нужно что бы в графе "Стоимость" отображалась закупочная цена номенклатуры. Сложно это сделать?
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    не сложно... Нет щас под рукой конфы 8.5 Но там д.б. в ГМ процедура глВернутьЦену или глПолучитьЦену. Она вернет то что вам нужно по каждому ТМЦ
  7. TopicStarter Overlay
    Harley
    Offline

    Harley

    Регистрация:
    23 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Если вдруг попадется конфа, посмотрите пожалуйста как прописать надо, спасибо.
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    выложите МДшник на файлообменник
  9. TopicStarter Overlay
    Harley
    Offline

    Harley

    Регистрация:
    23 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Мдшник :)
    http://yadi.sk/d/Zaeefz5g6FTHg
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Не хорошо выкладывать конфигурации под паролем... Заставляете старенького дядю заниматься противоправными действиями....
    Вот код:
    Код:
    Цена=глВернутьЦену(Запрос.Товар, Категория)
    где Категория - реквизит формы типа справочник КатегорииЦен
  11. TopicStarter Overlay
    Harley
    Offline

    Harley

    Регистрация:
    23 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Странно, у меня конфигурация без пароля.
    По поводу кода, я немного отошел от программирования, где Категория мне надо указать ЗакупочныйТипЦен? А в макете что указать?
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    конфигурация запаролена. Про категорию я уже писал. На форме отчета нужно создать реквизит. Тип Справочник.КатегорииЦен. Имя - категория. Ну добавьте строчку в код. В макет колонку и ячейку выражение цена
  13. TopicStarter Overlay
    Harley
    Offline

    Harley

    Регистрация:
    23 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Спасибо еще раз, все работает:)
  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
  15. TopicStarter Overlay
    Harley
    Offline

    Harley

    Регистрация:
    23 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Странная вещь получилась, в отчете вдруг пишет вместо закупочной суммы, само слово "Закупочная"
  16. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    выложите сам отчет
  17. TopicStarter Overlay
    Harley
    Offline

    Harley

    Регистрация:
    23 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1

    Вложения:

    • отчет.ert
      Размер файла:
      57,5 КБ
      Просмотров:
      9
  18. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    я так понял в заголовке пишет?
  19. TopicStarter Overlay
    Harley
    Offline

    Harley

    Регистрация:
    23 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1

    Вложения:

  20. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    и никаких ошибок в окне сообщений нет?

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