Имя: Пароль:
1C
 
Конкурс на лучший вопрос по построителю отчетов
0 PR
 
11.11.05
12:36
В этой ветке я буду отвечать на вопросы, которые мне будут задавать по построителю отчетов.
Через какое-то время я перепишу http://mista.ru/v8/repbuilder.htm с учетом развития платформы и этой ветки.
Тому, кто задаст вопрос по построителю отчетов, на который я не смогу ответить, почет и уважение :))
1 Волшебник
 
модератор
11.11.05
12:38
Для затравки: каким способом ты рекомендуешь делать порядковую нумерацию строк в отчете с помощью построителя?

2 Дяпти
 
11.11.05
12:38
Можно ли "переподчинить" ДоступноеПоле другому ДоступномуПолю?
3 Дяпти
 
11.11.05
12:39
Неужели правда все знает... Ну тогда держись :-)
4 PR
 
11.11.05
12:42
(1) С помощью самого построителя отчетов (ПО) никак, предлагаю в табличный документ, в который выводится результат (ТДР) вставить колонку и туда проставить номера
5 Волшебник
 
модератор
11.11.05
12:43
(1)+ Усложняем задачу: нумеровать строки нужно в пределах каждой группировки.

6 Дяпти
 
11.11.05
12:44
(5) На этот вопрос кажись я могу ответить, только будет тормозить так, что не рад будешь своей нумерации.
7 Волшебник
 
модератор
11.11.05
12:45
(4) Таким способом можно исправить ЛЮБУЮ погрешность построителя отчетов. Отсюда мораль: если построитель чего-то не может, делайте это без построителя.

8 PR
 
11.11.05
12:45
(2) И что в итоге должно получиться спрашивается? Пример можно, в которм бы это требовалось?
9 Дяпти
 
11.11.05
12:47
Пожалуйста: у меня есть справочник "Номенклатура" и регистр сведений "НоменклатрныеНомера", с измерениями "Фирма" и "Номенклатура". Нужный нам отчет однозначно выводится с отбором по одной "Фирме", что означает, что "НоменклатурыйНомер" теперь однозначно определяется "Номенклатурой", и хотелось бы, чтобы он выводился под "плюсиком" "Номенклатура". Вот и вопрос: как его туда запихнуть?
10 PR
 
11.11.05
12:51
(5) В этом случае можно предложить два варианта, я рекомендую первый:
1. После вывода в ТДР перед простановкой номера в каждой строке анализировать текст или расшифровку ячейки со значением нруппмровки
2. В запросе предусмотреть поле, которое будет чему-нибудь равно в случае, когда номер должен быть и NULL в противном случае, после вывода эту колонку при простановке номеров анализировать, потом удалить
11 PR
 
11.11.05
12:53
(7) Да, но таким образом нельзя дешево, быстро и красиво решить как миниму пару задач: визуальную настройку свойств ПО и вывод одной строкой ЛЮБОГО результата :))
12 PR
 
11.11.05
12:55
(9) Если я правильно понял, то что мешает взять номенклатуру из регистра сведений?
13 Дяпти
 
11.11.05
12:58
(12) Это не поможет. Непральна ты понял. Мне надо, чтобы "НоменклатурныйНомер" в формах выбора полей (такая с плюсиками, на которые нажимаешь, и все реквизиты справочника разворачиваются) был среди реквизитов справочника "Номенклатура".
14 EDS33
 
11.11.05
13:00
Это снова вопос про макет в пострителе. Делаю макет, посмотрел как он выглядит при автоматической генерации.
НовыйМакет = ПостроительОтчетаОтчет2.Макет;
НовыйМакет.Показать(); //(PR - спасибо за подзказу)
Отличие в новом именованном поле НоменклатураИерархия.
Но при выводе в фиксированном макете нет вывода этой иерархии.
Что делать?
15 EDS33
 
11.11.05
13:05
С одной стороны  - так как сейчас сделали - полезно - все вопросы по построителю в одном месте, а с другой - сейчас народ подтянется с вопросиками, которые не то что ответить понять не просто будет - (я тоже косноязычен - могу тока на пальцах да карандашом рисовать.)
Так некоторые вопросы и потеряются...
16 PR
 
11.11.05
13:11
(13) Так НоменклатурныйНомер к номенклатуре НИКАКОГО отношения не имеет, а ты его хочешь через точку привязать :o)
17 Дяпти
 
11.11.05
13:12
(16) Читай (9) (особливо про отбор по фирме) и отвечай или восторгайся вопросом, как ты и обещал в (0).
18 PR
 
11.11.05
13:13
(14) Самый простой способ, скопировать автоматически сгенерированный макет и заменить им фиксированный макет
19 PR
 
11.11.05
13:20
(17) У тебя в запросе источник - регистр сведений НоменклатурныеНомера, из него ты выбираешь поля "Номенклатура" и "Фирма", что не так?
20 Дяпти
 
11.11.05
13:25
(19) Запрос вот какой:

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

Хочу, чтоб НоменклатурныйНомер был среди реквизитов "Номенклатура", потому что имею на это полное право. Неужели непонятен вопрос?
21 PR
 
11.11.05
13:32
(20) Во-первых: зачем соединение, да еще левое с номенклатурой?
Во-вторых: я тоже, к примеру, могу захотеть, чтобы ссылка на форум МисТы был среди реквизитов "Номенклатура", но форум МисТы НИКАКОГО отношения к номенклатуре не имеет, а посему попасть туда никак не может :o)
22 PR
 
11.11.05
13:34
(21) А, вроде понял :o) Читаю дальше
23 PR
 
11.11.05
13:39
(20) Ну, во-первых: левое соединение с номенклатурой просто не нужно, оно ничего не добавляет в результат
Во-вторых: до сих пор не понятно, ЗАЧЕМ при раскрытии плюсика на номенклатуре видеть НоменклатурныйНомер и что это такое вообще, ссылка на запись регистра сведений что ли?!!
24 Дяпти
 
11.11.05
13:44
(23) 1) левое соединение не со справочником "Номенклатура", а "НоменклатураДляАналитики" (иерархическая надстройка над номенклатуным справочником).
2) Это блин строка.
25 PR
 
11.11.05
13:57
(24) Ну наконец-то понял :o)
Никак, так как запрос не знает, что номенклатурный номер у тебя один, это для него слишком сложно.
Подумай сам, запрос должен догадаться, что раз у тебя отбор по фирме на равенство и однозначное соответствие по номенклатуре, а других ключевых полей в регистре сведений нет... 8[...]
Вот если бы можно было в поле писать вложенный запрос, в котором выбиралась первая запись, тогда можно было бы :)))
26 PR
 
11.11.05
13:59
(+25) "Это блин строка" пишется как "Это, блин, строка" :)))
27 Дяпти
 
11.11.05
14:02
Да пусть не догадывается. Принудительно его как нить можно переложить?
28 Дяпти
 
11.11.05
14:03
Могу же я например, представление ПоляНастройки менять, может и родителя как нить можно?
29 Волшебник
 
модератор
11.11.05
14:12
(27) Это можно сделать, но не средствами построителя отчета. Назовем это методом Печёнкина.

30 PR
 
11.11.05
14:16
(27) Так е, подменив это в визуальной настройке, что ты с запросом потом делать-то будешь, запрос-то ты НИКАК не обманешь!!
31 Дяпти
 
11.11.05
14:17
Я бы изменил свойство "Родитель", а не свойство "ПутьКДанным".
32 PR
 
11.11.05
14:22
(28) Ага, представь себе похожую ситуацию, ты у элемента подчиненного справочника можешь поменять наименование, а раз можешь поменять наименование, то почему, спрашивается, нельзя его переподчинить, скажем документу "РасходнаяНакладная"? :o)
33 Дяпти
 
11.11.05
14:30
(32) Ну и че? Я вот могу всё файло потереть средствами языка 1С на компе, так что теперь - это надо было закрыть чтоль? Согласись, что в моем случае переподчинение вполне оправдано, так что енту возможность вполне можно было бы и оставить.
34 PR
 
11.11.05
14:39
(31) А, вон что ты хочешь :))
Я бы не стал так извращаться, хотя сработать думаю сработает.
Просто это поле не может быть дополнительным полем измерения номенклатура, только группировкой, а получается что-то типа "Смотрю в книгу, вижу фигу" :))
То есть смотрю в доступные поля, вижу, что при выводе номенклатуры я могу выводить номенклатурный номер как дополнительный номер, а на деле получается, что не могу :(
35 PR
 
11.11.05
14:40
(31) А, вон что ты хочешь :))
Я бы не стал так извращаться, хотя сработать думаю сработает.
Просто это поле не может быть дополнительным полем измерения номенклатура, только группировкой, а получается что-то типа "Смотрю в книгу, вижу фигу" :))
То есть смотрю в доступные поля, вижу, что при выводе номенклатуры я могу выводить номенклатурный номер как дополнительный номер, а на деле получается, что не могу :(
36 PR
 
11.11.05
14:41
(33) Когда писал (32) не видел (31) :o)
Сорри за дубль (35) ;)
37 Дяпти
 
11.11.05
14:44
(29) Это как? И почему "аФФтар" молчит тогда?
38 PR
 
11.11.05
14:50
(37) Очень просто, если я правильно помню, с помощью редактирования реквизита доступного поля, который является списком полей, подчиненных данному полю.
ЗЫ: Я не аФФтар, я автор, прошу учесть, если не сложно.
Не перевариваю два типа людей: тех, которые коверкают русский язык и записываются добровольно в дураки (придурки, имбицилы, тупые...) :o)
39 PR
 
11.11.05
14:53
(+38) Просто реквизит "ДоступныеПоля" в ПО содержит список полей, у которых ни один из реквизитов не является ссылочным, сплошные строки, а посему пихать туда можно что угодно, вопрос только в том, найдет ли ПО потом по тому, что вы туда пихнули, соответствующее поле в запросе :)))
40 PR
 
11.11.05
14:56
(+39) Кроме, ессно, реквизита, в котором как-раз хранится список подчиненных полей, то есть полей, которые покажутся, если нажать плюсик ;)
41 Дяпти
 
11.11.05
14:59
Я и есть тупой, иначе бы не задавал вопросы, а отвечал на них, как ты, автор :-) Что то я ничего из написанного в (38-40) не понял. Можно кусок кода применительно к моему случаю?
42 PR
 
11.11.05
15:13
(41) Я здесь отвечаю не потому, что умный, хотя и в тупые не записывался :o)
Да все просто:
1. Запусти отладчик
2. Посмотри у построителя реквизит "ДоступныеПоля"
3. Выбери какое-нить поле из доступных полей (типа Номенклатура, то есть то, где есть плюсик)
4. Посмотри значение свойства "Поля" и все поймешь :))
Или как вариант посмотри по Ctrl + F1 "Прикладные объекты/Универсальные объекты/ПолеНастройки/Свойства/Поля" ;)
43 Дяпти
 
11.11.05
15:15
(42) я уже так делал, и все равно ничего не понял.
44 PR
 
11.11.05
15:19
(43) Да е, что непонятно-то, спроси поконкретнее :o)
Иерархия в доступных полях только для визуального удобства, для запроса важен путь к данным, а не то, где в иерархии находится это поле
45 Дяпти
 
11.11.05
15:28
Да, мне надо именно "Иерархия в доступных полях только для визуального удобства"
46 Дяпти
 
11.11.05
15:29
А не понял я как... блин, по 5-му кругу уже напряжно... как переподчинить ПолеНастройки!
47 PR
 
11.11.05
15:32
(46) А, понял :o)
Никак :)))
Его не переподчинить надо, а "там" удалить и "здесь" создать, точнее сначала скопировать куда надо, а потом удалить там, где не нужно :)))
48 Дяпти
 
11.11.05
15:37
Хорошо. Поставим вопрос по другому. Удалить я его коенчно же смогу. А создать вот почему то не получается, ну не хочет он создаваться и все тут. Попробуй.
49 PR
 
11.11.05
15:41
(48) А что пробовать, я создавал :))
Реквизит доступного поля из коллекции доступных полей - это же объект типа ПоляНастройки, у которого есть метод Добавить(), вот им и пользуйся
50 Дяпти
 
