powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Запрос к документу в регистре сведений
25 сообщений из 37, страница 1 из 2
Запрос к документу в регистре сведений
    #36772014
ant2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые форумчане,
Помогите с запросом.

Есть регистр сведений, в котором, в качестве измерения выступет "Номенклатура", а ресурсом есть документ "НормаЗатрат", в котором в табличной части (Запасы) хранится то из чего эта самая номенклатура состоит. Что-то я совсем запутался с выборкой таблицы, из чего состоит номенклатура.
Вот так получаю таблицу

Код: plaintext
1.
Выбрать Номенклатура, НормаЗатрат.Запасы.(Номенклатура, Количество)  ИЗ РегистрСведений.Нормы
, но я хочу получить в результате "плоскую" таблицу, с полями Номенклатура, ЗапасыНоменклатура, ЗапасыКоличество . а не вложенные таблицы

С документом это получается вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
ВЫБРАТЬ 
   Ссылка.Номенклатура,
   Номенклатура,
   Количество
ИЗ Документ.НормаЗатрат.Запасы


Как сделать такую же выборку, но с регистра сведений ???
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36772207
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это просто
левое соединение вас спасет
почитайти что нибудь
хотя бы того же Радченко ...
простые примеры разработки или еще что то
в конце концов в литературе из коробки должны быть простые примеры и объяснение как пользоваться конструктором запросов
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36773164
ant2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В том-то и дело, что все примеры касаются либо документов, либо справочников. А вот из регистра сведений, точнее из документа, который есть ресурсом этого регистра, как не кручу, все равно никак без вложенной таблицы не получается :(
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36773293
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ant2000В том-то и дело, что все примеры касаются либо документов, либо справочников. А вот из регистра сведений, точнее из документа, который есть ресурсом этого регистра, как не кручу, все равно никак без вложенной таблицы не получается :(

ant2000
, но я хочу получить в результате "плоскую" таблицу, с полями Номенклатура, ЗапасыНоменклатура, ЗапасыКоличество

Это вообще не понятно зачем, получается вы хотите вот так :

Код: plaintext
1.
2.
3.
4.
5.
Выбрать Нормы.Номенклатура, 
НормаЗатратЗапасы.Номенклатура,
НормаЗатратЗапасы.Количество 
ИЗ РегистрСведений.Нормы КАК Нормы
ЛЕВОЕ СОЕДИНЕНИЕ Документ.НормаЗатрат.Запасы КАК НормаЗатратЗапасы ПО НормаЗатратЗапасы.Ссылка = Нормы.НормаЗатрат 

без соединения по номенклатуре.
В результате запрос вернет бред.
Вы уверены, что вам нужно так?
Или вам нужно вот так:
получить в результате "плоскую" таблицу, с полями Номенклатура и ЗапасыКоличество .?

Код: plaintext
1.
2.
3.
4.
5.
Выбрать Нормы.Номенклатура, 
НормаЗатратЗапасы.Количество 
ИЗ РегистрСведений.Нормы КАК Нормы
ЛЕВОЕ СОЕДИНЕНИЕ Документ.НормаЗатрат.Запасы КАК НормаЗатратЗапасы ПО НормаЗатратЗапасы.Ссылка = Нормы.НормаЗатрат 
И НормаЗатратЗапасы.Номенклатура = Нормы.Номенклатура

Вообще какой смысл данного запроса - зачем он нужен? Другими словами какие данные вы хотите получить с помощью данного запроса?
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36773564
ant2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опишу-ка все сначала, может я не правильно выразился.
Мне нужно где-то хранить то из чего состоит номенклатура (то есть продукция, которую производит предприятие состоит из какого -то сырья в определенных количествах).
Так как состав номенклатуры периодически меняется (и довольно часто), то хранить состав в подчиненном справочнике или в табличной части этой самой номенклатуры, не представляется удобным (нужна еще и история). Поэтому было принято решение о создании периодического регистра сведений с измерением "Номенклатура" и единственным ресурсом - Документ.НормаЗатрат (В этом самом документе и хранится то из чего он состоит.
Теперь мне нужно получить таблицу вида Продукция, НаименованеСырья, КоличествоСырья.
Причем таблицу это хочу получить именно из регистра сведений. Для простоты я просто опустил выражение "СрезПоследних"
Пример с документом я просто навел, чтобы показать, что я хочу получить.
То есть, исходя из Вашего примера надо как-то обойтись без "Документ.НормаЗатрат" (потому, что документ надо взять из таблицы регистра а не из таблицы документов)
Замечу, что я сейчас получаю то что хочу, но приходится обращаться ко вложенной таблице, а хочется обойтись без нее
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36773641
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы там чего, спецификацию для УПП изобретаете заново...
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36773680
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я за одним похожим товарищем доделывал ...
вам сказать как - за вами будут переписывать
бросьте это дело
менеджеры больше получают
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36773778
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ant2000
То есть, исходя из Вашего примера надо как-то обойтись без "Документ.НормаЗатрат" (потому, что документ надо взять из таблицы регистра а не из таблицы документов)

Да мы обходимся без шапки документа "Документ.НормаЗатрат", но без ТЧ Запасы документа НормыЗатрат мы обойтися не можем, вот здесь мы к ней и обращаемся:
Код: plaintext
1.
ЛЕВОЕ СОЕДИНЕНИЕ Документ.НормаЗатрат.Запасы КАК НормаЗатратЗапасы ПО НормаЗатратЗапасы.Ссылка = Нормы.НормаЗатрат 
И НормаЗатратЗапасы.Номенклатура = Нормы.Номенклатура

в вашем случае вместо левого соединения можно использовать внутреннее соединение.
Но вы пока не заморачивайтесь, поймите для начала, что такое ЛЕВОЕ СОЕДИНЕНИЕ.


В соответствии с вышесказанным и вот этим:

ant2000Теперь мне нужно получить таблицу вида Продукция, НаименованеСырья, КоличествоСырья.
Причем таблицу это хочу получить именно из регистра сведений. Для простоты я просто опустил выражение "СрезПоследних"

необходимый вам запрос будет выглядеть примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
ВЫБРАТЬ Нормы.Номенклатура, 
НормаЗатратЗапасы.Продукция
НормаЗатратЗапасы.Количество КАК КоличествоСырья,
НормаЗатратЗапасы.Сырье.Наименование КАК НаименованиеСырья,
ИЗ РегистрСведений.Нормы.СрезПоследних(&ДатаОкончания,) КАК Нормы
ЛЕВОЕ СОЕДИНЕНИЕ Документ.НормаЗатрат.Запасы КАК НормаЗатратЗапасы ПО НормаЗатратЗапасы.Ссылка = Нормы.НормаЗатрат 
И НормаЗатратЗапасы.Номенклатура = Нормы.Номенклатура

А так конечно архитектура вашего решения совсем неоптимальна.
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36774015
ant2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господин ПЖвы там чего, спецификацию для УПП изобретаете заново...
так думается, что свое ближе и работать будет понятнее. Да и попроще хотелось-бы...
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36774016
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ant2000Господин ПЖвы там чего, спецификацию для УПП изобретаете заново...
так думается, что свое ближе и работать будет понятнее. Да и попроще хотелось-бы...

не знаю... у меня структура которую вы создаете вызывает больше вопросов чем ответов
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36774019
ant2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leafя за одним похожим товарищем доделывал ...
вам сказать как - за вами будут переписывать
бросьте это дело
менеджеры больше получают
так и не говорите. И так работает. Вопрос больше касался методики получения нужных данных.
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36774021
ant2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot
не знаю... у меня структура которую вы создаете вызывает больше вопросов чем ответов[/quot]

Так вроде-бы куда уж проще Номенклатура - > Документ с составом продукции.
С удовольствием признаю свою кривизну. Намекните только :) Где спрятан подвох?
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36774282
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
так думается, что свое ближе и работать будет понятнее. Да и попроще хотелось-бы...

когда институт закончили?
что такое себестоимость выпуска в курсе?
поговорить бы с вашим работодателем
хотя ... оно и к лучшему
я сам ломать не умею - рука не подымается
а кушать хочется

впечатляют юноши бледные с пламенным взором
что бы вам здесь не посоветовали ВЫ сломаете систему
если уже не сломали ...
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36774285
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Где спрятан подвох?

Вы ничего не знаете - вот в этом и подвох
отойдите от УПП пожалуйста и подальше
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36774995
ant2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leaf
Код: plaintext
так думается, что свое ближе и работать будет понятнее. Да и попроще хотелось-бы...

когда институт закончили?
что такое себестоимость выпуска в курсе?
поговорить бы с вашим работодателем
хотя ... оно и к лучшему
я сам ломать не умею - рука не подымается
а кушать хочется

впечатляют юноши бледные с пламенным взором
что бы вам здесь не посоветовали ВЫ сломаете систему
если уже не сломали ...
Советы не хуже Вас давать умею
И уж давайте поменьше лирики и фантазий у кому сколько лет и кого пиписька побольше
А по существу, я не собираюсь клонировать УПП и тем более ее ломать,
в моем конкретном случае использовать УПП - что из пушки по воробьях
Хотелось бы услышать мнение Господина ПЖ
Кстати, по поводу себестоимости. В моей системе она считается по факту, и нормы здесь в общем-то уже абсолютно не при делах...
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36775004
ant2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vitkhvant2000
То есть, исходя из Вашего примера надо как-то обойтись без "Документ.НормаЗатрат" (потому, что документ надо взять из таблицы регистра а не из таблицы документов)

Да мы обходимся без шапки документа "Документ.НормаЗатрат", но без ТЧ Запасы документа НормыЗатрат мы обойтися не можем, вот здесь мы к ней и обращаемся:
Код: plaintext
1.
ЛЕВОЕ СОЕДИНЕНИЕ Документ.НормаЗатрат.Запасы КАК НормаЗатратЗапасы ПО НормаЗатратЗапасы.Ссылка = Нормы.НормаЗатрат 
И НормаЗатратЗапасы.Номенклатура = Нормы.Номенклатура

в вашем случае вместо левого соединения можно использовать внутреннее соединение.
Но вы пока не заморачивайтесь, поймите для начала, что такое ЛЕВОЕ СОЕДИНЕНИЕ.


В соответствии с вышесказанным и вот этим:

ant2000Теперь мне нужно получить таблицу вида Продукция, НаименованеСырья, КоличествоСырья.
Причем таблицу это хочу получить именно из регистра сведений. Для простоты я просто опустил выражение "СрезПоследних"

необходимый вам запрос будет выглядеть примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
ВЫБРАТЬ Нормы.Номенклатура, 
НормаЗатратЗапасы.Продукция
НормаЗатратЗапасы.Количество КАК КоличествоСырья,
НормаЗатратЗапасы.Сырье.Наименование КАК НаименованиеСырья,
ИЗ РегистрСведений.Нормы.СрезПоследних(&ДатаОкончания,) КАК Нормы
ЛЕВОЕ СОЕДИНЕНИЕ Документ.НормаЗатрат.Запасы КАК НормаЗатратЗапасы ПО НормаЗатратЗапасы.Ссылка = Нормы.НормаЗатрат 
И НормаЗатратЗапасы.Номенклатура = Нормы.Номенклатура

А так конечно архитектура вашего решения совсем неоптимальна.
Да, спасибо, розобрал, правда Ваш пример тоже возвращает вложенные таблицы, но направление я понял
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36775153
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ant2000
Да, спасибо, розобрал, правда Ваш пример тоже возвращает вложенные таблицы, но направление я понял

Какие еще вложенные таблицы? Не возвращает мой пример никаких вложенных таблиц.
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36775368
1С ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ant2000,
Вот так и развивается миф о невозможности построить нормальную систему учета на 1С...
По делу: почитайте радченко, желтые книжки с описанием языка из коробки, на курсы какие походите.. Обращаться к документу через регистр в данном случае равносильно удалению аппендицита через, пардон, задний проход.
Наводящие тема номер раз (если уж средства самого УПП вам религия использовать не позволяет) - попробуйте почитать о проведении документов. Запросы по регистрам выполняются быстрее.
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36775372
ant2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какие еще вложенные таблицы? Не возвращает мой пример никаких вложенных таблиц.

Просто вот этот код:
Документ.НормаЗатрат.Запасы КАК НормаЗатратЗапасы
У меня возвращает не плоскую таблицу, а колонку таблиц. Во всяком случае я понял что все таки без ссылки на документ не обойтись.

Если кому интересно, то вот такой запрос делает именно то что я хотел получить изначально:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Выбрать НоменклатураИзРегистраСведений.Номенклатура КАК Номенклатура,
НормыИЗДокумента.Сырье, НормыИЗДокумента.КоличествоСырья
  ИЗ РегистрСведений.Нормы.СрезПоследних(&ДатаКакаяНамНадо) КАК НоменклатураИзРегистраСведений
	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
(ВЫБРАТЬ  Ссылка КАК ДокументНорм,
   Номенклатура КАК Сырье,
   Количество КАК КоличествоСырья
ИЗ Документ.НормаЗатрат.Запасы) КАК НормыИЗДокумента
ПО  НоменклатураИзРегистраСведений.НормаЗатрат = НормыИЗДокумента.ДокументНорм

...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36775392
1С ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ant2000
Какие еще вложенные таблицы? Не возвращает мой пример никаких вложенных таблиц.

Просто вот этот код:
Документ.НормаЗатрат.Запасы КАК НормаЗатратЗапасы
У меня возвращает не плоскую таблицу, а колонку таблиц. Во всяком случае я понял что все таки без ссылки на документ не обойтись.


"Заставьте меня увидеть это обратно"(с)
Почитайте про запросы, там букаф совсем чуть-чуть, но полезно. Про структуру хранения таблиц данных. В примере vitkhv две таблицы связываются по left join и результат - таблица данных, без вложенных таблиц.
Если уж нарисовали документ и решили данные из него писать в регистр - сделайте уж ваш регистр сведений подчиненным данному регистратору, и пишите туда данные (измерение сырье и ресурс количество)
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36775400
ant2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обращаться к документу через регистр в данном случае равносильно удалению аппендицита через, пардон, задний проход.
Принимается раз. Как видите, я все вернулся к обращению к документу напрямую :)


Запросы по регистрам выполняются быстрее.
Принимается два
вот это уже посущественнее.... Однако сомневаюсь что усложнение конфигурации в сторону использования спецификаций даст в целом прирост производительности на моей, в общем-то в остальном, простой конфигурации. В общем-то, залезу-ка я в УПП да посмотрю что к чему....
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36775448
ant2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если уж нарисовали документ и решили данные из него писать в регистр - сделайте уж ваш регистр сведений подчиненным данному регистратору, и пишите туда данные (измерение сырье и ресурс количество)
так и делаю. В общем то что регистратор, что ресурс-документ, это одно и тоже, я просто для наглядности сделал его измерением. Догадываюсь что это лишнее :))
планировал изначально хранить состав в регистре, но моих знаний к сожалению не хватило на решение следующей задачи, как в таком случае получить состав продукции, на определенную дату?
Ведь каждый следующий документ записывает новый состав, и боюсь что конструкция "СрезПоследних" вернет и частично старые нормы тоже, например которые уже отсутствуют в новом документе. Ну, это теория, на практике, думаю все решается проще. Просто ушел к документу. пока
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36775460
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ant2000
Документ.НормаЗатрат.Запасы КАК НормаЗатратЗапасы
У меня возвращает не плоскую таблицу, а колонку таблиц.

На вас жара, что ли действует? Или вы откровенно надо мной прикалываетесь?

Вот это:

Код: plaintext
НормаЗатрат.Запасы.(Номенклатура, Количество)

вам вернет колонку таблиц (ТаблицЗначений)

а вот это:

Код: plaintext
1.
ЛЕВОЕ СОЕДИНЕНИЕ Документ.НормаЗатрат.Запасы КАК НормаЗатратЗапасы
вам колонку таблиц (ТаблицЗначений) никогда не вернет.

Или вы даже не удосужились проверить прежде чем что то утверждать?


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Выбрать НоменклатураИзРегистраСведений.Номенклатура КАК Номенклатура,
НормыИЗДокумента.Сырье, НормыИЗДокумента.КоличествоСырья
  ИЗ РегистрСведений.Нормы.СрезПоследних(&ДатаКакаяНамНадо) КАК НоменклатураИзРегистраСведений
	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
(ВЫБРАТЬ  Ссылка КАК ДокументНорм,
   Номенклатура КАК Сырье,
   Количество КАК КоличествоСырья
ИЗ Документ.НормаЗатрат.Запасы) КАК НормыИЗДокумента
ПО  НоменклатураИзРегистраСведений.НормаЗатрат = НормыИЗДокумента.ДокументНорм

Запрос написан не правильно, по крайней мере для тех документов НормаЗатрат где количество строк в ТЧ Запасы будет больше одной.
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36775475
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhv
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Выбрать НоменклатураИзРегистраСведений.Номенклатура КАК Номенклатура,
НормыИЗДокумента.Сырье, НормыИЗДокумента.КоличествоСырья
  ИЗ РегистрСведений.Нормы.СрезПоследних(&ДатаКакаяНамНадо) КАК НоменклатураИзРегистраСведений
	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
(ВЫБРАТЬ  Ссылка КАК ДокументНорм,
   Номенклатура КАК Сырье,
   Количество КАК КоличествоСырья
ИЗ Документ.НормаЗатрат.Запасы) КАК НормыИЗДокумента
ПО  НоменклатураИзРегистраСведений.НормаЗатрат = НормыИЗДокумента.ДокументНорм

Запрос написан не правильно, по крайней мере для тех документов НормаЗатрат где количество строк в ТЧ Запасы будет больше одной.

Извиняюсь, теперь понял вашу структуру данных, в документе храниться сырье для Номенклатуры из регистра. Тогда конечно связывать по номенклатуре не надо.
...
Рейтинг: 0 / 0
Запрос к документу в регистре сведений
    #36775515
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ant2000
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Выбрать НоменклатураИзРегистраСведений.Номенклатура КАК Номенклатура,
НормыИЗДокумента.Сырье, НормыИЗДокумента.КоличествоСырья
  ИЗ РегистрСведений.Нормы.СрезПоследних(&ДатаКакаяНамНадо) КАК НоменклатураИзРегистраСведений
	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
(ВЫБРАТЬ  Ссылка КАК ДокументНорм,
   Номенклатура КАК Сырье,
   Количество КАК КоличествоСырья
ИЗ Документ.НормаЗатрат.Запасы) КАК НормыИЗДокумента
ПО  НоменклатураИзРегистраСведений.НормаЗатрат = НормыИЗДокумента.Ссылка



перепишите вот так, без подзапроса т.к. он здесь не нужен :

Код: plaintext
1.
2.
3.
4.
5.
Выбрать НоменклатураИзРегистраСведений.Номенклатура КАК Номенклатура,
НормыИЗДокумента.Сырье, НормыИЗДокумента.КоличествоСырья
  ИЗ РегистрСведений.Нормы.СрезПоследних(&ДатаКакаяНамНадо) КАК НоменклатураИзРегистраСведений
ВНУТРЕННЕЕ СОЕДИНЕНИЕ  Документ.НормаЗатрат.Запасы КАК НормыИЗДокумента
ПО  НоменклатураИзРегистраСведений.НормаЗатрат = НормыИЗДокумента.ДокументНорм
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / [игнор отключен] [закрыт для гостей] / Запрос к документу в регистре сведений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]