8.х СрезПоследних

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем nbIpKuH_BaH9I, 6 мар 2011.

  1. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    [st=Пристрелите меня]
    Тут ссылка на документ, который был последним, смотрите какие документы могут быть регистратором, делайте выборку документов и получайте последний документ после чего кидайте ссылку в данный запрос
    [/st]
  2. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    Я это понимаю...Но не знаю как это делать...
  3. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Написал для УТ, справьте по аналогии
    Код:
    ВЫБРАТЬ ПЕРВЫЕ 1
    ЦеныНоменклатуры.Регистратор
    ПОМЕСТИТЬ ТаблицаРегистратора
    ИЗ
    РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    
    УПОРЯДОЧИТЬ ПО
    ЦеныНоменклатуры.Период УБЫВ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Номенклатура,
    ЦеныНоменклатурыСрезПоследних.Цена,
    ЦеныНоменклатурыСрезПоследних.ТипЦен
    ИЗ
    ТаблицаРегистратора КАК ТаблицаРегистратора
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/по')">		ПО ТаблицаРегистратора.Регистратор = ЦеныНоменклатурыСрезПоследних.Регистратор;</span>
    
    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ ТаблицаРегистратора
    
  4. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    пока проверяю через консоль отчетов версии 2.6.7
    Код:
    ВЫБРАТЬ ПЕРВЫЕ 1
    ОписьИнвентарь.Регистратор
    ПОМЕСТИТЬ ТаблицаРегистратора
    ИЗ
    РегистрСведений.ОписьИнвентарь КАК ОписьИнвентарь
    
    УПОРЯДОЧИТЬ ПО
    ОписьИнвентарь.Период УБЫВ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ОписьИнвентарьСрезПоследних.Помещение,
    ОписьИнвентарьСрезПоследних.Инвентарь,
    ОписьИнвентарьСрезПоследних.Ответственный,
    ОписьИнвентарьСрезПоследних.ТипПомещения,
    ОписьИнвентарьСрезПоследних.Количество
    
    ИЗ
    ТаблицаРегистратора КАК ТаблицаРегистратора
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ОписьИнвентарь.СрезПоследних КАК ОписьИнвентарьСрезПоследних
    ПО ТаблицаРегистратора.Регистратор = ОписьИнвентарьСрезПоследних.Регистратор
    ГДЕ 
    ОписьИнвентарьСрезПоследних.Помещение = &Помещение;
    
    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ ТаблицаРегистратора
    
    
    выбирается только по помещению, которое было последним в документе. Т.е. на закладке параметры если установить помещени, то которое было в последнем документе, то все хорошо, а если какое другое, то никакого результата нет вообще...
  5. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    Как быть?
  6. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Так Вы сами условие поставили отбора по помещению.
  7. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    Ну да. Но только мне надо, чтобы выбиралось из всех записей регистра, а не только из последних....Как с этим поступить?
  8. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    Решил переделать движения по регистру. А то с запросом что-то так ничего и не получается. Вот что надумал. При проведении сделать так, чтобы поле активность предыдущих записей ставилось в значение ЛОЖЬ, а новых соответственно в ИСТИНА. Это реально?
    Код:
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |	ОписьИнвентарь.Период,
    |	ОписьИнвентарь.Регистратор,
    |	ОписьИнвентарь.НомерСтроки,
    |	ОписьИнвентарь.Активность,
    |	ОписьИнвентарь.Помещение,
    |	ОписьИнвентарь.Инвентарь,
    |	ОписьИнвентарь.Ответственный,
    |	ОписьИнвентарь.ТипПомещения,
    |	ОписьИнвентарь.Количество,
    |	ОписьИнвентарь.УстаревшееЗначение
    |ИЗ
    |	РегистрСведений.ОписьИнвентарь КАК ОписьИнвентарь
    |ГДЕ
    |	ОписьИнвентарь.Помещение = &Помещение";
    Запрос.УстановитьПараметр("Помещение", Помещение);
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    Выборка.Активность = ЛОЖЬ;
    КонецЦикла;
    
    
    Ошибка при проведении

    Поле обекта недоступно для записи(Активность).

    Есть какое то решение?
  9. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Запрос у вас возвращает ссылки на записи. А действия изменения можно производить только над объектами. Вам нужно работать с РегистрСведенийНаборЗаписей, чтоб чего-то изменить. А вообще, сформулируйте задачу учета своего нормально. Мне кажется, вы не в том направлении движитесь.
  10. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    Задача учета такова: Есть документ Опись имущества, он является регистратором для регистра сведений Опись имущества. В документе заполняются реквизиты помещение, ответственный и тип помещения и реквизиты табличной части инвентарь и количество. Я подумал сделать так, что просто вводится опись на все имеющиеся помещения. А к примеру если опись какого-либо помещения поменяется, то новым документом просто вводим новые данные. СрезПоследних почему то выводит все записи по конкретному помещению. Вот я и подумал сделать активность предыдущих записей ЛОЖЬ, чтобы можно было отобрать нужные значения...
  11. afinogen
    Offline

    afinogen Опытный в 1С

    Регистрация:
    28 фев 2011
    Сообщения:
    160
    Симпатии:
    0
    Баллы:
    26
    сделайте еще одно измерение в регистре сведений в таком случае, обзовите его что-нибу вроде : ДокументДвижения и пишите в него ссылки на документ-регистратор, а потом срез последних делайте по этому измерению :angry:
  12. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    Вы имеете в виду записывать в него значения Типа Ложь для старых значений?
  13. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Пример: На 01.01.2011 есть помещение №1, ответственный Иванов. В помещении имеются стол, 2 стула, компьютер и калькулятор. 01.02.2011 Иванов уволился, сломав при этом стул и украв калькулятор:) Вы составляете новую опись на нового ответственного, которому выдали еще телефон: 01.02.2011 помещение №1, ответственный Петров, инвентарь: стол, стул, компьютер, телефон.

    Т.е. документом вы хотите уточнить что находится в определенном помещении на определенную дату и кто за это отвечает. В таком случае вам лучше использовать регистр накопления. Приход будет формироваться вашим документом описи. Расход можно тоже привязать к этому же документу. Например, при выборе в новом документе помещения заполняем ТЧ остатками из регистра по этому помещению. Затем редактируем ТЧ (что добавилось, что убавилось). Если ответственный не меняется, то при проведении формируем движения только на то, что поменялось, иначе списываем все остатки со старого ответственного и приходуем на нового.
    А регистр сведений тут неуместен.
    P.S. Если реквизит "Помещение" - это справочник, то тип помещения лучше сделать его реквизитом и убрать из документа и регистра. Если не справочник... то нужно сделать его справочником:)
  14. afinogen
    Offline

    afinogen Опытный в 1С

    Регистрация:
    28 фев 2011
    Сообщения:
    160
    Симпатии:
    0
    Баллы:
    26
    нет я имею вв иду что в это измерение при проведении регистратора пишите ссылку на сам регистратор, а потом уже срез последних по нему делайте :angry:
  15. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    Это же автоматом происходит в поле регистратор. Зачем заводить еще одно измерение...

    Видимо придется делать так как вы говорите. Я просто задумал, что это не приход и расход, а просто хранение информации за определенное время...
  16. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Из регистра сведений эту информацию можно вытащить по регистратору, но если придется искать документ, тогда в регистре вообще смысла нет, можно сразу из документа все читать.
  17. afinogen
    Offline

    afinogen Опытный в 1С

    Регистрация:
    28 фев 2011
    Сообщения:
    160
    Симпатии:
    0
    Баллы:
    26
    пардон, не обратил внимания что у вас подчиненный регистратору регистр сведений
  18. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    Кароче я не стал париться больше. ЗАпрос сделал напрямую к документу. Он выводит полность все данные по нужному помещению отсортированных по дате. А там уже пользователь пусть сам смотрит какая опись была и на какое число. Всем спасибо за внимание...
Похожие темы
  1. MyNameNoName
    Ответов:
    8
    Просмотров:
    577
Загрузка...

Поделиться этой страницей