11.11.05
15:42
Точнее будет сказать "не хочет создаваться в полях поля "Номенклатура"". В корне вроде чего то создавалось кажись, но точно не помню. Но мне же надо не в корне дерева.
51 Дяпти
 
11.11.05
15:43
(49) Он добавляется в корень.
52 PR
 
11.11.05
15:48
(51) А у чего ты вызываешь метод Добавить()?
53 Дяпти
 
11.11.05
15:52
ПостроительОтчета.ДоступныеПоля.Номенклатура.Поля.Добавить(); // так примерно, короче Добавить() в коллекцию Полей Поля Номенклатура. Поле вроде создается, но свойство Родитель все равно остается равным Неопределено.
54 PR
 
11.11.05
16:19
(53) Проверил, согласен, баг платформы IMHO, так как свойство поля "Родитель" только для чтения, а при добавлении поля не устанавливается :o)
Предложения стандартные, ждать, пока 1С пофиксит, если она вообшще до этой ветки на МисТе доберется :))
ЗЫ: Я пробовал добавлять поля только в корень, роэтому раньше не сталкивался с этим багом ;)
55 PR
 
11.11.05
16:35
Неплохо, очень неплохо, 54 поста, три вопроса, три ответа, один баг в платформе =))
Просто, можно сказать, закидали вопросами :)))
Может и статью не переписывать? :o)
Или пятница просто? ;)
56 PR
 
11.11.05
17:03
Мне вот интересно, а народ в основной своей массе вообще использует построитель или по старинке как в 7.7 фиксированные отчеты строгает? :o)
57 EDS33
 
11.11.05
18:24
(14) Это снова по вопросу.
Так как говорил (18) я уже раньше сделал. Но иерархия не выводится.
58 EDS33
 
11.11.05
18:25
Прбывал иерархиию указать типа
ПостроительОтчетаОтчет2.ИзмеренияСтроки.Найти("Номенклатура").ТипИзмерения = "Иерархия";
Но ругается - Ошибка при установке значения атрибута контекста (ТипИзмерения): Несоответствие типов
59 PR
 
11.11.05
18:31
(58) Так свойство ТипИзмерения у измерения построителя имеет тип не строка, а ты строку присваиваешь :o)
60 PR
 
11.11.05
18:31
(58) Так свойство ТипИзмерения у измерения построителя имеет тип не строка, а ты строку присваиваешь :o)
61 PR
 
11.11.05
18:34
(+59) Посмотри в синтакс-помошнике (СП) тип свойства ТипИзмерения и все поймешь
62 EDS33
 
11.11.05
18:36
А, действительно торможу сильно - не так давно в этом бизнесе...
63 EDS33
 
11.11.05
18:42
Да, все правильно - сдвинулся с мертвой точки - значит изначально все же мысли текут в нужном направлении, только вот что странно...
Я ему в макете указываю пустые поля в строке НоменклатураИерархия, а он в них все равно группировку выдает.
64 PR
 
11.11.05
18:54
(63) Что значит "пустые поля", значит не все там пустое ;)
65 EDS33
 
11.11.05
18:54
Да точно, он не в эту область выводит группировки, а туда же где и обычная номенклатура
в макете области:
....
шапка,
НоменклатураИерархия,
Номенклатура,
детали,
.....
Как выводить папку из номенклатуры в НоменклатураИерархия?
66 EDS33
 
11.11.05
18:56
В области Номенклатура иерархия только в столбце номенклатура оставил параметр <номенклатура>, в остальных столбцах все значения удалил.
Да и как сам построитель понимает, что иерархический список нужжно выводить в эту область?
67 EDS33
 
11.11.05
18:56
В области Номенклатура иерархия только в столбце номенклатура оставил параметр <номенклатура>, в остальных столбцах все значения удалил.
Да и как сам построитель понимает, что иерархический список нужжно выводить в эту область?
68 PR
 
11.11.05
18:58
(66) Что значит "как", очень просто, иерархия - это то, где номенклатура - группа! :))
69 EDS33
 
11.11.05
19:00
(66)Задваивается чего-то. Число наверное не понравилось....
Как я понимаю по работе данного макета - ему именованное поле НоменклатураИерархия - ничего не говорит.
Как построителю сказать , что б он выводил группы в эту область - НомеклатураИерархия,
а номенклатурные позиции в область - Номенклатура, в которой существуют и другие поля - приход, расход, начальныйостаток.... и т.д.?
70 EDS33
 
11.11.05
19:04
(68) Так понятно... Но Построитель точно не использует поле, в фиксированном макете.
Я его только что удалил - логика работы не изменилась.
71 PR
 
11.11.05
19:04
(69) Задваивается, когда по Ctrl + Enter отправляешь :o)
Так а ты уверен, что построитель вообще ТВОЙ макет использует?
Попробуй, например, область Номенклатура удали, что будет?
72 EDS33
 
11.11.05
19:06
Поставил на место.
Вопрос: как сказать построителю, чтоб он использовал конкретное поле для вывода номенклатуры, которая является группой.
73 EDS33
 
11.11.05
19:08
Ну издеваться то, я сам этот макет подключал  - ПостроительОтчетаОтчет2.Макет = ОтчетОбъект.ПолучитьМакет("Отчет2");
74 EDS33
 
11.11.05
19:09
Удалил, для проверки - иерархия остается, но поля пустые совсем.
75 PR
 
11.11.05
19:10
(72) Вроде в свойствах измерения есть свойство "МакетИерархии", только вот почему у тебя туда макет Номенклатура, а не НоменклатураИерархия попадает, непонятно :o)
76 EDS33
 
11.11.05
19:13
(74)Поля где номенклатура должна отображаться.
А в поле НоменклатураИерархия при этом параметр <Номенклатура> был.
Т.е. по любому это поле он не видит.
77 EDS33
 
11.11.05
19:33
Что нибудь типа
ПостроительОтчетаОтчет2.ИзмеренияСтроки.Найти("Номенклатура").МакетИерархии.Область(
Дальше чего-то забуксовал...
78 PR
 
11.11.05
19:38
Так открой СП, посмотри, там же написано, что надо либо область либо имя области передавать :o)
79 EDS33
 
11.11.05
19:38
ПостроительОтчетаОтчет2.ИзмеренияСтроки.Найти("Номенклатура").МакетИерархии.ПолучитьОбласть(ПостроительОтчетаОтчет2.Макет.Области.Найти("НоменклатураИерархия"));    

На это снова ругается Значение не является значением объектного типа (ПолучитьОбласть)
80 PR
 
11.11.05
19:43
Ну во-первых, не
ПостроительОтчетаОтчет2.ИзмеренияСтроки.Найти("Номенклатура").МакетИерархии.ПолучитьОбласть(ПостроительОтчетаОтчет2.Макет.Области.Найти("НоменклатураИерархия"));
а тогда уж
ПостроительОтчетаОтчет2.ИзмеренияСтроки.Найти("Номенклатура").МакетИерархии = ПостроительОтчетаОтчет2.Макет.Области.Найти("НоменклатураИерархия");
А ввобще я бы так написал
ПостроительОтчетаОтчет2.ИзмеренияСтроки.Найти("Номенклатура").МакетИерархии = "НоменклатураИерархия";
81 PR
 
11.11.05
19:43
(+80) Читай внимательнее СП!
82 EDS33
 
11.11.05
19:49
Не, не берет его так прсто, хотя ошибок не выдает,
Но я в строке НоменклатураИерархия высоту текст изменил на 2 пункта, а он все тот же выдает.
Так что точно не берет НоменклатураИерархия.
83 PR
 
11.11.05
19:55
Просто ты себе не представляешь четко, что откуда берется, а посему почитай ИТС, там есть статейка про редактирование макета построителя :))
84 PR
 
12.11.05
01:16
Ладно, перерыв на выдувание ноздрями пыли из подушки :o)
85 Дяпти
 
12.11.05
09:54
А вот еще наверное простой вопрос, но что то он меня сильно волнует, и малой кровью решить не получается: можно ли поменять стандартное представление объекта при выводе отчета с помощью ПО? Мне вот например надо документ одного вида выводить не в стандартном представлении, а по другому, примерно так (шаблон): Договор №[НомерДокумента] от [ДатаДокумента, только без времени]. В тексте запроса склеить в одном поле Строку и Дату неполучится, а при изменении макета и я вном проставлении там Параметра дата выводится с нулевым временем в конце, что не есть гуд. Чего делать?
86 PVasili
 
12.11.05
11:08
(1) Преобразования типов? строка+число+строка нормально слабо?
87 PR
 
12.11.05
11:40
(85) Нельзя, обсуждали много раз, но красивого решения не нашли :(
88 PR
 
12.11.05
11:40
(86) Так нельзя, попробуй
89 Дяпти
 
12.11.05
11:46
А можно изменить размер отступа при выводе группировок (параметр "Отступ" области ячеек табличного документа)?
90 PR
 
12.11.05
11:54
(89) Я так думаю через макет можно, почему нет? ;)
91 Дяпти
 
12.11.05
12:04
А без заморочек с макетом?
92 PVasili
 
12.11.05
12:05
(86) Вообщето есть варианты, но все через ж..пу. Неужели сложно сделать преобразования... Раньше же работало :(
93 PR
 
12.11.05
12:05
(91) Ну ты еще спроси, а без заморочек с этим программным кодом? :o)
94 Дяпти
 
12.11.05
12:08
Я просто еще тольком не разобрался с ентими макетами фиксированными. Есть где почитать про енто?
95 PR
 
12.11.05
12:09
(92) Варианты через ж..пу красивыми не назовешь, верно?
Раньше много что работало, например можно было в запрос вставлять функцию, возвращающую какое-либо значение, что ж теперь?
(94) На ИТС неплохо написано
96 PVasili
 
12.11.05
12:10
Вариант на ITLand был, просто вопрос, кому оно мешало? :)
97 PR
 
12.11.05
12:17
(96) 1С отказалась от многих самописных вариантов и по возможности привела все это к стандарту SQL
98 PVasili
 
12.11.05
12:24
это LOL или где почитать можно? источник в студию...
99 PR
 
12.11.05
12:29
(98) Какой LOL :o)
Уж не помню где, то ли на сайте, то ли на ИТС, то ли в стандартной поставке прочитал, а что тут такого смешного-то, это действительно так по-сравнению с 7.7 :o)
100 Demiurg
 
12.11.05
12:30
(97) В качестве пожелания. В чистом виде построитель конечно может тоже интересен. Но гораздо большей наглядности можно добиться, разбирая примеры применеия в типовых. Можно взять за пример обработку ПечатьПрайсЛиста или отчет ОтчетОстаткиИОбороты (УТ, УПП). Что ни говори, а пользы то в практическом смысле прибавиться. И может не совсем по теме, но если приведешь пример, как в процедуре общего модуля отчет "ЗаполнитьНачальныеНастройкиПоМакету()" доработать соединение с регистрами сведений  (универсально), цены твоей статье не будет. Стольким людям поможешь.
101 PR
 
12.11.05
12:35
(100) Что значит "в чистом виде", интересен он как-раз толкьо в применении к чему-либо :o)
Но перед тем, как чем-то пользоваться, нужно это что-то изучить, правильно?
По поводу универсального соединения с регистрами сведений не говорю нет вообще, но сейчас точно нет, не до этого, да и работа эта фирмы 1С, а не моя ;)
102 Дяпти
 
12.11.05
12:42
(95) Там написано: (блин, а через буфер то и не копируется), в общем, что полный перечень областей макета оформления находится в документации. Че та найти не могу, задолбался. Не кинешь ссылочку?
103 PR
 
12.11.05
12:45
(102) Какую ссылочку? На что? На книгу?
Пожалуйста, мой шкаф, третья полка сверху, последние четыре книги справа :))
104 Demiurg
 
12.11.05
12:46
(101) ответ исчерпывающий, обидеть не хотел
105 Дяпти
 
12.11.05
12:49
Очень смешно. Документация есть в файлах в BIN. Вот на место в таком файле и хотелось ссылку. А книги у меня есть, только они старые очень, и там про енто точно нифига нет.
106 PR
 
12.11.05
12:51
(105) Так найди по поиску, ты же знаешь, что искать, введи, например, имя области какое-нить :o)
107 Дяпти
 
12.11.05
12:54
(106) Спасибо :-) Нашел: file:///C:/Program%20Files/1cv8/V8AddDoc805.htm#_Toc62978769
108 Дяпти
 
12.11.05
13:00
Ну ни фига себе там всяуих областей то... И ты типа со всеми ними разобрался чтоль? Ай маладца :-)
109 PR
 
12.11.05
13:28
Перерыв на часа полтора :o)
110 PVasili
 
12.11.05
14:26
(99) Найди источник, я пока не слышал из офицала. Стандартом(если так можно об SQL) пахнет только из далека. О 7.7  вообще лучше молчать, свой велосипед в эпоху существования воздушного транспорта и ракет... :)
111 PR
 
12.11.05
15:03
(110) Я и не говорил, что в 8.0 чистый SQL, но по сравнению с 7.7...
112 PR
 
12.11.05
15:24
(110) На ИТС есть статья "Важные отличия от версии 7.7".
В ней в разделе Запросы написано "Переработан механизм запросов. Язык запросов стал похож на стандартный SQL, в некоторых аспектах даже превосходя его.".
113 PVasili
 
12.11.05
15:41
(112) "привела все это к стандарту SQL" и "стал похож на стандартный SQL", а о стал лучше я молчу(перевели на русский ключевые слова?)... PR у 1С на высоте как всегда :)
114 a что
 
12.11.05
15:43
sql верх совершенства?
115 PR
 
12.11.05
15:47
(113) Ты хотел ссылку на официальный источник, ты ее получил
116 skunk
 
12.11.05
15:52
(114)вверх совершенства это нирвана...
117 PVasili
 
12.11.05
15:54
(114) а что есть лучше и универсальнее, по твоему? (116) прав :))
118 PR
 
14.11.05
11:44
Если еще будут вопросы, задавайте со среды, сегодня - завтра не смогу ответить :o)
119 PR
 
15.11.05
19:51
Будем считать это небольшим апом ;)
Если кому не срочно, можете писать вопросы, я прочитаю завтра, отвечу :))
120 frashman
 
16.11.05
02:08
почему 1с в построителе не предусмотрела нумерацию строк, мне кажется это просто!
121 Волшебник
 
модератор
16.11.05
07:23
(120) Читаем первый пост.

Результат запроса можно выгрузить в таблицу значений, там добавить колонку и пронумеровать ее, затем эту таблицу значений подать на вход построителя отчета как источник данных.
122 Vint Kras
 
16.11.05
07:29
(0) что такое v8 ?
123 Волшебник
 
модератор
16.11.05
07:30
(122) Читаем тут www.v8.1c.ru
124 AntonU
 
16.11.05
10:30
Как использовать построитель запроса при работе с таблицей значений (там 3 элемента - магазин типа "СправочникСсылка.Магазины", валюта типа "СправочникСсылка.Валюты" и ВалСумма типа "Число")? В дальнейшем в таблицу планируется добавить еще несколько колонок...
125 AntonU
 
16.11.05
10:34
Результат запроса можно выгрузить в таблицу значений, там добавить колонку и пронумеровать ее, затем эту таблицу значений подать на вход построителя отчета как источник данных - хотелось бы увидеть простенький пример...
126 AntonU
 
16.11.05
11:37
Что-то на диске ИТС не вижу примера с таблицей значений. Где же искать его?
127 AntonU
 
16.11.05
12:52
Эх, придется в справочник таблицу пихать, увы...
128 PR
 
16.11.05
13:47
(124) ИТС за ноябрь 2005 года,
раздел "1C. Методическая поддержка 1С :Предприятия 8.0",
Статья "Работа построителя отчета и построителя запроса с произвольным                           источником данных"
129 AntonU
 
16.11.05
13:49
Смотрел я. Только практически с таблицей значений не получается... Не видит ее конструктор, а руками я не знаю как писать код...
130 PR
 
16.11.05
14:48
(129) Мда, посмотрел, попробовал, вспомнил, что все не так просто :o)
В общем работает что-то типа

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

Единственное, колонки дерева не привязываются к источнику, посему их надо привязать вручную что ли, не стал вспоминать полностью, так как на ИТС же опять есть пример работы с произвольным источником данных в универсальных обработках "Консоль анализа журнала регистрации", смотри там.
131 AntonU
 
16.11.05
14:51
Большое спасибо!
132 PR
 
16.11.05
15:03
(131) Пожалуйста :)))
133 Дяпти
 
16.11.05
15:23
А как упорядочить поля в форме выбора полей в нужном мне порядке?
134 PR
 
16.11.05
15:28
(133) Эээ, судя по всему только так Построитель.ДоступныеПоля.Сдвинуть(<Поле>, <Сдвиг>);
135 Дяпти
 
16.11.05
15:32
(134) Проверял? Чета не работает у меня.
136 Дяпти
 
16.11.05
15:35
Точно: не работает. Вот и вопрос, на который ты не ответил :-)
137 Волшебник
 
модератор
16.11.05
15:37
(136) Почёт и уважение возьмите в кассе, уважаемый! :)

138 Дяпти
 
16.11.05
15:39
А можно кувалду на денек? Я добрый :-)
139 PR
 
16.11.05
15:46
(135) Проверил, не работает, IMHO косяк 1С
(136) Что это, отвечаю "без гемора IMHO никак, с гемором удалить все доступные поля и ВРУЧНУЮ создать в нужном порядке" :)))
ЗЫ: Странно, но ведь кнопочки вверх и вниз работают!!
140 Дяпти
 
16.11.05
15:48
(139) Не получится. А правильный ответ вот тут: v8: Сортировка в форме выбора доступных полей в ПостроителеОтчета
141 PR
 
16.11.05
15:50
(140) Ну да, безумно красивое решение :))) Извращением попахивает :o)
Хотя не спорю, что решение ;)
142 Волшебник
 
модератор
16.11.05
15:53
(138) Можно и не на денёк, если остальные модераторы не будут против. Кстати, стукнись в аську, я хотел еще один вопрос с тобой обсудить.

143 PR
 
16.11.05
15:56
(+141) Одно из решений ;)
144 Дяпти
 
16.11.05
15:56
(141) И ниче не извращением. По крайней мере достигаемый результат имхо стоит таких телодвижений.
145 PR
 
16.11.05
15:57
(+143) Но с гемором, как я и сказал в (139) :)))
146 PR
 
16.11.05
16:01
(144) То, что это решение, соглашусь, то, что без гемора, не соглашусь.
Во-первых у меня в коде будут не названия полей, а названия полей с дополнениями впереди :-!
Во-вторых при необходимости дать пользователю возможность интерактивного выбора варианта сортировки (скажем, по алфавиту, по алфавиту в обратном порядке, по наличию вложенных полей и т. д.) все это уже не сработает :(
147 PR
 
16.11.05
16:09
Могу, кому интересно, сказать про еще один не то, чтобы косяк, но недоработку 1С.
У доступных полей при отображении их в табличном поле есть несколько элементов контекстного меню типа "Добавить в...", например "Добавить в измерения".
Так вот программных аналогов им нет и приходится проводить сей процесс добавления вручную, если я, скажем, перетаскиваю поле из доступных в измерения строки :(
148 Дяпти
 
16.11.05
16:10
(146) Какой еще сортировки? Это уж перебор. Вопрос был, чтобы в форме выбора, например, поле Фирма стояло выше поля Склад, как и требует здравый смысл. Сортировка то тут на фига? А уж "коде будут не названия полей, а названия полей с дополнениями впереди" - ты прикалываешься? Это и (140) по твоему не одно и то же?
149 Дяпти
 
16.11.05
16:14
(147) Не понял... А например

ПостроительОтчета.ИзмеренияСтроки.Добавить("НазначениеСырья");
ПостроительОтчета.ИзмеренияСтроки.Добавить("Номенклатура");
ПостроительОтчета.ИзмеренияКолонки.Добавить("Место");
ПостроительОтчета.Порядок.Добавить("Номенклатура.Наименование");
ПостроительОтчета.Порядок.Добавить("НазначениеСырья");
ПостроительОтчета.Порядок.Добавить("Место");

это не то? Ты что имеешь ввиду?
150 PR
 
16.11.05
16:18
(148) Я просто говорю про то, что в случае задачи предоставления пользователю нескольких вариантов сортировки, из которых он интерактивно может выбрать любую (скажем, захотел, отсортировал по алфавиту, захотел, по наличию вложенных полей...) этот вариант уже не годится :(
А по поводу дополнений впереди имени поля вообще никаких приколов, то есть получается вместо Фирма и Склад у меня будет П001_Фирма и П002_Склад?

(149) Ну, хотелось бы примерно так :)))
ПолеДобавлено = Построитель.ИзмеренияСтроки.Добавить(Построитель.ДоступныеПоля.Найти("НазначениеСырья"));
151 Дяпти
 
16.11.05
16:25
(150) 1. Ну да. Примерно так. Хотя я бы делал может более обезличено: Параметр001, Параметр002 и т.д. Смысл тут один и тот же.
2. Че та я в твоем коде разглядел лишь странное желание городить больше букв. Переводя дословно твой код на мой получается примено так:
Если Построитель.ДоступныеПоля.Найти("НазначениеСырья") <> Неопределено тогда
НоваяСтрока = Построитель.ИзмеренияСтроки.Добавить("НазначениеСырья");
КонецЕсли;
это чем то не укстраивает? Чем?
152 PR
 
16.11.05
16:32
ОПА! Занятная вещь, метод Сдвинуть() работает, то есть после

ПостроительОтчетаТЗ.ДоступныеПоля.Сдвинуть(ПостроительОтчетаТЗ.ДоступныеПоля[0], 1);

поле с индексом 0 сдвигается, а вот в табличном поле НИЧЕГО не менятся :(
153 Asmody
 
16.11.05
16:38
неасилилпатамуштастихи
154 PR
 
16.11.05
16:38
(151) Чтобы было понятнее, напишу так:

ДоступноеПоле = Построитель.ДоступныеПоля.Найти("НазначениеСырья");
ПолеДобавлено = Построитель.ИзмеренияСтроки.ДобавитьИзДоступногоПоля(ДоступноеПоле);

или как вариант

ДоступноеПоле = Построитель.ДоступныеПоля.Найти("НазначениеСырья");
ПолеДобавлено = Построитель.ДобавитьИзмерениеСтрокиИзДоступногоПоля(ДоступноеПоле);

где:
ДоступноеПоле - одно из доступных полей построителя
ПолеДобавлено - результат добавления поля, тип булево
ДобавитьИзДоступногоПоля или ДобавитьИзмерениеСтрокиИзДоступногоПоля - метод, позволяющий выполнить программно то, что можно сделать интерактивно.
И вот этого самого метода (ДобавитьИзДоступногоПоля или ДобавитьИзмерениеСтрокиИзДоступногоПоля) НЕТ :(
155 PR
 
16.11.05
16:40
(153) И не осиливай, будет вопрос, задавай, я, если отвечал, вспомню, тебе номер поста напишу :))
Или в аську стучись :))
156 Asmody
 
16.11.05
16:43
(155) да уж истину говоришь - в аську проще.
157 Дяпти
 
16.11.05
16:44
А че енто за метод такой ты хочешь: ДобавитьИзДоступногоПоля ? Он так и так добавит из доступного поля, откуда ж еще то? Из недоступного чтоль?
158 PR
 
16.11.05
17:00
(157) Да е мое, не из доступного поля он добавит, он добавит новое поле (если найдет ему соответствие среди полей запроса!), для которого ты САМ указываешь Имя и ПутьКДанным!!
Где ты в строке

НоваяСтрока = Построитель.ИзмеренияСтроки.Добавить("НазначениеСырья");

используешь доступные поля?

А, с другой стороны, можешь сам добавить в доступные поля какое-нить глупое поле, не имеющее соответствия в полях запроса, типа поле с именем и путем к данным "Вася", то есть примерно так:

Поле = Построитель.ДоступныеПоля.Добавить("Вася", "Вася");
Поле.Измерение = Истина;

Теперь попробуй интерактивно добавить его в измерения строки, ПО попробует, не сможет и не добавит, так как не найдет этому полю соответсвия, все логично.
А теперь попробуй написать что-нить типа

Поле = Построитель.ИзмеренияСтроки.Добавить("Вася");

Вылетает ошибка, тое сть перед добавлением я САМ должен проводить поиск среди полей запроса с именем "Вася" и проверять, могу ли я его использовать в измерениях, то есть делать то, что делает ПО при интерактивном добавлении этого поля в измерения!!
159 PR
 
16.11.05
17:19
По мотивам (135, Дяпти) Фантастика какая-то 8-[...]

НИЧЕГО не менял, просто из другого места вызвал команду

Построитель.ДоступныеПоля.Сдвинуть(Построитель.ДоступныеПоля[0], 1);

и... все сработало :)))
Поистине темны глубины 1С :)))
160 PR
 
16.11.05
17:33
(+159) А вот интерактивных кнопочек для доступных полей почему-то вообще не предусмотрено, что странно :(
161 PR
 
16.11.05
17:35
(+159) Самое интересное то, что сейчас попробовал вызывать эту команду из того места, где на работало... теперь работает :o)
Странно, очень странно :o)
162 Волшебник
 
модератор
16.11.05
17:37
(161) МИСТика...
163 PR
 
16.11.05
17:39
Во-во.
Или 1С по мотивам этой ветки посредством мощного мысленного воздействия всего коллектива фирмы телепатически правит баги online 8-)
164 lorinser
 
16.11.05
21:55
PR

в качестве источника данных - таблица значений.. некоторые колонки имеют тип СпарвочникСсылка.. как сделать так.. чтобы выводились итоги по иерархии этой колонки? (-: вот на этот вопрос точно ответа не будет..
165 PR
 
16.11.05
22:28
(164) Почему, ответ будет, НИКАК :)))
На ИТС так и написано про режим работы с произвольным источником данных "построитель отчета предоставляет свою полную функциональность, за исключением вывода иерархических итогов."
166 PR
 
16.11.05
22:33
(+165) Я вот не понял, это неумение/нежелание читать ИТС или вопрос звучал по-другому, что-то типа "А как вывести итоги по иерархии, несмотря на то, что стандартно это нельзя"? :)))
Если второе, то таких вопросов можно придумать вагон, как с помощью ПО написать драйвер видеокарточки, как в ПО проиграть видео, как с помощью ПО соблазнить девушку... ;)
167 frashman
 
17.11.05
02:16
(121) спасибо за подсказку, а можешь написать как подавать на вход?
168 PR
 
17.11.05
02:59
(167) Не советую так делать, так как (164) + (165)
Если же все-таки хочешь, читай (128), (130) и ИТС
169 Lady_x
 
17.11.05
09:57
ПостоительОтчета.Текст="    
|ВЫБРАТЬ
|СтатьяЗатрат             КАК СтатьяЗатрат,
|СуммаЗатрат              КАК СуммаЗатрат,
|Ссылка.Контрагент        КАК Контрагент
|{ВЫБРАТЬ
|    СтатьяЗатрат.*             КАК СтатьяЗатрат,
|    СуммаЗатрат              КАК СуммаЗатрат,
|    Ссылка.Контрагент.*        КАК Контрагент}
|Из
|    Документ.Смета.Дополнительно КАК СметаДополнительно";

Ругается на строчку :
ПостроительОтчета.ИзмеренияКолонки.Добавить(Измерение, Измерение, ТипИзмеренияПостроителяОтчета.Элементы);

Не найдено измерение. "СтатьяЗатрат"

Я видимо неправильно указываю путь к данным, подскажите как надо. плиз
170 Lady_x
 
17.11.05
13:18
вот запрос ПО:
   |ВЫБРАТЬ
       |    Ссылка.Контрагент        КАК Контрагент,
       |    Ссылка.ДоговорВзаиморасчетов        КАК Договор,
       |    Ссылка.СкладКомпании           КАК СкладКомпании,
       |    Ссылка.Контрагент.Представление        КАК КонтрагентПредставление,
       |    Ссылка.ДоговорВзаиморасчетов.Представление        КАК ДоговорПредставление,
       |    Ссылка.СкладКомпании.Представление           КАК СкладКомпанииПредставление,
       |    Ссылка.СуммаДокумента               КАК СуммаДокумента,
       |    0              КАК Факт
          |{ВЫБРАТЬ
       |    Ссылка.Контрагент.*        КАК Контрагент,
        |    Ссылка.ДоговорВзаиморасчетов.*        КАК Договор,
        |    Ссылка.СкладКомпании.*                КАК СкладКомпании,
         |    Ссылка.СуммаДокумента                  КАК СуммаДокумента,
       |    0                                      КАК Факт }
          |Из
       |    Документ.ЗаказПокупателя КАК СметаДополнительно
       |{ГДЕ
       |    Ссылка.Контрагент.*             КАК Контрагент,
       |    Ссылка.ДоговорВзаиморасчетов.*  КАК Договор,
       |    Ссылка.СкладКомпании.*          КАК СкладКомпании }
         |{ИТОГИ ПО
       |    СкладКомпании.*                              КАК СкладКомпании,
       |    Договор.*                                    КАК Договор,
       |    Контрагент.*                                КАК Контрагент
       |}
       |ИТОГИ Сумма(СуммаДокумента),Сумма(Факт)
       |ПО ОБЩИЕ ";


Когда смотрю ПостроительОтчета.Результат там нет полей СуммаДокумента и факт
171 PR
 
17.11.05
15:31
(169) Логично, в ИТОГИ-то оно не входит
(170) Правильно, так как оно ВСЕГДА будет выбрано и его нельзя убрать, раз оно есть в ВЫБРАТЬ, но его нет в {ВЫБРАТЬ}
172 PR
 
17.11.05
23:54
Апну на всякий... =)
173 SKrin
 
18.11.05
00:56
а я вот пишу свой "построитель отчетов"
чтобы выводил в "сводную таблицу" и при это можно было задавать данные, которые он выводил и управлять ими
174 PR
 
18.11.05
01:00
(173) Стадартный ПО можно использовать со сводной таблицей, ты знаешь это?
175 SKrin
 
18.11.05
01:01
(174) да, знаю
но попробуй сделай в сводной произвольное значение в колонке
176 PR
 
18.11.05
01:02
(+174) Вот что действительно можно написать самому, так это свой универсальный вывод в табличный документ, слишком часто хочется поучаствовать в этом процессе :o)
177 PR
 
18.11.05
01:03
(175) Не, я бы такой могучий механизм не рискнул бы заново делать :o)
178 SKrin
 
18.11.05
01:05
(176) работаю счас над таким проектом-типа универсального движка аналитических отчетов: задаешь запрос и "формулы" расчета дополнительных данных(например: среднее значение по итогам или группировкам)
пока возникает много вопросов, еще по задаю тут :)
179 SKrin
 
18.11.05
01:06
+178 но уже контур вырисовывается
180 SKrin
 
18.11.05
01:08
(177) да вот же
слабость сводной таблицы-это зависимость от результата запроса
если бы результом запроса можно было оперировать, то было бы оотлично, но к сожалению это пока невозможно
приходится выеживаться
181 PR
 
18.11.05
01:09
(178) Моя практика показывает, что универсальные вещи ограничены и очень дороги, в то же время мало кому нужны :o)
Что ж, задавай, только уже пожалуй зав... эээ... сегодня, но часов с 12 - 13-ти :)))
182 SKrin
 
18.11.05
01:10
(181) понимаю :)
183 PR
 
18.11.05
01:11
(180) Сводная таблица может зависеть не от результата запроса, а от построителя :))
И потом, что-то я не понял проблемы :o)
Напиши, завтра почитаю, может что скажу :o)
184 PR
 
18.11.05
01:14
(180) Источником данных сводной таблицы может быть также и ПО.
Что-то я не понял проблемы :o)
Напиши, я завтра почитаю, может что скажу ;)
185 PR
 
18.11.05
01:16
По мотивам (183) и (184): Странно, глюки какие-то, то пропал (183) пост, то появился, пока (184) писал :o)
186 SKrin
 
18.11.05
01:21
(184) посторитель отчета? на мой взгляд у него тоже есть ограничения
ИМХО, все зависит от того что предоставит ему результат запроса
типичный вопрос: v8: Агрегатные функции в итогах запроса
результат совсем не реальный
187 SKrin
 
18.11.05
01:37
(183-184) может я не совсем понял, что заначит от зависит посторителя?
вроде ИсточникомДанных для них является результатЗапроса?
188 slow
 
18.11.05
07:27
как узнать количество(число) сотрудников в Группировке Сотрудник. Сотрудник - измерение оборотного регистра
189 PR
 
18.11.05
11:39
(187) Источником данных для сводной таблицы может быть ПО или результат запроса, на ИТС написано.
190 PR
 
18.11.05
11:46
(186) Все читать влом потому что вроде проблема примерно похожа на ту, с которой мучился я:
Есть отчет продажи, группировка по иерархии по Номенклатуре, показатели Количество, Сумма продажи, Себестоимость, Рентабельность.
Рентабельность = (Сумма продажи - Себестоимость) / Себестоимость * 100
Спрашивается, как для групп номенклатуры выводить правильную рентабельность?
Ответ: в девятом вроде релизе (или 10-м) появилась возможность в ИТОГАХ в запросе писать всяку хрень, например конструкцию ВЫБОР или что-то типа СУММА(х) / СУММА(у).
Поэтому в данном случае нужно написать примерно так: (СУММА(Сумма продажи) - СУММА(Себестоимость)) / СУММА(Себестоимость) * 100.
Я правильно угадал проблему?
191 PR
 
18.11.05
11:47
(188) Используй КОЛИЧЕСТВО РАЗЛИЧНЫЕ
192 SKrin
 
18.11.05
11:57
(190) в принципе да
но вся суть в том, что  СУММА(Себестоимость) может быть равна нулю
а теперь пропробуй в итогах проверить значение на нулевой результат
193 PR
 
18.11.05
12:06
(192) А в чем проблема-то, используй ВЫБОР, теперь в ИТОГАХ это можно
194 SKrin
 
18.11.05
12:08
(193) конструктор ругается, что нельзя использовать ВЫБОР и СУММА одновременно
195 PR
 
18.11.05
12:22
(194) Интересно, а почему тогда у меня работает вот это:

|ВЫРАЗИТЬ(ВЫБОР
|    КОГДА СУММА(ОстаткиНоменклатурыОстатки.КоличествоОстаток) = 0
|        ТОГДА 0
|    ИНАЧЕ СУММА(ОстаткиНоменклатурыОстатки.СтоимостьОстаток) / СУММА(ОстаткиНоменклатурыОстатки.КоличествоОстаток)
|    КОНЕЦ КАК ЧИСЛО(15, 2)) КАК ЦенаОстаток,

? ;)
196 SKrin
 
18.11.05
12:23
(194) виноват, не то сказал, так все работает
ругается на другое, если допустим хочу сделать так
СРЕДНЕЕ( (СУММА(Сумма продажи) - СУММА(Себестоимость)) / СУММА(Себестоимость) * 100)
ругается, что не допустимо использование вложенных агрегатных функций
197 PR
 
18.11.05
12:26
(196) А ЗАЧЕМ(!) тебе здесь СРЕДНЕЕ?!!
Среднее из ОДНОГО значения равно этому значению, всегда!! :D
198 SKrin
 
18.11.05
13:11
задача такова:
человек работает и ему платят за выполненную работы, т.е. наработал Выполнено получил ОплатаВсего, соотв. ОплатаЗаЕд=ОплатаВсего/Выполнено
все хорошо, все замечательно, это сделать можно :)
но требуется узнать среднюю оплату за единицу работы за весь период в разрезе сотрудников и документов

!!! важный момент: в документах ОплатаВсего или Выполнено может быть пусто
надо считать среднее именно по тем позициям, которые не равны нулю
т.е. из ряда (0,10,20,30,0) среднее должно быть равно 30, а не 12
199 SKrin
 
18.11.05
13:12
+198
поправочка "из ряда (0,10,20,30,0) среднее должно быть равно 20, а не 12"
200 PR
 
18.11.05
13:18
(198) Так в чем проблема-то, я не понял, делай, как я тебе в (195) написал :o)
201 PR
 
18.11.05
13:20
Хех, третью сотню, однако, разменяли :)))
202 FlashC
 
18.11.05
13:26
А Лошадка в ... всё кофе варит :)
203 PR
 
18.11.05
13:34
(202) А я его все пью :)))
204 JuliaSoft
 
18.11.05
16:00
набладала при использовании построителя следующий глюк:
Следующий код выдавал ошибку: "Ошибка при вызове метода (Добавить).Повторяющееся или неверное имя измерения".
При повторном формировании отчета этой ошибки не выдавало.
Кстати, при проверке отладчиком такой ошибки не выдавало.

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

Исправила это так:  
...
               Попытка
                   Строка = ПостроительОтчетаОтчетПоРегистрамНакопления.ИзмеренияСтроки.Добавить(л_Стр.Значение, л_Стр.Значение);
               Исключение
                   Состояние(л_Стр.Значение);
                   ПостроительОтчетаОтчетПоРегистрамНакопления.ИзмеренияСтроки.Очистить();
                   Строка = ПостроительОтчетаОтчетПоРегистрамНакопления.ИзмеренияСтроки.Добавить(л_Стр.Значение, л_Стр.Значение);
               КонецПопытки;    
...
205 JuliaSoft
 
18.11.05
16:03
Вдогонку... кстати, эту ошибку выдавало не всегда...
Видимо, для полной очистки надо два раза очищать... а время было убито.. и таких глюков хватает..
206 SKrin
 
18.11.05
16:09
(204) поставь галку "Останавливаться по ошибке"
207 JuliaSoft
 
18.11.05
16:23
(206) первый раз слышу о такой галочке. Как ее найти?
208 PR
 
18.11.05
16:55
(204) Ищи свои косяки. С отладчиком. С ПО все в порядке.
Я правда не понял, зачем ВРУЧНУЮ добавлять измерения в ПО? :o)
209 PR
 
18.11.05
16:56
(207) Отладка -> Останавливаться по ошибке.
Полезная галочка :)))
210 JuliaSoft
 
18.11.05
17:10
(208) Отладчиком без этой галочки смотрела.. проходит все нормально. Сейчас с галочкой попробую.
А по поводу добавлений измерений вручную - надо, т.к. моих постановщиков задач не устроил выбор измеренений в виде дерева со свойствами реквизитов.. пришлось свое табличное поле добавлять. Возможно, были более простые варианты решения, но я до них не додумалась.. В любом случае, сейчас все работает и результат меня устраивает.
211 PR
 
18.11.05
17:14
(210) Если проблема в свойствах, раскрываемых по плюсику, то их можно отключить :))
212 JuliaSoft
 
18.11.05
17:22
(211) Интересно узнать, как это сделать.. я не нашла..
ну а как быть с сортировкой.. кое-где надо по свойству Наименование, кое-где по свойству Дата сортировать и т.д.
213 JuliaSoft
 
18.11.05
17:31
Поставила галочку.. ошибки не выдает.. пробовала разные вариации.. так что это глюк.. больше ничем объяснить не могу..
214 PR
 
18.11.05
17:44
Просто в ПО нужно .* убрать у полей в {...}.
Е мое, народ готов 1С написать с нуля вместо того, чтобы почитать ЖКК и ИТС, я просто в прострации
А с сортировкой я вообще не понял, спрашиваю по буквам: "В ЧЕМ ПРОБЛЕМА?!" :o)
Попробую угадать, в том, что нужно показывать ТОЛЬКО наименование или дату, а не все реквизиты, я прав?
(213) Хе, я понял, где у тебя глюк =))
Ты добавляешь поле в ИзмеренияСтрок, в то время как у тебя есть это поле в ИзмеренияхКолонок, 100% =))
215 JuliaSoft
 
18.11.05
17:56
(214) - Первая строчка - подробнее.. без сокращений..
по поводу второй строчки - в книжках смотрела - нужное не нашла.., а диска с ИТС нет в наличии.... да.. народ готов писать.. а не списывать.. т.е. думать.. действовать, а не при каждом удобном случае заваливать форум вопросами..
По поводу сортировки - надо показывать все реквизиты без их свойств, но чтобы сортировка по некоторым реквизитам шла по .Наименование, по другим по .Дата и т.п. .. кстати, кричать не надо.. я не тупая.. и не глухая.. :-)
А по поводу глюка - это глюк.. и как поле может быть в измерениях колонок, если я эти измерения колонок очистила??? да и при одних и тех же условиях построения отчета то выскакивала ошибка, то нет.. сейчас не выскакивает...
216 PR
 
18.11.05
18:05
(215) Удали во всем тексте запроса ".*" и все поймешь, спецом не буду говорить больше, поработай немного головой :o)
Как подсказка, ".*" можно убрать и через конструктор запроса, на закладке "Построитель".
Я не призываю не писать, я призываю не писать то, что уже написано и в чем просто нужно разобраться. А диск ИТС просто НЕОБХОДИМО иметь, достать и прочитать, он стоит всего-то 25 баков!!
Я не кричу, извини, я таким образом делаю ударения на словах. А по поводу сортировки я не понял, то есть это что-то типа, если я выбрал в измерения поле Контрагент, то мне надо обязательно добавить сортировку по полю Контрагент.Наименование, так что ли?
По поводу глюка, я думаю, что у тебя л_Стр.Значение для некоторых полей одинаковое, а различается что-то другое, например л_Стр.Имя
217 JuliaSoft
 
18.11.05
18:25
(216) у меня текст запроса формируется динамически и ".*" там нет. Это беспредметное обсуждения. По куску кода нельзя обсуждать все. Вопрос закрыт.
По сортировке правильно понял.
По поводу глюка - вопрос закрываю.. это бесконечная история.
218 PR
 
18.11.05
18:39
К (217) Мы ушли в аську, если кого интересует поднятая тема про ".*", спрашивайте, отвечу
219 PR
 
18.11.05
19:23
(+218) Эээ, мы - это не мы, PR великие, а я и JuliaSoft =))
220 PR
 
18.11.05
21:46
Куда!! Стоять на первой! =))
221 PR
 
19.11.05
11:22
Типа утренний ап :))
222 Lady_x
 
19.11.05
14:47
Группировка по 2 колонкам и по 2 строкам
3 показателя.
Получается в шапке в столбцах три уровня, как сделать так, чтобы столбцах, объединенных некоторым значением первого уровня не выводились показатели да и вообще там другой тип полей во втором уровне.

Как бы получается 2 запроса.
223 Lady_x
 
19.11.05
14:48
(222)а группировка по строкам одинаковая
224 PR
 
19.11.05
14:50
(222) Что-то я не пойму, что значит "не выводились показатели"? в смычле чтобы убрать третью, самую нижнюю строку шапки с показателями?
225 Lady_x
 
19.11.05
15:01
типа да, но дело в том, что 2 уровень имеет к тому же другой тип
226 PR
 
19.11.05
15:04
(225) Прич ем здесь тип спрашивается?
А сделать это очень просто, нужно считать макет ПО в переменную, изменить область шапки, то есть удалить третью строку и "запихнуть" макет обратно в ПО
227 Lady_x
 
19.11.05
15:07
то есть нормально, если у меня в запросе одно поле будет неоднозначного типа?
228 PR
 
19.11.05
15:08
(227) Ну и что, фиг бы с ним, ПО разберется ;)
229 Lady_x
 
19.11.05
15:16
счас попробую, но ширина колонки при этом будетрассчитана на 3 показателя, или ширину тоже корректировать?
230 PR
 
19.11.05
15:18
(229) Так я не понял, ты показатели же сами оставляешь, только шапку для них убираешь или я что-то не понял, объясни попроще :)))
231 Lady_x
 
19.11.05
15:40
я забыла сказать,там по сути один только показатель должен быть
232 PR
 
19.11.05
15:43
Тогда я ничего не понимаю, показатель то один, то три, что-то нужно убрать, что вообще требуется, можно еще раз, по порядку? :o)
233 Lady_x
 
19.11.05
15:57
грубо говоря есть 2 запроса, один под шапкой "выручка", другой - "Расходы"
1. Расходы должен иметь уровень со статьями затрат (колонки),и уровень показателей, их 3.
2. Выручка имеет только уровень Услуга.
Вот примерный вид.

|          выручка             |              расходы                       |
| расх.мат| монт.раб.| всего   | транс. расх | ремонт       |    всего      | |         |          |         |факт|план|раз|факт|план|раз | факт|план|раз |
|  500    |  600     | 1100    |  5 |4   |1  |6   |7   |-1  | 5   | 3  |2   |
234 Lady_x
 
19.11.05
16:01
вот понятнее
|      выручка |        расходы          |
| р.м| м.р.| вс|тран. расх|ремонт|всего  |
|    |     |   |факт|пл|р |ф|п|р |ф |п|р |
|50  |60   |110|5   |4 |1 |6|7|-1|11|11|0|
235 PR
 
19.11.05
16:04
О, сейчас посмотрю :o)
236 PR
 
19.11.05
16:14
Ну, в общем-то, я бы так сделал:
1. Добавил группировку "ТипПоказателя" (выручка или расходы)
2. Вторая группировка "СтатьиЗатрат" (расх.мат, монт.раб., транс. расх, ремонт)
3. Третья группировка "ПланИлиФакт" (план, факт, разница)
При этом для значения группировки "ТипПоказателя", равном "выручка" значение поля "ПланИлиФакт" равно NULL.
Должно вроде работать :)))
237 Lady_x
 
19.11.05
16:17
я так и сделала, но проблема в том, что ширина отводится под 3 показателя, а мне надо вывести 1....
238 PR
 
19.11.05
16:32
А, все, понял, кроме того еще и два лишних столбца в выручке, то есть 50 в трех колонках, 60 в трех колонках....
Тогда либо через справочник с иерархией (красивее всего), то есть содержимое справочника примерно такое:
выручка
  р.м
  м.р.
расходы
  тран. расх
     факт
     пл
     р
  ремонт
     факт
     пл
     р
либо издеваться над табличным документом после вывода

Можно и еще что-нить наверное придумать, но я бы через справочник сделал, красиво и элегантно :))
239 PR
 
19.11.05
16:37
Хороший вопрос =)
Обязательно включу его в свою статью :)))
240 Lady_x
 
19.11.05
16:38
а как понять через справочник?
241 PR
 
19.11.05
16:42
(240) Ну в смысле вместо группировок "ТипПоказателя" и "СтатьиЗатрат" сделать одну "Показатель" типа иерархический справочник.
И потом цифры в регистре накопления, или где ты там их хранишь, привязывать не к статьям затрат, а к элементам этого справочника.
242 PR
 
19.11.05
16:44
(+241) Можно даже через ВЫБОР в запросе привязать к конкретным элементам, но лучше так не извращаться и предусмотреть эту привязку сразу в таблицах, по которым ты запрос строишь
243 Lady_x
 
19.11.05
16:46
я вот только не понимаю, а как иерархию определить
244 PR
 
19.11.05
16:56
(243) Смотри, а-ля "Доскино", то есть по рабоче-крестьянски :))
1. Делаешь иерархический справочник "Показатели" и заполняешь его:
ВЫРУЧКА (группа)
  р.м (элемент)
  м.р. (элемент)
РАСХОДЫ (группа)
  ТРАН. РАСХ (группа)
     факт (элемент)
     пл (элемент)
     р (элемент)
  РЕМОНТ (группа)
     факт (элемент)
     пл (элемент)
     р (элемент)
2. В таблицы, по которым ты строишь свой запрос, добавляешь измерение "Показатель" типа справочник "Показатели".
3. При записи движений в эти таблицы ты заполняешь измерение "Показатель", если это выручка по р.м, то элемент р.м из группы ВЫРУЧКА, если факт по транспортным расходам, то факт из группы тран. расх из группы расходы и т. д.
4. В запросе выбираешь по колонкам группировку по измерению "Показатель" и выбираешь для этой группировки не элементы, а иерархия
Понятно?
245 Lady_x
 
19.11.05
17:11
не канает, эти элементы, которые я тебе написала, генерируются, выбираются из соответствующих запросов
246 PR
 
19.11.05
17:28
(245) Да не, все канает и запрос тут один, если ты еще скажешь, из каких мест ты запросы свои строишь, может даже смогу подсказать, как все в один запрос свалить
247 Lady_x
 
19.11.05
17:40
|ВЫБРАТЬ  
       |ДляПОРеализация.Контрагент                    КАК Контрагент,
       |ДляПОРеализация.Контрагент.Представление    КАК КонтрагентПредставление,
       |ДляПОРеализация.Договор                    КАК Договор,
       |ДляПОРеализация.Договор.Представление        КАК ДоговорПредставление,
       |ДляПОРеализация.СтатьяЗатрат                Как СтатьяЗатрат,
       |ДляПОРеализация.СтатьяЗатрат.Представление    Как СтатьяЗатратПредставление,
       |ДляПОРеализация.Факт                        КАК Факт,
       |ДляПОРеализация.План                        КАК План,
       |ДляПОРеализация.Отклонение                    КАК Отклонение,
       |ДляПОРеализация.РасходыВыручка                КАК РасходыВыручка,
       |ДляПОРеализация.РасходыВыручкаПредставление    КАК РасходыВыручкаПредставление
       ///ПосторительОтчета
       |{ВЫБРАТЬ  
       |ДляПОРеализация.Контрагент.*                КАК Контрагент,
       |ДляПОРеализация.Договор.*                    КАК Договор,
       |ДляПОРеализация.СтатьяЗатрат.*                Как СтатьяЗатрат,
       |ДляПОРеализация.РасходыВыручка                КАК РасходыВыручка}
         //ПостроительОтчета

       |ИЗ
       |(ВЫБРАТЬ  
       |Реализация.Ссылка.Сделка.Контрагент                КАК Контрагент,
       |Реализация.Ссылка.Сделка.Контрагент.Представление    КАК КонтрагентПредставление,
       |Реализация.Ссылка.Сделка.ДоговорВзаиморасчетов    КАК Договор,
       |Реализация.Ссылка.Сделка.ДоговорВзаиморасчетов.Представление    КАК ДоговорПредставление,
       |Реализация.Номенклатура                Как СтатьяЗатрат,
       |Реализация.Номенклатура.Представление    Как СтатьяЗатратПредставление,
       |Реализация.Сумма                        КАК Факт,
       |0                                        КАК План,
       |0                                        КАК Отклонение,
       |""Выручка от монтажных работ""            КАК РасходыВыручка,
       |""Выручка от монтажных работ""            КАК РасходыВыручкаПредставление
       |ИЗ
       |Документ.РеализацияТоваров.Товары    КАК Реализация
       |ГДЕ
       |    (Реализация.Ссылка.Дата>=&Датанач )
       |И (Реализация.Ссылка.Дата<=&ДатаКон) И (Реализация.Ссылка.Сделка В (&МассивЗаказов))
       |Объединить ВСЕ  
       |ВЫБРАТЬ  
       |ДляПО.Заказ.Контрагент                    КАК Контрагент,
       |ДляПО.Заказ.Контрагент.Представление    КАК КонтрагентПредставление,
       |ДляПО.Заказ.ДоговорВзаиморасчетов        КАК Договор,
       |ДляПО.Заказ.ДоговорВзаиморасчетов.Представление    КАК ДоговорПредставление,
       |ДляПО.СтатьяЗатрат                        Как СтатьяЗатрат,
       |ДляПО.СтатьяЗатрат.Представление        Как СтатьяЗатратПредставление,
       |ДляПО.Факт                                КАК Факт,
       |ДляПО.План                                КАК План,
       |ДляПО.Отклонение                        КАК Отклонение,
       |""Расходы""                            КАК РасходыВыручка,
       |""Расходы""                            КАК РасходыВыручкаПредставление
         |Из
         |(ВЫБРАТЬ  
       |NULL                                Как СтатьяЗатрат,
       |Ссылка.ДокументОснование            КАК Заказ,
       |0                                    КАК Факт,
       |СметаТовары.ПлановаяСебестоимость    КАК План,
       |СметаТовары.ПлановаяСебестоимость    КАК Отклонение
       |Из
       |    Документ.Смета.Товары КАК СметаТовары
         |ГДЕ
       |  Ссылка.ДокументОснование В (&МассивЗаказов)//и (Ссылка.Проведен=1)
       //
       |ОБЪЕДИНИТЬ ВСЕ
       |ВЫБРАТЬ  
       |СметаДополнительно.СтатьяЗатрат    Как СтатьяЗатрат,
       |Ссылка.ДокументОснование            КАК Заказ,
       |0                                    КАК Факт,
       |СметаДополнительно.СуммаЗатрат        КАК План,
       |СметаДополнительно.СуммаЗатрат        КАК Отклонение
       |Из
       |    Документ.Смета.Дополнительно КАК СметаДополнительно
         |ГДЕ
       |  Ссылка.ДокументОснование В (&МассивЗаказов)
       |ОБЪЕДИНИТЬ ВСЕ
       ///
       |ВЫБРАТЬ
       |СуммыПоУслугамДок.СтатьяЗатрат КАК СтатьяЗатрат,
       |СуммыПоУслугамДок.Заказ КАК Заказ,
       |СуммыПоУслугамДок.Факт  КАК Факт,
       |0                         КАК План,
       |-СуммыПоУслугамДок.Факт КАК Отклонение
       | ИЗ
       ///по Прочим затратам
       |(ВЫБРАТЬ       ///по документам прочиеЗатраты
       |    ПрочиеЗатратыЗатраты.СтатьяЗатрат    КАК СтатьяЗатрат,
       |    ПрочиеЗатратыЗатраты.ЗаказПокупателяЗатраты    КАК Заказ,
       |    ПрочиеЗатратыЗатраты.Сумма            КАК Факт,
       |    0                                    КАК План,
       |    -ПрочиеЗатратыЗатраты.Сумма            КАК Отклонение
         |Из
       |    Документ.ПрочиеЗатраты.Затраты КАК ПрочиеЗатратыЗатраты
       |ГДЕ
       |НЕ(ПрочиеЗатратыЗатраты.Услуга=&ПустаяУслуга)    
       |ОБЪЕДИНИТЬ ВСЕ
       ///по Авансовым Отчетам
       |ВЫБРАТЬ       ///по документам АО
       |    АОЗатраты.СтатьяЗатрат        КАК СтатьяЗатрат,
       |    АОЗатраты.ЗаказПокупателяЗатраты    КАК Заказ,
       |    АОЗатраты.Сумма        КАК Факт,
       |    0                        КАК План,
       |    -АОЗатраты.Сумма        КАК Отклонение
         |Из
       |    Документ.АвансовыйОтчет.Прочее КАК АОЗатраты
       |ГДЕ
       |НЕ(АОЗатраты.Услуга=&ПустаяУслуга)//и(АОЗатраты.ссылка.проведен=1)
       |ОБЪЕДИНИТЬ ВСЕ
       /////по Списанию товаров
       |ВЫБРАТЬ       ///по документам Списание
       |    NULL                            КАК СтатьяЗатрат,  // в колонку расх. материалы - факт
       |    СписаниеТовары.ЗаказПокупателя    КАК Заказ,
       |    СписаниеТовары.СуммаСписания    КАК Факт,
       |    0                                КАК План,
       |    -СписаниеТовары.СуммаСписания    КАК Отклонение
         |Из
       |    Документ.СписаниеТоваров.Товары КАК СписаниеТовары
       |ГДЕ
       |НЕ(СписаниеТовары.Услуга=&ПустаяУслуга)//и(СписаниеТоваров.ссылка.проведен=1)
       |ОБЪЕДИНИТЬ ВСЕ
       ///по оприходованию товаров
       |ВЫБРАТЬ       ///по документам Оприходование товаров
       |    NULL                            КАК СтатьяЗатрат,  // в колонку расх. материалы - факт
       |    ОприходованиеТовары.ЗаказПокупателя    КАК Заказ,
       |    -ОприходованиеТовары.Сумма        КАК Факт,
       |    0                                КАК План,
       |    ОприходованиеТовары.Сумма        КАК Отклонение
         |Из
       |    Документ.ОприходованиеТоваров.Товары КАК ОприходованиеТовары
       |ГДЕ
       |НЕ(ОприходованиеТовары.Услуга=&ПустаяУслуга)//и не(оприходованиеТовары.ссылка=Неопределено)

       |ОБЪЕДИНИТЬ ВСЕ
       ///по РКО
       |ВЫБРАТЬ       ///по документам РКО
       |    РКОУслуги.Ссылка.СтатьяЗатрат        КАК СтатьяЗатрат,
       |    РКОУслуги.ЗаказПокупателя    КАК Заказ,
       |    РКОУслуги.Сумма        КАК Факт,
       |    0                        КАК План,
       |    -РКОУслуги.Сумма        КАК Отклонение
       |Из
       |    Документ.РасходныйКассовыйОрдер.Услуги КАК РКОУслуги
       |ГДЕ
       |НЕ(РКОУслуги.Услуга=&ПустаяУслуга))КАК СуммыПоУслугамДок
       |ГДЕ
       |СуммыПоУслугамДок.Заказ В (&МассивЗаказов)) КАК ДляПО) КАК ДЛяПОРеализация
       |{ГДЕ
       |    ДляПОРеализация.Контрагент.*             КАК Контрагент,
       |    ДляПОРеализация.Договор.*                   КАК Договор,
       |    ДляПОРеализация.РасходыВыручка           КАК РасходыВыручка,
       |    ДляПОРеализация.СтатьяЗатрат.*             КАК СтатьяЗатрат }
         |{ИТОГИ ПО
       |    СтатьяЗатрат.*                              КАК СтатьяЗатрат,
       |    РасходыВыручка                              КАК РасходыВыручка,
       |    Договор.*                                    КАК Договор,
       |    Контрагент.*                                КАК Контрагент
       |}
       |ИТОГИ Сумма(Факт),Сумма(План)
       |ПО ОБЩИЕ ";
248 Lady_x
 
19.11.05
17:53
я просто первый раз с построителем разбираюсь, вот и туплю)))
249 PR
 
19.11.05
17:55
(247) Хьм, понятно =)
Так вот вместо всех ""Выручка от монтажных работ"", ""Расходы"" и т. д. вставь &ВыручкаОтМонтажныхРабот, &Расходы и т. д. и поом заполни их элементами справочника.
Итоги не по Факт и План, а по некоему показателю "Сумма", он у тебя будет один и для факта и для плана.
Факт и План - это значения группировок.
Там, где у тебя Факт не равен 0, там группировка Показатель = &Факт и Сумма считается так, как у тебя считается Факт.
А там, где у тебя План не равен 0, там группировка Показатель = &План и Сумма считается так, как у тебя считается План.

Мда, сложно получилось, не поймешь, спрашивай :o)
250 Lady_x
 
19.11.05
18:03
а как я справочник должна заполнять? отдельно братьзапросы, выполнять их, при выборе из запроса создавать элементы?
251 PR
 
19.11.05
18:34
(250) Да нет, забей туда сразу жесткую структуру и ее используй, можешь даже предопределенные элементы занести
252 Lady_x
 
19.11.05
18:36
(251) дак я их заранее не знаю, в запросе получаю....
253 PR
 
19.11.05
18:46
тран. расх и ремонт - это статьи расходов?
Это они используются в ДляПОРеализация.СтатьяЗатрат?

Если да, тогда справочник создавать не надо используй справочник СтатьиЗатрат, предусмотри в нем иерархию как в (244), то есть не
тран. расх (элемент)
ремонт (элемент)
а
ВЫРУЧКА (группа)
  р.м (элемент)
  м.р. (элемент)
РАСХОДЫ (группа)
  ТРАН. РАСХ (группа)
     факт (элемент)
     пл (элемент)
     р (элемент)
  РЕМОНТ (группа)
     факт (элемент)
     пл (элемент)
     р (элемент)
и тогда можешь вместо, скажем, ""Выручка от монтажных работ"" в запросе писать &ВыручкаОтМонтажныхРабот и заполнять этот параметр элементом справочника "СтатьиЗатрат" с именем "Выручка от монтажных работ".
254 PR
 
19.11.05
18:48
(+253) А те статьи, которые у тебя как ДляПОРеализация.СтатьяЗатрат получаются и кооторые ты не знаешь, так и оставь, замени только ""*****"" на жестко предопределенные
255 PR
 
19.11.05
18:51
(252) Поняла (253) и (254)?
256 Lady_x
 
19.11.05
20:27
а как сделать , чтобы итоги в каждой группе были. т.е. итоги не по первой колонке, а по второй?
и мне кажется проще перестроить табличный  документ, нежели ломать конфу
257 PR
 
19.11.05
20:30
(256) Они и так по каждой группе будут, разве нет?
По поводу ломки, а можно сказать не ломки, а проектирования конфы вопрос спорный, как говорится, что проще, дешевле и функциональнее, то и лучше
258 Lady_x
 
19.11.05
20:36
там просто условие: как можно меньше изменения конфы
259 PR
 
19.11.05
20:38
Тогда окончание фразы там должно быть таким: "... даже при бОльших деньгах"
260 PR
 
19.11.05
20:39
(+259) Или отказываться от автоматического вывода ПО и выводить вручную, что менее функционально и, скорее всего, опять же дороже
262 PR
 
20.11.05
02:29
(261) Казалось бы, при чем здесь построитель отчета?
Кишь с моей ветки, завтра попрошу Стаса почистить тебя нах
263 PR
 
20.11.05
15:46
Не люблю на вторую страницу лазить =)
264 SKrin
 
20.11.05
21:18
пора заводить вторую ветку
265 PR
 
20.11.05
21:21
Не, не пора. Зачем?
266 PR
 
20.11.05
21:23
(+265) Только если с целью эксперимента, с разными названиями штук пять и посмотреть куда больше писать будут
267 PR
 
21.11.05
10:02
Нифига себе активность в понедельник утром-то :o)
268 Факер_S
 
21.11.05
11:08
Тут возникла необходимость сделать отчетик чисто построителем, отчет такой:
надо вывести всех контрагентов(+ доп поля: код, инн, кпп - по выбору), и по периодам (день, нед, дек, мес ... по выбору) сумму доков по контрагенту(т.е. сам документ выводить ненадо) и количество доков за период и чтоб была возможность вывести сумму доков по контрагенту и количество доков без периода (т.е. всего, но не колонкой итого). Чёта бьюсь уже день не получается. Хотя вроде ничё сложного не должно быть.
269 Факер_S
 
21.11.05
11:10
(268+) забыл про сортировку: сортировка по любому реквизиту контрагента, и по периоду, сумме, и количеству
270 PR
 
21.11.05
11:18
(268) Ты очень упрощенно описал, даже не сказал, сумма каких доков.
Если нужны все контрагенты, если даже по ним нет доков, то используй левое соединение контрагентов с доками, если доков несколько, то объединяй доки словом ОБЪЕДИНИТЬ.
271 Факер_S
 
21.11.05
11:50
(270) документ один, например Заказ покупателя, левое соединение не отрабатывает, почему не пойму.
Скорее всего я понял как написать данный отчет. Надо сумму и количество считать не по таблице к.л. документа а по вложенной вирт. таблице, что не совсем хорошо
272 PR
 
21.11.05
11:56
(271) Что-то ты мудришь и не ответил полностью на (270), контрагенты-то все нужны?
Вечером, часов в 19 - 20 спроси, отвечу, сейчас убегаю :o)
273 Факер_S
 
21.11.05
13:20
(272) нужны все контрагенты.

вот такой запрос

   "ВЫБРАТЬ
   |    Контрагенты.Ссылка КАК Контрагент,
   |    1 КАК Количество,
   |    ЗаказПокупателя.СуммаДокумента
   |ИЗ
   |    Справочник.Контрагенты КАК Контрагенты
   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
   |        ПО ЗаказПокупателя.Контрагент = Контрагенты.Ссылка
   |{ГДЕ
   |    Контрагенты.Ссылка.* КАК Контрагент,
   |    ЗаказПокупателя.Ссылка.* КАК Документ}";


если в построителе ставим отбор по Документ.Дата больше 01,02,2005 то нет левого соединения, получаем правое соединение. без отбора нормально работает левое соединение, ХЗ. Релиз платформы 11.
274 PR
 
21.11.05
15:56
(273) Просто отбор должен быть по Документ.Дата больше 01.02.2005 ИЛИ Документ.Ссылка ЕСТЬ NULL
275 Факер_S
 
21.11.05
16:09
(274) хм ..., а как это интерактивно установить, мне надо что юзер мог интерактивно выбирать любой отбор ...

спасибо, у мя вроде получилось

   ПостроительОтчета.Текст =
   "ВЫБРАТЬ
   |    Контрагенты.Ссылка КАК Контрагент,
   |    Вложенный.Период,
   |    СУММА(Вложенный.Количество) КАК Количество,
   |    СУММА(Вложенный.СуммаДокумента) КАК СуммаДокумента
   |{ВЫБРАТЬ
   |    Период,
   |    Количество,
   |    СуммаДокумента}
   |ИЗ
   |    Справочник.Контрагенты КАК Контрагенты
   |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
   |            ЗаказПокупателя.Контрагент КАК Контрагент,
   |            НАЧАЛОПЕРИОДА(ЗаказПокупателя.Дата, МЕСЯЦ) КАК Период,
   |            1 КАК Количество,
   |            ЗаказПокупателя.СуммаДокумента КАК СуммаДокумента
   |        ИЗ
   |            Документ.ЗаказПокупателя КАК ЗаказПокупателя
   |        {ГДЕ
   |            ЗаказПокупателя.Ссылка.* КАК Документ}) КАК Вложенный
   |        ПО Вложенный.Контрагент = Контрагенты.Ссылка
   |{ГДЕ
   |    Контрагенты.Ссылка.* КАК Контрагент,
   |    Вложенный.Количество,
   |    Вложенный.СуммаДокумента,
   |    Вложенный.Период}
   |
   |СГРУППИРОВАТЬ ПО
   |    Контрагенты.Ссылка,
   |    Вложенный.Период
   |{УПОРЯДОЧИТЬ ПО
   |    Контрагент.*,
   |    Период,
   |    Количество,
   |    СуммаДокумента}
   |{ИТОГИ ПО
   |    Контрагент.*,
   |    Период}";
276 УПП
 
21.11.05
16:29
Заполнение отбора у построителя отчета программно: Заполняю программно начальные параметры и отборы у отчета Карточка счета:

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

Возникает ошибка:

{Обработка.КонтрольДебиторскойИКредиторскойЗадолжностей.Форма.Форма(114)}: Ошибка при вызове метода контекста (Добавить): Недопустимое значение параметра (параметр номер "1")
        Отбор.Добавить("Контрагенты");
по причине:
Недопустимое значение параметра (параметр номер "1")

Что здесь не так?
277 PR
 
21.11.05
16:43
(276) Скорее всего то, что не используешь ни {...} ни метод ПО ЗаполнитьНастройки()
278 УПП
 
21.11.05
16:47
(277) Я его заполняю настройками из обработки, как видно из кода подставляю нужные мне даты, Организацию, даты. Но нужно еще и по Контрагенту отбор, данный отчет сторится на основе построителя отчета, мне нужен отбор по Контрагенту.
279 УПП
 
21.11.05
16:48
Немного не так код дал:

       Строка = ЭлементыФормы.ДебиторкаИКредиторка.ТекущиеДанные;
   КарточкаСчета = Отчеты.КарточкаСчетаХозрасчетный.Создать();
       
   КарточкаСчета.ДатаНач = НачалоКвартала(ТекущаяДата());
   КарточкаСчета.ДатаКон = ТекущаяДата();
   КарточкаСчета.Организация = Строка.Организация;
   КарточкаСчета.Счет = Строка.Счет;
   
   Отбор = КарточкаСчета.ПостроительОтчета.Отбор;
   
   Если Отбор.Найти("Контрагенты") = Неопределено Тогда
        Отбор.Добавить("Контрагенты");
   КонецЕсли;
   
   Отбор["Контрагенты"].Использование = Истина;
   Отбор["Контрагенты"].Значение = Строка.Контрагент;
   Отбор["Контрагенты"].ВидСравнения = ВидСравнения.Равно;
   
   КарточкаСчета.ПолучитьФорму("ФормаОсновная").Открыть();
   КарточкаСчета.ПолучитьФорму("ФормаОсновная").Обновить();
280 PR
 
21.11.05
16:55
(278) Читай ВНИМАТЕЛЬНО (277)
У тебя просто не разрешено делать отбор по этому полю
281 УПП
 
21.11.05
17:03
(280) В отчете Карточка счета есть панель настройки, там для отбора доступны 2 поля Контрагент и Договор.
282 УПП
 
21.11.05
17:03
+281 точнее Контрагенты
283 УПП
 
21.11.05
17:12
Как же тогда сделать данный отбор? По контрагентам, есть  же там такой отбор
284 PR
 
21.11.05
17:15
(283) Я же грю, использовать метод ПО ЗаполнитьНастройки или {...}, подробнее в моей статье и на ИТС.
Вы будете читать в конце-то концов? :o)
285 УПП
 
21.11.05
17:19
(284) Ну настройки же заполняются на основе запроса, а мне то он зачем? Я заполняю настройик отчета и формирую его, он же уже готовый или я чего то не догоняю? А где ваша статья?
286 PR
 
21.11.05
17:22
(285) Настройки построителя САМИ не заполняются.
А статья моя... статья моя слишком известна, чтобы тут называть ее адрес (Почти (с)) :)))
Шутка :))
В нулевом посте она
287 УПП
 
21.11.05
17:36
(286) Спец по построителю :) Подскажите где мне нужно использовать ЗаполнитьНастройки() в моем случае? Не разу не пользовался построителем просто :(
288 УПП
 
21.11.05
17:38
(286) Делаю так: Построитель = Настройки.ПостроительОтчета.ЗаполнитьНастройки();
Ошибка Обращение к процедуре как к функции
289 УПП
 
21.11.05
17:40
Строка = ЭлементыФормы.ДебиторкаИКредиторка.ТекущиеДанные;
   КарточкаСчета = Отчеты.КарточкаСчетаХозрасчетный.ПолучитьФорму("ФормаОсновная");
   Настройки = Отчеты.КарточкаСчетаХозрасчетный.Создать();
   
   КарточкаСчета.ДатаНач = НачалоКвартала(ТекущаяДата());
   КарточкаСчета.ДатаКон = ТекущаяДата();
   КарточкаСчета.Организация = Строка.Организация;
   КарточкаСчета.Счет = Строка.Счет;
   
   Построитель = Настройки.ПостроительОтчета.ЗаполнитьНастройки();
   //
   //Если Отбор.Найти("Контрагенты") = Неопределено Тогда
   //     Отбор.Добавить("Контрагенты");
   //КонецЕсли;
   
   //Отбор["Контрагенты"].Использование = Истина;
   //Отбор["Контрагенты"].Значение = Строка.Контрагент;
   //Отбор["Контрагенты"].ВидСравнения = ВидСравнения.Равно;
   
   КарточкаСчета.Открыть();
   КарточкаСчета.Обновить();


как в моем случае обратить к процедуре ЗаполнитьНАстройки() ?
290 PR
 
21.11.05
20:14
(287-289) Примерно так

Построитель.ЗаполнитьНастройки(); //Все :))

Что при этом происходит, прекрасно написано на ИТС.

Второй вариант, в конструкторе запросов заполнить закладку построитель вручную, в этом случае ЗаполнитьНастройки() вызывать не надо.

По построителю спец, согласен :)))
291 PR
 
21.11.05
22:40
На сегодня вопросы завершились? =)
292 вым
 
22.11.05
08:01
а вот собстнно такой вопросик, вроде в тему, что скажете?
v8: построитель отчета - дополнительная колонка
293 УПП
 
22.11.05
08:46
(290) Да он ругается на это Ошибка Обращение к процедуре как к функции
294 УПП
 
