|   |   | 
| 
 | v7: Подскажите про реквизиты/измерения регистров. | ☑ | ||
|---|---|---|---|---|
| 0
    
        xenos 27.04.12✎ 11:55 | 
        Конфа вещевое довольствие.
  Вывожу данные в отчет получается типа: Иванов 2шт >Ботинок1 1шт >>Внебюджет 1шт >>Бюджет 1шт >Ботинок2 1Шт >>Внебюджет 1шт >>Бюджет 1шт Т.е. итоги по измерения сотрудник и обмундирование правильно считает, а по виду деятельности выводятся как по реквизиту. Хотя в конфигураторе вид деятельности стоит в измерениях. В то же время типовой отчет о движениях документов, относит их к реквизитам. | |||
| 1
    
        Жан Пердежон 27.04.12✎ 11:57 | 
        каша     | |||
| 2
    
        xenos 27.04.12✎ 11:57 | 
        (1) В смысле?     | |||
| 3
    
        Mikeware 27.04.12✎ 11:58 | 
        Все правильно. Один ботинок из бюджета, второй - внебюджетный.
  отрежь Иванову одЫн нога, и все будет в порядке, второй ботинок спишешь... | |||
| 4
    
        xenos 27.04.12✎ 12:02 | 
        (2) Да нет я нашел документ, он по бюджету прошелся. Откуда внебюджет вообще не понятно.
  Да и выводится тогда должно: >Ботинок1 2шт >>Внебюджет 1шт >>Бюджет 1шт А выводится: >Ботинок1 1шт >>Внебюджет 1шт >>Бюджет 1шт | |||
| 5
    
        xenos 27.04.12✎ 12:08 | 
        апапапап     | |||
| 6
    
        Жан Пердежон 27.04.12✎ 12:19 | 
        (5) в 5ой строке ошибка     | |||
| 7
    
        xenos 27.04.12✎ 12:29 | 
        (6) где?     | |||
| 8
    
        zak555 27.04.12✎ 12:32 | 
        опиши структуру регистра     | |||
| 9
    
        xenos 27.04.12✎ 12:35 | ||||
| 10
    
        dusn 27.04.12✎ 12:36 | 
        странно, что никто код не попросил еще :)     | |||
| 11
    
        zak555 27.04.12✎ 12:36 | 
        теперь код     | |||
| 12
    
        xenos 27.04.12✎ 12:37 | ||||
| 13
    
        xenos 27.04.12✎ 12:37 | 
        Запрос = СоздатьОбъект("Запрос");
  ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Учреждение = Регистр.ОбмундированиеВыданное.Учреждение; |Сотрудник = Регистр.ОбмундированиеВыданное.Сотрудник; |Обмундирование = Регистр.ОбмундированиеВыданное.Обмундирование; |ДатаВыдачи = Регистр.ОбмундированиеВыданное.ДатаВыдачи; |ДокументВыдачи = Регистр.ОбмундированиеВыданное.ДокументВыдачи; |ОкончаниеСрока = Регистр.ОбмундированиеВыданное.ОкончаниеСрока; |ДокументСписания = Регистр.ОбмундированиеВыданное.ДокументСписания; |ФормаВыдачи = Регистр.ОбмундированиеВыданное.ФормаВыдачи; |Статус = Регистр.ОбмундированиеВыданное.Статус; |КодВидаДеятельности = Регистр.ОбмундированиеВыданное.КодВидаДеятельности; |Количество = Регистр.ОбмундированиеВыданное.Количество; |Сумма = Регистр.ОбмундированиеВыданное.Сумма; |Функция КоличествоКонОст = КонОст(Количество); |Функция СуммаНачОст = НачОст(Сумма); |Группировка Учреждение; |Группировка Сотрудник; |Группировка Обмундирование; |Группировка ДатаВыдачи; |Группировка ДокументВыдачи; |Группировка ОкончаниеСрока; |Группировка ДокументСписания; |Группировка ФормаВыдачи; |Группировка Статус; |Группировка КодВидаДеятельности; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей Учреждение Таб.ВывестиСекцию("Учреждение"); Пока Запрос.Группировка(2) = 1 Цикл // Заполнение полей Сотрудник Таб.ВывестиСекцию("Сотрудник"); Пока Запрос.Группировка(3) = 1 Цикл // Заполнение полей Обмундирование Таб.ВывестиСекцию("Обмундирование"); Пока Запрос.Группировка(4) = 1 Цикл // Заполнение полей ДатаВыдачи Таб.ВывестиСекцию("ДатаВыдачи"); Пока Запрос.Группировка(5) = 1 Цикл // Заполнение полей ДокументВыдачи Таб.ВывестиСекцию("ДокументВыдачи"); Пока Запрос.Группировка(6) = 1 Цикл // Заполнение полей ОкончаниеСрока Таб.ВывестиСекцию("ОкончаниеСрока"); Пока Запрос.Группировка(7) = 1 Цикл // Заполнение полей ДокументСписания Таб.ВывестиСекцию("ДокументСписания"); Пока Запрос.Группировка(8) = 1 Цикл // Заполнение полей ФормаВыдачи Таб.ВывестиСекцию("ФормаВыдачи"); Пока Запрос.Группировка(9) = 1 Цикл // Заполнение полей Статус Таб.ВывестиСекцию("Статус"); Пока Запрос.Группировка(10) = 1 Цикл // Заполнение полей КодВидаДеятельности Таб.ВывестиСекцию("КодВидаДеятельности"); КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; | |||
| 14
    
        zak555 27.04.12✎ 12:39 | 
        пересчитай итоги     | |||
| 15
    
        dusn 27.04.12✎ 12:39 | 
        хе, а код вида деятельности - это не иерархический справочник?     | |||
| 16
    
        xenos 27.04.12✎ 12:41 | 
        (14) Уже полное тестирование сделал. Причем это не по одной позиции.     | |||
| 17
    
        zak555 27.04.12✎ 12:41 | 
        выведи вот так :
  // Заполнение полей Статус //вставка+ сообщить("" + запрос.КоличествоКонОст ); //вставка- | |||
| 18
    
        xenos 27.04.12✎ 12:41 | 
        (15) Иерархический.     | |||
| 19
    
        xenos 27.04.12✎ 12:42 | 
        (17) Оно понятно. Не понятно почему вообще так.     | |||
| 20
    
        dusn 27.04.12✎ 12:45 | 
        судя по картинке с результатом - сначала выводится сумма по группе справочника (Бюджет), а потом по элементу из этой группы (бюджет федеральный)     | |||
| 21
    
        dusn 27.04.12✎ 12:46 | 
        попробуй написать
  |Группировка КодВидаДеятельности Без Групп | |||
| 22
    
        xenos 27.04.12✎ 12:48 | 
        (20) НА верхнем уровне по идее должна выводится их сумма.     | |||
| 23
    
        xenos 27.04.12✎ 12:50 | 
        (21) Ага, заработало. Спасибо.     | |||
| 24
    
        Жан Пердежон 27.04.12✎ 12:57 | 
        а в (0) наврал в примере)     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |