Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как создать отчет с суммой по отдельной позиции табличной части расходных накладных в 1С 7.70.003 торговля склад для Украины          
ZUBR Подменю пользователя
сообщение 01.09.19, 15:53
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0

Здравствуйте. Нужна подсказка. Есть определенное количество проведенных расходных накладных с различным товаром. Кроме того, есть еще услуги, которые также отображаются в табличной части. Я, например, хочу знать, на какую общую сумму были оказаны услуги, скажем, за месяц. Услуга в справочнике имеет название "Ремонт". В некоторых расходных накладных она присутствует, в некоторых нет. Каким методом лучше всего произвести выборку и просуммировать услугу Ремонт по всем расходным накладным за указанный период и присвоить значение результата какой-то переменной? Можно ли сделать это путем создания отчета, не изменяя сам модуль документа РасходнаяНакладная? Трудность в том, что услуга Ремонт - не идентификатор табличной части документа, а элемент справочника. Не могу ничего придумать...
Спасибо большое!

Pepe Подменю пользователя
сообщение 01.09.19, 16:14
Сообщение #2

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1447
Из: Ужгород
Спасибо сказали: 762 раз
Рейтинг: 231

Перебором документов за период или копайте в сторону запрса.

Спасибо сказали: ZUBR,

ZUBR Подменю пользователя
сообщение 01.09.19, 23:25
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0

Pepe @ Вчера, 17:14 * ,
Пробовал через запрос. Пока не получается никак. Слишком сложно. Может, эту задачу проще решить на этапе создания документов через регистры?

volodya1122 Подменю пользователя
сообщение 02.09.19, 9:52
Сообщение #4

Оратор
Иконка группы
Группа: Местный
Сообщений: 348
Из: Тернопіль
Спасибо сказали: 139 раз
Рейтинг: 141.7

ZUBR @ Сегодня, 0:25 * ,

Крім слова "Ремонт"в навзві, в карточці товару є ще поле "ВидТовару" . Ви проставляєте там вид "товар" або "Услуга"?

Спасибо сказали: ZUBR,

mut Подменю пользователя
сообщение 02.09.19, 10:39
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 200
Из: Новая Каховка
Спасибо сказали: 205 раз
Рейтинг: 240.1

Конечно запросом, что тут думать?! Запрос по документам за период с отбором по номенклатуре, отбор нужно делать по элементу справочника, а не по названию. Если покажете структуру документа, могу подсказать пример запроса smile.gif

Спасибо сказали: ZUBR,

ZUBR Подменю пользователя
сообщение 02.09.19, 18:55
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0

mut @ Сегодня, 11:39 * , структура документа - обычная штатная расходная накладная. Я заполняю ее табличную часть данными из справочника, имеющими вид товара "Товар" и в конце вношу некоторые элементы справочника, имеющие вид товара "Услуга" К таковым относится, например, "Ремонт". Мне нужно просуммировать численные значения "Ремонт" по всем расходным накладным за указанный период с тем, чтобы потом вычислять определенный процент из этой суммы, сравнивать с другими данными и т.п. Короче, мне нужно по всем расходным накладным, например, за месяц, просуммировать "Ремонт" , который идет, как товар, прописанный в справочнике с численным значением и видом товара "Услуга". Если подскажете пример запроса, буду весьма признателен. Спасибо!


volodya1122 @ Сегодня, 10:52 * , звичайно, проставляю. Товар має вид "Товар", а "Ремонт", "Чистка" та інші види робіт мають вид "Услуга".

mut Подменю пользователя
сообщение 02.09.19, 20:03
Сообщение #7

Завсегдатай
****
Группа: Пользователи
Сообщений: 200
Из: Новая Каховка
Спасибо сказали: 205 раз
Рейтинг: 240.1

Цитата(ZUBR @ 02.09.19, 19:55) *
Если подскажете пример запроса


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


ваши параметры - НачДата, КонДата, НужныйТовар (это элемент справочника, услуга, по которой нужно отобрать)

результат в переменной СуммаУслуг

Спасибо сказали: ZUBR,

volodya1122 Подменю пользователя
сообщение 02.09.19, 21:29
Сообщение #8

Оратор
Иконка группы
Группа: Местный
Сообщений: 348
Из: Тернопіль
Спасибо сказали: 139 раз
Рейтинг: 141.7

mut @ Сегодня, 21:03 * ,
Немного не то. Человеку нужно выбрать по всех товарах название которых начинается с "Ремонт". Незнаю, есть ли в семёрочных запросах функция "Подобно". В данном случае она бы очень подошла. А так убрать из запроса условие, и перебором пройтись и проверять на ЛЕВ(Товар,6)="Ремонт".

Спасибо сказали: ZUBR,

ZUBR Подменю пользователя
сообщение 02.09.19, 22:25
Сообщение #9

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0

volodya1122 @ Сегодня, 22:29 * , нет, мне как раз нужна сумма по конкретной позиции. То есть, конкретно по "Ремонт". Ну, и по некоторым другим. Но это будет другая сумма. Мне главное понять суть написания запроса. А дальше дело техники. Спасибо за участие!)


mut @ Сегодня, 21:03 * ,

Процедура Сформировать()
    
    Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
    "
    |Период с НачДата по КонДата;
    |ОбрабатыватьДокументы Проведенные;
    |Товар = Документ.РасходнаяНакладная.Товар;
    |СуммаСНДС = Документ.РасходнаяНакладная.СуммаСНДС;
    |Функция Сум = Сумма(СуммаСНДС);
    |Группировка Товар Без Групп;
    |Условие (Товар = Ремонт);";
    Запрос.Выполнить(ТекстЗапроса);
    Пока Запрос.Группировка(1) = 1 Цикл
        СуммаУслуг = Запрос.Сум;
        
    КонецЦикла;
Сообщить("Сумма:"+СуммаУслуг);


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


Вот так я сделал, чтобы проверить работу. Программа выдает ошибку, что переменная Ремонт не определена. Почему она воспринимает Ремонт, как переменную? Что я пропустил? Не могу же я объявить Ремонт, как переменную! Услуга Ремонт в справочнике и в табличной части документов присутствует. Вместо Ремонт пробовал прописывать другой товар. Все равно воспринимает как переменную. В чем моя ошибка?

Макс1С Подменю пользователя
сообщение 02.09.19, 22:41
Сообщение #10

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 189
Из: Днепр
Спасибо сказали: 62 раз
Рейтинг: 0

ZUBR @ Сегодня, 23:25 * ,
переменную "ремонт" нужно определить до запроса.

Ремонт = СоздатьОбъект("Справочник.ТМЦ");
   Ремонт.НайтиПоНаименованию("Ремонт");


только в торговле по-моему справочник "Товары"

Спасибо сказали: ZUBR,

ZUBR Подменю пользователя
сообщение 02.09.19, 22:55
Сообщение #11

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0

Макс1С @ Сегодня, 23:41 * , я уже это понял и сделал.

Процедура Сформировать()   
    НужныйТовар = Константа.НужныйТовар;
    
    Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
    "
    |Период с НачДата по КонДата;
    |ОбрабатыватьДокументы Проведенные;
    |Товар = Документ.РасходнаяНакладная.Товар;
    |СуммаСНДС = Документ.РасходнаяНакладная.СуммаСНДС;
    |Функция Сум = Сумма(СуммаСНДС);
    |Группировка Товар Без Групп;
    |Условие (Товар = НужныйТовар);";
    Запрос.Выполнить(ТекстЗапроса);
    Пока Запрос.Группировка(1) = 1 Цикл
        СуммаУслуг = Запрос.Сум;
        
    КонецЦикла;
Сообщить("Сумма:"+СуммаУслуг);


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


После этого заработало. Поспешил с вопросом))

volodya1122 Подменю пользователя
сообщение 02.09.19, 22:58
Сообщение #12

Оратор
Иконка группы
Группа: Местный
Сообщений: 348
Из: Тернопіль
Спасибо сказали: 139 раз
Рейтинг: 141.7

Макс1С @ Сегодня, 23:41 * ,

Або краще на форму звіту вставити поле введення (реквизит диалога) з типом справочник.Номенклатура І ідентифікатор для нього прописати "нужныйТовар"

Спасибо сказали: ZUBR,

ZUBR Подменю пользователя
сообщение 02.09.19, 22:59
Сообщение #13

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0

Думаю, через константу будет лучше. Пользователь сможет сам определять товар. Можно даже сделать несколько нужных констант. Потому что если зашить это в код, то пользователь будет вынужден использовать только определенные слова для названия товара.)))

volodya1122 Подменю пользователя
сообщение 02.09.19, 23:04
Сообщение #14

Оратор
Иконка группы
Группа: Местный
Сообщений: 348
Из: Тернопіль
Спасибо сказали: 139 раз
Рейтинг: 141.7

ZUBR @ Вчера, 23:59 * ,

На формі звіту користувач вибипає потрібний товар, і формує звіт по ттому товару що йому потрібно. Непотрібно плодити констант, це погана ідея

Сообщение отредактировал volodya1122 - 02.09.19, 23:04

ZUBR Подменю пользователя
сообщение 02.09.19, 23:12
Сообщение #15

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0

volodya1122 @ Вчера, 23:58 * , так, как Вы предлагаете, еще лучше, чем через константу. А константу тоже можно использовать. В ней можно задать услугу или товар, наиболее часто используемый для запросов и отчетов, и сделать его по умолчанию).
П.С. Я просто не встиг прочитати вашу відповідь. Різниця в часі менше хвилини, тому це не було відповіддю Вашому повідомленню.

Макс1С Подменю пользователя
сообщение 02.09.19, 23:21
Сообщение #16

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 189
Из: Днепр
Спасибо сказали: 62 раз
Рейтинг: 0

Цитата(volodya1122 @ 02.09.19, 23:58) *
Або краще на форму звіту вставити поле введення (реквизит диалога) з типом справочник.Номенклатура І ідентифікатор для нього прописати "нужныйТовар"

Да, это оптимальное решение

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 01.11.24, 1:23
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!