Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Создание отчета без использования СКД

GreenkA, alex1248, Необходимо сделать отчет без использования СКД. Можешь скинуть ссылку где подробно и поэтапно описывается данный метод создания отчета.(через макет)
Ответ: Почему, можно читать и писать

Добавлено через 49 секунд
Кто-нибудь подскажите. Необходимо сделать отчет без использования СКД. Можешь скинуть ссылку где подробно и поэтапно описывается данный метод создания отчета.(через макет)
Вопрос: Создание отчета для своей простой базы

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

Сделал простую базу в которой пользователь может добавлять номенклатуры (название_товара), сейчас например допустим есть три номенклатуры:
раз
два
три

так же пользователь создает документ в котором выбирает номенклатуру и задает количество прихода и количество расхода по ней. Например создали 2 документа:
документ один - дата 01.01
Номенклатура | приход| расход
раз | 50 | 0
два | 100 | 10

документ два 02.02
Номенклатура | приход | расход
раз | 0 | 50
два | 0 | 40
три | 50 | 0


Сам вопрос: сделать отчет в результате которого увидеть:
Номенклатура | приход | расход | дата
раз | 50 | 0 | 01.01
два | 100 | 10 | 01.01
раз | 0 | 50 | 02.01
два | 0 | 40 | 02.01
три | 50 | 0 | 02.01

Итого остаток:
Раз | 0
два | 50
три | 50

Понятное дело Внешний вид может быть другой, главное увидеть все эти данные.
помогите с этим отчетом.
Ответ: СКД, запрос по виртуальной таблице ОстаткиИОбороты регистра накопления.
Вопрос: (Внешняя обработка) Создание Отчета производства за смену на основании Реализации

Всем привет!.
Насколько знаю в типовом функционале БП 3.0 не предусмотрена процедура создания Отчета производства за смену на основании Реализации, но есть такая потребность. Может кто-нибудь помочь обработкой если таковая есть в наличии?

Заранее спасибо за помощь и комментарии!
Ответ:
Отправил.
Вопрос: Создание отчета

Здравствуйте уважаемые форумчане.
Работаю в службе сервиса небольшой организации, занимающейся ремонтом бытовой техники.
Сама недавно прослушала курс бесплатных лекций по интернету, скачала вебинары по программированию 1с8.3. Понимаю конечно, что это капля в море и нужны более серьезные курсы, где проходят темы углубленно, но сейчас хочу испытать себя на ниве программиста - т.е. хочу написать программу для нашего диспетчера, который работает на 7.7, хотя на компе установлена 8.3.
Что надо:
Диспетчер принимает заявки от граждан и заносит их в документ. В документе есть столбцы: адреса, содержание заявки, мастер, отчет мастера и столбец с указанием выполнения заявки(предполагаю булево)
По данному списку документов диспетчер должен сформировать отчет с заявками для каждого мастера с его адресами и содержанием заявок.
И возникает много вопросов, я должна использовать регистр накопления остатки, но ресурс там не использовать, т.к. числовых значений в заявках нет. в отчете использовать СКД или что-то другое и как вывести конечную форму отчета. Для обширного изучения купила учебник Хрусталева, но пока не разобралась. Просмотрела много сайтов в интернете, но все мимо. Может кто-то подскажет алгоритм написания программы или скинет ссылку на интересующие меня вопросы? с Уважением Анна.
Ответ:
Сегодня пролистала Митченко, но это я видела на вебинарах. Что касается моей задачи:
может на наводящие вопросы ответите, а то по существу ничего нет.
1. в документе следующие реквизиты :
- Адрес(СправочникСсылка)
- КонтактныеДанные(Строка(входит номер квартиры и телефон))
- СодержаниеЗаявки(Строка)
- ОтчетМастера(Строка)
- Выполнено (Булево(отметка о выполнении))
2. РегистрНакопленияОстатки --- ?
- Измерения что и в документе и мастер, а Ресурс не нужен
Что вижу на выходе:
в шапке: дата(на день выполнения заявок, ФИО мастера
в табчасти:
тоже, что и документе.
По отчету приблизительно понимаю что надо сделать, но какая-то мелочь не дает окончательно решить. Строки из документа не переносятся в отчет - так понимаю, что решается написанием кода и как выглядит запрос недопонимаю.
Забыла написать:
если установить галочку в документе(выполнено) - в отчете должна пропасть строка с заявкой и появиться в отчете выполненных.
Вопрос: Создание отчета по перемещению товаров (БП 3.0)

Необходимо создать отчет по перемещениям товаров между складами организации, где будет отражено следующее:
первая строка: первичное поступление товара и указание склада, куда он был приходован
вторая и далее: дата, склад-получатель, склад-отправитель
Дополнительно необходимо указывать количество перемещенной номенклатуры и ее стоимость.

Знаю, что необходимо использовать регистр бухгалтерии по счету 41.01. может быть кто-то делал уже подобное, подскажите, пожалуйста.

Примерная форма отчета:



В первой строке вместо склада-отправителя указывается, естественно, контрагент, у которого товар был приобретен.
Ответ:
В итоге сделал все одним запросом! Практически все данные у меня теперь есть, осталось только правильно вывести их)

ВЫБРАТЬ
ПоступлениеТоваровУслугТовары.Номенклатура,
ПоступлениеТоваровУслугТовары.Цена КАК ЦенаПоступления,
ПоступлениеТоваровУслугТовары.Ссылка.Дата КАК ДатаПоступления,
ПоступлениеТоваровУслугТовары.Количество КАК КоличествоПоступления,

ПоступлениеТоваровУслугТовары.Сумма КАК СуммаПоступления,
ПоступлениеТоваровУслугТовары.Ссылка.Контрагент как Поставщик,
ПоступлениеТоваровУслугТовары.Ссылка.Склад КАК СкладПоступления,
ПеремещениеТоваровТовары.Количество КАК КоличествоПеремещения,
ПеремещениеТоваровТовары.Ссылка.Дата КАК ДатаПеремещения,
ПеремещениеТоваровТовары.Ссылка.СкладОтправитель КАК Отправитель,
ПеремещениеТоваровТовары.Ссылка.СкладПолучатель КАК Получатель,
ПеремещениеТоваровТовары.Цена КАК ЦенаПеремещения
ИЗ
Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
ПО ПоступлениеТоваровУслугТовары.Номенклатура = ПеремещениеТоваровТовары.Номенклатура



Необходимо в отчете первой строкой вывести
ДатаПоступления, СкладПоступления, Поставщик, КоличествоПоступления, СуммаПоступления.
Во второй (и всех последующих строках) надо выводить ДатаПеремещения, Получатель, Отправитель, КоличествоПеремещения и СуммаПеремещения.
При этом СуммаПеремещения - это вычисляемое поле (по формуле СуммаПеремещения=КоличествоПеремещения*ЦенаПоступления).

Заголовок у колонок пусть будет везде одинаковый, т.е. Дата, Получатель, Отправитель, Количество и Сумма.

Вопрос - как оформить вывод этих данных в СКД? Однородный набор данных я умею выводить списком, но тут первая строка должна отличаться по набору данных, ибо содержит сведения о поступлении.
Вопрос: Создание отчета по справочнику ФизЛица

Здравствуйте.
К вам с просьбой, помогите пожалуйста сделать отчет. Отчет должен содержать фамилию из справочника ФизЛица и количество написанных им(этим человеком, или любым другим, или всеми сразу(не важно)) Методических материалов, Учебных пособий(тоже не важно).
Заранее спасибо за помощь, извините если что не так :С
Ответ:
Сообщение от 45Stvol
Я бы хотел тоже увидеть подобное. На производственной практике задали сделать отчёт в котором можно было ввести название комплектующей и по ней выбрать Персональный Компьютер в котором установлена комплектующая.
Установите отбор по комплектующим
Вопрос: Создание отчета на основе универсального

Добрый день! Есть у кого не будь пример,любого готового отчета на основе универсального.Типа шаблона?
Ответ: все типовые конфигурации переполнены такими отчетами
Вопрос: Создание отчета по движению товаров за период

Написал запрос в отчете, но выдает ошибку
Код:
{Отчет.Отчет.Форма.ФормаОтчета.Форма(39,40)}: Переменная не определена (Проведен)
    Запрос.УстановитьПараметр("Проведен", <<?>>Проведен); (Проверка: Сервер)
Вот Код Подскажите что не так?
Код:
&НаКлиенте
Процедура Сформировать(Команда)
    СформироватьОтчет(ТабДок);
КонецПроцедуры

&НаСервере
Процедура СформироватьОтчет(ТабДок)
   
     //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    Макет = Отчеты.Отчет.ПолучитьМакет("Макет");
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ПриходнаяНакладнаяСписокНоменклатуры.Ссылка.СуммаПоДокументу,
        |    ПриходнаяНакладнаяСписокНоменклатуры.Ссылка.ДатаПрихода КАК ДатаПрихода,
        |    ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура,
        |    ПРЕДСТАВЛЕНИЕ(ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура),
        |    СУММА(ПриходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество,
        |    СУММА(ПриходнаяНакладнаяСписокНоменклатуры.Сумма) КАК Сумма
        |ИЗ
        |    Документ.ПриходнаяНакладная.СписокНоменклатуры КАК ПриходнаяНакладнаяСписокНоменклатуры
        |ГДЕ
        |    ПриходнаяНакладнаяСписокНоменклатуры.Ссылка.Проведен
        |
        |СГРУППИРОВАТЬ ПО
        |    ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура,
        |    ПриходнаяНакладнаяСписокНоменклатуры.Ссылка.СуммаПоДокументу,
        |    ПриходнаяНакладнаяСписокНоменклатуры.Ссылка.ДатаПрихода
        |ИТОГИ
        |    СУММА(Сумма)
        |ПО
        |    Номенклатура,
        |    ДатаПрихода";

    Запрос.УстановитьПараметр("Проведен", Проведен);

    Результат = Запрос.Выполнить();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьНоменклатура = Макет.ПолучитьОбласть("Номенклатура");
    ОбластьДатаПрихода = Макет.ПолучитьОбласть("ДатаПрихода");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();

    ВыборкаНоменклатура = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    Пока ВыборкаНоменклатура.Следующий() Цикл
        ОбластьНоменклатура.Параметры.Заполнить(ВыборкаНоменклатура);
        ТабДок.Вывести(ОбластьНоменклатура, ВыборкаНоменклатура.Уровень());

        ВыборкаДатаПрихода = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

        Пока ВыборкаДатаПрихода.Следующий() Цикл
            ОбластьДатаПрихода.Параметры.Заполнить(ВыборкаДатаПрихода);
            ТабДок.Вывести(ОбластьДатаПрихода, ВыборкаДатаПрихода.Уровень());

            ВыборкаДетальныеЗаписи = ВыборкаДатаПрихода.Выбрать();

            Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
                ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
                ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;

    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);

    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

КонецПроцедуры // Сформировать()
Ответ:
Запрос.УстановитьПараметр("Проведен", Проведен); Вот батенька что это у вас за параметр такой? Проведен? и откуда он берется и зачем он вообще нужен если в запросе не используется? Тут и ругается, так как не может понять что за переменная Проведен.
Вопрос: Создание отчета по оплате клиентов: вывод документов оплаты и курсов для каждого Клиента

Здравствуйте, столкнулся с проблемой при создании формы отчета .
Что я пытаюсь сделать? Имеется макет подобного вида . Данные берутся отсюда .

При печати должна получиться табличка с Клиентом, его оплаченной суммой, и записями об его оплате.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
&НаСервере
Процедура СформироватьНаСервере(ТабДок)
    //Запрос по клиентам и оплаченной суммой
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                  |ВнесениеОплатыЗаКурсы.Ссылка.Клиент КАК Клиент,
                  |СУММА(ВнесениеОплатыЗаКурсы.ВнесеннаяСумма)
                  |КАК ОплаченнаяСумма
                  |ИЗ
                  |Документ.ВнесениеОплаты.ОплатаКурсов 
                  |КАК ВнесениеОплатыЗаКурсы
                  |СГРУППИРОВАТЬ ПО
                  |ВнесениеОплатыЗаКурсы.Ссылка.Клиент";
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДанные = РезультатЗапроса.Выбрать();
    Макет = Отчеты.ОплатаКлиентов.ПолучитьМакет("Макет");
    // Заголовок
    Область = Макет.ПолучитьОбласть("Заголовок");
    ТабДок.Вывести(Область);
     // Шапка
    Область = Макет.ПолучитьОбласть("Шапка");
    ТабДок.Вывести(Область);
      // Выполнить запрос
    Пока ВыборкаДанные.Следующий() Цикл
    ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
    ОбластьСтрока.Параметры.Клиент = ВыборкаДанные.Клиент;
    ОбластьСтрока.Параметры.ОплаченнаяСумма = ВыборкаДанные.ОплаченнаяСумма;
    ТабДок.Вывести(ОбластьСтрока);
КонецЦикла;
 
   //Запрос по документам
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                  |ВнесениеОплаты.Ссылка.Номер КАК Номер,
                  |ВнесениеОплаты.Ссылка.Сумма КАК Сумма,
                  |ВнесениеОплаты.Ссылка.ОплатаКурсов.Курс КАК Курс,
                  |ВнесениеОплаты.Ссылка.Ссылка.ОплатаКурсов.ВнесеннаяСумма КАК СуммаК
                  |ИЗ
                  |Документ.ВнесениеОплаты
                  |КАК ВнесениеОплаты
                  |СГРУППИРОВАТЬ ПО
                  |ВнесениеОплаты.Ссылка.Номер";
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДанные = РезультатЗапроса.Выбрать();
    Макет = Отчеты.ОплатаКлиентов.ПолучитьМакет("Макет");
    // Заголовок
    Область = Макет.ПолучитьОбласть("Номер");
    ТабДок.Вывести(Область);
    
      // Выполнить запрос
    Пока ВыборкаДанные.Следующий() Цикл
    ОбластьСтрока = Макет.ПолучитьОбласть("НомерЗнач");
    ОбластьСтрока.Параметры.Номер = ВыборкаДанные.Номер;
    ОбластьСтрока.Параметры.Сумма = ВыборкаДанные.Сумма;
    ТабДок.Вывести(ОбластьСтрока);
КонецЦикла;
 
    Область = Макет.ПолучитьОбласть("КурсСумм");
    ТабДок.Вывести(Область);
      // Выполнить запрос
    Пока ВыборкаДанные.Следующий() Цикл
    ОбластьСтрока = Макет.ПолучитьОбласть("КурсСуммЗнач");
    ОбластьСтрока.Параметры.ОплатаКурсов.Курс = ВыборкаДанные.ОплатаКурсов.Курс;
    ОбластьСтрока.Параметры.ОплатаКурсов.ВнесеннаяСумма = ВыборкаДанные.ОплатаКурсов.ВнесеннаяСумма;
    ТабДок.Вывести(ОбластьСтрока);
    КонецЦикла;
    
    
КонецПроцедуры
 
&НаКлиенте
Процедура Сформировать(Команда)
    ТабДок = Новый ТабличныйДокумент;
    СформироватьНаСервере(ТабДок);
    ТабДок.Показать();
    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.Защита = Ложь;
    ТабДок.ТолькоПросмотр = Ложь;
    ТабДок.ОтображатьЗаголовки = Ложь;
    ТабДок.Показать();
 
КонецПроцедуры
Ответ: GreenkA, Вот, что получилось
Что-то не особо понятно, как данное свойство работает, то есть где взять свойство, чтобы строка заполнялась без повторений? Этот метод здесь должен быть?
1C
1
2
3
4
5
6
7
8
9
10
11
        Пока ВыборкаНомер.Следующий() Цикл
            // Выводим номера документов и их сумму
            ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
            ОбластьСтрока.Параметры.Номер = ВыборкаНомер.Номер;
            ОбластьСтрока.Параметры.Сумма = ВыборкаНомер.Сумма;
            ОбластьСтрока.Параметры.Курс = ВыборкаНомер.Курс;
            ОбластьСтрока.Параметры.ОплаченнаяСумма = ВыборкаНомер.ВнесеннаяСумма;
            //ВОТ ОНО
            ЗаполнитьЗначенияСвойств(ОбластьСтрока.Параметры.Номер,ОбластьСтрока.Параметры.Номер,Выборка);
            ТабДок.Вывести(ОбластьСтрока);
        КонецЦикла;
Вопрос: Создание отчета по созданному реквизиту в поступлении товаров и услуг

Уважаемые форумчане, прошу помочь!
Установленная платформа 1с 8.3 (8.3.10.2505)
Конфигурация УТ11(11.3.4.47)
Стояла задача добавить при поступлении товаров и услуг поле в котором можно выбрать на какой договор куплен тот или иной товар.
Данное поле реализовано путем создания справочника со списком договор и добавлен реквизит в документ поступления товаров и услуг.
Сейчас стоит задача выводить отчёт по договорам чтобы понять сколько было закуплено и потрачено средств на тот или иной договор, договор всего 20. В каждом поступлении номенклатура может закупаться на разные договора, поэтому назначение договора на весь документ путем дополнительных реквизитов сразу отвалилась.
Попробовал создать регистр накопления, который сохраняет название договора, наименование номенклатуры, количество поступаемой номенклатуры и номер документа. Этот регистр прикрепил к документу поступления товаров и услуг. В регистре отображались данные поступления. создал отчет через СКД по этим полям. Отчет к сожалению остается пустым не выводя информации и документы поступления перестали проводиться не выдавая ошибок, пишется что документ проведен, но отметка о проведении не ставиться.
Сижу с этой головной болью уже неделю, прошу помочь или подсказать как вообще это реализовать.
Ответ:
Если так оставлять, то придётся обходить каждую табчасть каждого дока поступления.. Что не есть гут.. Регистр - это правильно. И по идее движения по новому регистру не должны мешать движениям по остальным и тем более проведению. Но так навскидку не скажешь, дтшник не помешал бы..