22.11.05
08:51
(290) Ну или вот так:
     Построитель = Настройки.ПостроительОтчета;
   Построитель.ЗаполнитьНастройки();

Ошибка: Ожидается выражение Выбрать, а зачем мне деалть запрос когдя я только заполняю значениями параметров отбора другого отчета.
295 вым
 
22.11.05
11:05
а как поменять цвет текста выводимого значения в ячейке, если допустим он больше какого-нибудь параметра (числа)? причем не при ручном обходе группировок, а при автоматическом макете самого построителя.
296 PR
 
22.11.05
17:04
(292) Используй не

СРЕДНЕЕ(ПроцентБрака)

а что-то типа

ВЫБОР
   КОГДА СУММА(ОборотыПродукции.КоличествоОборот) = 0
   ТОГДА 0
   ИНАЧЕ ВЫРАЗИТЬ((100 * СУММА(ОборотыПродукции.БракКоличествоОборот) / СУММА(ОборотыПродукции.КоличествоОборот)) КАК ЧИСЛО(15, 2))
КОНЕЦ КАК ПроцентБрака
297 PR
 
22.11.05
17:43
(293) Где ты в (290) заметил обращение к ЗаполнитьНастройки() как к функции?!
298 PR
 
22.11.05
17:44
(294) Ничего не понял, что хотел-то?
299 PR
 
22.11.05
17:45
(295) Очень просто, используй УсловноеОформление
300 PR
 
22.11.05
17:50
Мдя, 300 однако =)
301 PR
 
22.11.05
17:51
(+300) Хотя и не совсем честно получилось, вроде как догнал до 300 :o)
Хотя и не старался, само получилось :))
302 PR
 
22.11.05
20:29
ап што ли
303 EagleUA
 
22.11.05
23:50
вот запрос из типового УТ последней версии (отчет - "СтоимостнаяОценкаСкладаВЦенахНоменклатуры")
как сделать аналог в построителе? c небольшой оговоркой - нужный цены и сeммы остатков складов по ВСЕМ типам цен в системе (чтобы и сводную можно было построить и фильтры любые наложить, в том числе на типы цен).
<prog>
       Текст = "
           |ВЫБРАТЬ //РАЗЛИЧНЫЕ
           |    Склад                                                                                      КАК Склад,
           |    ТаблицаРегистра.Номенклатура                                                               КАК Номенклатура,
           |    ТаблицаРегистра.ХарактеристикаНоменклатуры                                                 КАК ХарактеристикаНоменклатуры,
           |    СУММА(КоличествоОстаток)                                                                   КАК КоличествоОстаток,
           |    СУММА(КоличествоОстаток*ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент)  КАК КоличествоБазовыхЕдОстаток,
           |//    СУММА(КоличествоОстаток*ЦенаВРознице
           |//                     /(УпрВалюты.Курс/УпрВалюты.Кратность))                                    КАК СтоимостьРознОстаток,
           |    (Цена*ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент/ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент)*(КурсыВалютСрезПоследних.Курс/КурсыВалютСрезПоследних.Кратность)
           |        /(УпрВалюты.Курс/УпрВалюты.Кратность)
           |        *(&КоэффициентБазовогоТипаЦен)                                                         КАК ТипЦенЦена,
           |    СУММА(КоличествоОстаток*(Цена/ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент)*ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
           |          *(КурсыВалютСрезПоследних.Курс/КурсыВалютСрезПоследних.Кратность)
           |          /(УпрВалюты.Курс/УпрВалюты.Кратность)
           |          *(&КоэффициентБазовогоТипаЦен))                                                      КАК ТипЦенСтоимость
           |
           |{ВЫБРАТЬ
           |    Склад.*                        КАК Склад,
           |    ТаблицаРегистра.Номенклатура.* КАК Номенклатура,
           |    ТаблицаРегистра.ХарактеристикаНоменклатуры.*   КАК ХарактеристикаНоменклатуры
           |//    ЦенаВРознице.*                 КАК ЦенаВРознице
           |//СВОЙСТВА
           |}
           |
           |ИЗ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОтчета, Валюта = &ВалютаУпрУчета) КАК УпрВалюты,
           |    РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОтчета,
           |    {Склад.*                       КАК Склад,
           |    Номенклатура.*                 КАК Номенклатура,
           |    ХарактеристикаНоменклатуры.*   КАК ХарактеристикаНоменклатуры
           |//    ЦенаВРознице.*                 КАК ЦенаВРознице
           |}
           |    ) КАК ТаблицаРегистра
           |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, ТипЦен = &БазовыйТипЦен {Номенклатура.* КАК Номенклатура}) КАК ЦеныНоменклатуры
           |        ПО ТаблицаРегистра.Номенклатура               = ЦеныНоменклатуры.Номенклатура И
           |           ТаблицаРегистра.ХарактеристикаНоменклатуры = ЦеныНоменклатуры.ХарактеристикаНоменклатуры
           |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОтчета) КАК КурсыВалютСрезПоследних
           |        ПО ЦеныНоменклатуры.Валюта = КурсыВалютСрезПоследних.Валюта
           |//СОЕДИНЕНИЯ
           |
           |{ГДЕ
           |    Склад.*                        КАК Склад,
           |    ТаблицаРегистра.Номенклатура.* КАК Номенклатура,
           |    ТаблицаРегистра.ХарактеристикаНоменклатуры.*   КАК ХарактеристикаНоменклатуры
           |//    ЦенаВРознице.*                 КАК ЦенаВРознице
           |//СВОЙСТВА
           |//КАТЕГОРИИ
           |}
           |СГРУППИРОВАТЬ ПО
           |    Склад,
           |    ТаблицаРегистра.Номенклатура,
           |    ТаблицаРегистра.ХарактеристикаНоменклатуры,
           |    (Цена*ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент/ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент)*(КурсыВалютСрезПоследних.Курс/КурсыВалютСрезПоследних.Кратность)
           |        /(УпрВалюты.Курс/УпрВалюты.Кратность)
           |        *(&КоэффициентБазовогоТипаЦен)
           |//СГРУППИРОВАТЬПО
           |
           |{УПОРЯДОЧИТЬ ПО
           |    Склад.*                        КАК Склад,
           |    ТаблицаРегистра.Номенклатура.* КАК Номенклатура,
           |    ТаблицаРегистра.ХарактеристикаНоменклатуры.*   КАК ХарактеристикаНоменклатуры
           |//СВОЙСТВА
           |}
           |
           |{ИТОГИ ПО
           |    Склад.*                КАК Склад,
           |    ТаблицаРегистра.Номенклатура.* КАК Номенклатура,
           |    ТаблицаРегистра.ХарактеристикаНоменклатуры.*   КАК ХарактеристикаНоменклатуры
           |//СВОЙСТВА
           |}
           |
           |ИТОГИ
           |    СУММА(КоличествоОстаток),
           |    СУММА(КоличествоБазовыхЕдОстаток),
           |//    СУММА(СтоимостьРознОстаток),
           |    СУММА(ТипЦенСтоимость),
           |    МАКСИМУМ(ТипЦенЦена)
           |
           |ПО ОБЩИЕ";
</prog>
304 EagleUA
 
22.11.05
23:53
+(303) для простоты разбора ситуации с валютами - пусть название типа цены будет содержать название валюты и цены берутся именно в той валюте, которая  указана в справочнике "типцен"
305 PR
 
22.11.05
23:56
Очень просто.
Нужно изменить текст запроса так, чтобы "нужный цены и сeммы остатков складов по ВСЕМ типам цен в системе (чтобы и сводную можно было построить и фильтры любые наложить, в том числе на типы цен)".
После этого, присвоив этот текст построителю, работа с построителем совершенно стандартна :)))
306 PR
 
23.11.05
00:03
(+305) Если ты мог заметить, эта ветка называется "v8: Конкурс на лучший вопрос по построителю отчетов", а не "v8: Кому нужно выполнить удаленно какую-нибудь работу, пишите сюда"!
307 EagleUA
 
23.11.05
00:07
(306) а работа с запросами относится к вопросам по построителю отчетов?
308 EagleUA
 
23.11.05
00:08
меня только запрос и интересовал собственно
309 EagleUA
 
23.11.05
00:09
причем чисто образовательно :)
из серии "как делать правильно"
310 PR
 
23.11.05
00:14
(307) Да, но не этот вопрос, этот ничуть
(308) А меня нет :))
(309) Похвально :))
311 PR
 
23.11.05
02:05
JuliaSoft почти задала мне вопрос, на который я не смог ответить, но, я нашел решение :)))
Так что конкурс продолжается :)))
312 speedster
 
23.11.05
05:04
Вопрос по близкой теме - по конструктору формы.
Если сможешь ответить - большое человеческое спасибо.
Если сделаешь форму с помощью конструктора, то в верхней части появляется таблица "Отбор" с полями "Поле", "Тип сравнения", "Значение С", "Значение по".
Щелкнув правой кнопкой мышки на таблице, вызываем список и выбираем "Дата начала", после чего указываем период. Нажимаем "Сформировать" и выдается список данных.
Я пишу внешнюю обработку руками и в ней важна дата (?). В обработке используется регист бухгалтерии "ХозрасчетныйОстаткиИОбороты", в котором поля Дата нет. Вопрос: как "работает" условие на период при использовании конструктора отчета ?
313 PR
 
23.11.05
13:18
(312) Ну да, вопрос близкий, это точно, оба по восьмерке :))
Я вообще не понял, что ты спросил :o)
Могу сказать только одно, если у тебя поля Дата нет, то и отбор по нему ты не поставишь.
314 PVasili
 
23.11.05
14:34
(312) попробую угадать: может там есть регистратор(у него есть дата), или период, или момент времени, ну не может не быть даты :)
315 Дяпти
 
23.11.05
15:18
(311) Да я в твоем конкурсе победил еще на 133-м посте.
316 PR
 
23.11.05
19:36
(315) Ничего подобного, читай (152) ;)
317 JuliaSoft
 
23.11.05
23:36
(311) - Большой респект Роману (не каждый захочет с твоим глюком разбираться после полуночи)  :-)
318 PR
 
23.11.05
23:48
(317) Ну, я просто подумал, что уж я, заявил, что мегаспец, а сам спасую что ли?!!
Не, так не пойдет :o)
Тем более, что глюк действительно был интересный, хотя и плохо формализуемый ;)
319 speedster
 
24.11.05
06:54
(314)
Ты угадал - по регистратору дата есть, но как её прилепить к этому делу: организовать цикл по регистратору и ссумировать суммы документа :о Так я же помру за этим компом, пока цикл кончится :(
320 Дяпти
 
24.11.05
08:03
(316) Код по (152) - не работает. Релиз 12.
321 Дяпти
 
24.11.05
08:13
(316) Извини, беру свои слова назад. В собственном коде заплутался :-) Все работает.
322 PR
 
24.11.05
12:13
(321) Ничего страшного, у меня сразу тоже почему-то не работало :o)
Потом при точно таком же коде заработало :)))
323 PVasili
 
24.11.05
13:19
(319)Зачем, сделай вложенные запрос в нем посчитай суммы, выбери нужные поля затем приджоинь его к основному.
324 Кротяра
 
24.11.05
14:25
вопрос:  Как при выводе отчета (без использования фиксированного макета) в шапку ввести нормальные слова а не лабуду типа "СтоимостьПриход"...  количество и состав выводимых колонок постоянно меняеться так что по адресу в табличном поле не вариант
325 PR
 
24.11.05
14:31
(324) Перед выполнением построителя одно из двух:
1. Для полей присвоить человеческие представления типа "Стоимость (приход)"
2. В макете изменить текст в соответствующей области
Рекомендую 2, так как был глюк, что первый срабатывал только для группировок, а для показателей нет. Правда, может поправили, не утверждаю, не смотрел пока :o)
326 PR
 
25.11.05
03:32
Скучно :o)
ап что ли
327 PR
 
26.11.05
12:18
and once again
328 PR
 
26.11.05
12:25
А впрочем, пожалуй тема конкурса себя исчерпала, спасибо всем попытавшимся, высота не взята :))
На вопросы продолжаю отвечать в ветке с более понятным названием v8: Отвечаю на любые вопросы по построителю отчета;