Как проверить сравнить данные со следующей строкой?

1. AllGreen3005 05.04.23 11:38 Сейчас в теме
Привет всем. Подскажите как правильно условие поставить чтобы пломбу не в каждый документ Изменение состояния оборудования отдельно создавать, а если оборудованиессылка одинаковое то добовлять следующюю запись Док = Демонтаж.Пломбы.Добавить(); в документ,. че т нифига не получается. Спасибо

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

    
 Пока Выборка.Следующий() Цикл
    
    Демонтаж                        = Документы.ИзменениеПараметровОборудования.СоздатьДокумент();
    Демонтаж.Дата                   = ТекущаяДата();
    Демонтаж.Организация            = ПолучитьОрганизациюНаСервере(); 
    Демонтаж.УчетныйМесяц             = ПолучитьУчетныйМесяц();
    Демонтаж.Подразделение          = ПолучитьКодУчасткаНаСервере();
    Демонтаж.ДатаИзмененияСостояния = Выборка.ДатаИзмененияСостояния;
    Демонтаж.Абонент                = Выборка.Абонент;
    Демонтаж.Исполнитель            = Выборка.ИсполнительСсылка;
    Демонтаж.Автор                  = Выборка.АвторСсылка;
    

    Док                = Демонтаж.Пломбы.Добавить();    
    Док.Оборудование   = Выборка.ОборудованиеСсылка;
    Док.Пломба         = Выборка.ПломбаСсылка;
    Док.МестоУстановки = Выборка.МестоУстановкиСсылка;
    Док.ТипПломбировки = Выборка.ТипПломбировкиСсылка; 
    Док.Действует      = ЛОЖЬ;                             
     
                   
    Демонтаж.Примечание = "Добавлено обработкой";
        
    Демонтаж.Записать(РежимЗаписиДокумента.Проведение);   
    
    КонецЦикла;


Показать
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
8. user1880116 05.04.23 13:27 Сейчас в теме
(1) Сравнивай не со следующей строкой, а с предыдущей. Которая вначала пустая, а потом подтаскивается в цикле как обработанная. И про сортировку не забудь, чтобы они подряд шли
2. user1826630 05.04.23 11:59 Сейчас в теме
Что такое "одинаковое оборудование"?
3. AllGreen3005 05.04.23 12:46 Сейчас в теме
(2)Стр.ОборудованиеСсылка; допустим яблоко
4. пользователь 05.04.23 13:07
Сообщение было скрыто модератором.
...
6. AllGreen3005 05.04.23 13:23 Сейчас в теме
(4)итак выбраны яблоки просто есть яблоко 1 яблоко1 , яблоко 2, яблоко 3...
7. user1880116 05.04.23 13:25 Сейчас в теме
(3)
допустим яблоко
Зачем вы пломбируете яблоки у абонента?
10. AllGreen3005 05.04.23 13:28 Сейчас в теме
(7)Чтобы без разрешения не кушал
5. user1357043 05.04.23 13:09 Сейчас в теме
Есть такая волшебная штука - итоги в запросе и "Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам)"
9. AllGreen3005 05.04.23 13:28 Сейчас в теме
(5)
Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам)

а можно указать по чему группировать? в синтаксис-помощнике не указано
11. пользователь 05.04.23 13:30
Сообщение было скрыто модератором.
...
12. AllGreen3005 05.04.23 13:34 Сейчас в теме
13. user1357043 05.04.23 16:00 Сейчас в теме
(9)Вам нужно поменять запрос так, чтобы в нем были итоги по тому полю, которое определяет, что это отдельный документ.
Потом обход запроса сначала по этой группе (создание шапки документов), потом по деталям (заполнение табличной части).
Грубо говоря - нужно сделать что-то похожее на дерево значений.
Не могу сейчас, к сожалению, написать кусок кода, попробуйте в интернете поискать, как это работает.
14. user1826630 05.04.23 16:12 Сейчас в теме
(13)
итоги по тому полю, которое определяет, что это отдельный документ.
У него яблоки в ТЧ. Поэтому Яблоко не может быть определяющим полем.
Вернее - может, но тогда нет никакого смысла в реквизите ТЧ "Оборудование".
Там архитектура кривая. До запроса еще далеко учиться.
15. user1357043 05.04.23 16:24 Сейчас в теме
(14)Возможно тут исключительно для определенной задачи так понадобилось, что в определенном документе должно быть только одно оборудование, а для других задач вполне может быть несколько. Поэтому и на такой архитектуре все решаемо, просто понадобиться больше группировок.
Тоже приходилось так делать, например, при переносе остатков: куча группировок по организации, подразделению, галкам в документе (типа отражать в БУ, НУ и пр...).
Помимо яблока может понадобится еще и яблоня и яблоневый сад))
16. user1826630 05.04.23 16:27 Сейчас в теме
(15) Согласен, при переносе именно так и делали, чтобы не плодить миллионные табличные части.
Но автор нам ничего не хочет рассказывать ни про запрос, ни про результат запроса, ни про условия задачи...
17. AllGreen3005 06.04.23 10:39 Сейчас в теме
(16) рассказал))) только я не настолько умён...че т нифига не получается
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот