|
Добрый день. Подскажите, что не так в коде и как передать Номенклатуру и Номера строк 🠗 (Волшебник 04.07.2023 14:12) | ☑ | ||
---|---|---|---|---|
0
yabashu
04.07.23
✎
14:01
|
Добрый день. Подскажите, что не так в коде и как передать Номенклатуру и Номера строк в массив для отображения в Вопрос();
Функция ПроверитьНоменклатуруНаДубли(Отказ) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДанныеТЧ.НомерСтроки КАК НомерСтроки, | ДанныеТЧ.Номенклатура КАК Номенклатура |ПОМЕСТИТЬ ТекущиеДанныеТЧ |ИЗ | &ДанныеТЧ КАК ДанныеТЧ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТекущиеДанныеТЧ.НомерСтроки КАК НомерСтроки |ИЗ | ТекущиеДанныеТЧ КАК ТекущиеДанныеТЧ | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура | ПО ТекущиеДанныеТЧ.Номенклатура = СправочникНоменклатура.Ссылка |ГДЕ | СправочникНоменклатура.ПометкаУдаления |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТекущиеДанныеТЧ.Номенклатура КАК Номенклатура |ПОМЕСТИТЬ ДублиНоменклатуры |ИЗ | ТекущиеДанныеТЧ КАК ТекущиеДанныеТЧ | |СГРУППИРОВАТЬ ПО | ТекущиеДанныеТЧ.Номенклатура | |ИМЕЮЩИЕ | КОЛИЧЕСТВО(ТекущиеДанныеТЧ.НомерСтроки) > 1 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТекущиеДанныеТЧ.Номенклатура КАК Номенклатура, | ТекущиеДанныеТЧ.НомерСтроки КАК НомерСтроки |ИЗ | ДублиНоменклатуры КАК ДублиНоменклатуры | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТекущиеДанныеТЧ КАК ТекущиеДанныеТЧ | ПО ДублиНоменклатуры.Номенклатура = ТекущиеДанныеТЧ.Номенклатура |ИТОГИ ПО | Номенклатура"; ВыборкаНоменклатуры = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаНоменклатуры.Следующий() Цикл Номенклатура = ВыборкаНоменклатуры.Номенклатура; ВыборкаНомеровСтрок = ВыборкаНоменклатуры.Выбрать(); Пока ВыборкаНомеровСтрок.Следующий() Цикл НомерСтроки = ВыборкаНомеровСтрок.НомерСтроки; КонецЦикла; КонецЦикла; Режим = РежимДиалогаВопрос.ДаНет; Ответ = Вопрос("В табличной части «Материалы и работы» в строках " + НомерСтроки +" указаны дубли номенклатуры" + Номенклатура + ". Установить статус «Действует», несмотря на наличие дублей?", Режим, 0); Если Ответ = КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли; КонецФункции |
|||
1
SleepyHead
гуру
04.07.23
✎
14:05
|
В запросе не установлен параметр ДанныеТЧ.
|
|||
2
SleepyHead
гуру
04.07.23
✎
14:05
|
Дальше тоже ничего хорошего ))
Это что блин, тест такой что ли? |
|||
3
Kigo_Kigo
04.07.23
✎
14:07
|
Выгрузить ТЧ в тз, ДобавитьКолонку -количествоДублей = 1, свернуть(Номенклатура,количество) Обойти циклом и количесте > 1 найти в ТЗ строки с дублями
|
|||
4
Donkey_hot
04.07.23
✎
14:09
|
(0) Как минимум, непонятно, зачем второй запрос в пакете, который выбирает помеченные на удаление, которые далее нигде не используются. Плюс номера строк наверное надо конкатенацией собрать в какую-то общую строку, а не заменять на каждой итерации на новый. Если это управляемые формы, также лучше уйти от модального окна.
|
|||
5
Мультук
гуру
04.07.23
✎
14:11
|
(4)
P.S. >>конкатенацией Я думаю автор слов то таких не знает. А если знает, то не умеет |
|||
6
yabashu
04.07.23
✎
14:26
|
(2) сеньор написал моими руками такой код после запроса и сказал, чтобы я доделал. Сижу в непонимании. Вот и спрашиваю, как с этим поступить.
|
|||
7
yabashu
04.07.23
✎
14:27
|
(4) там просто еще поиск пометки на удаление, но в этом случае я просто удалю лишнее.
|
|||
8
yabashu
04.07.23
✎
14:28
|
(5) Это очень не красиво, с вашей стороны.
|
|||
9
yabashu
04.07.23
✎
14:31
|
(3) спасибо!
|
|||
10
Fish
04.07.23
✎
14:32
|
(6) "сеньор написал моими руками такой код" - Надиктовал что ли?
|
|||
11
yabashu
04.07.23
✎
15:00
|
(10) Да)
|
|||
12
azernot
04.07.23
✎
15:30
|
(6) И что же вы хотите? Чтобы кто-то опять написал вам готовый код? Если вы не понимаете, что такое запрос, что такое выборка из запроса с обходом по группировкам, что такое массив, как работает цикл, то как вам помочь? Я уж молчу про "модальные вызовы" и почему такая конструкция вопроса неприменима в современных условиях....
Признайтесь себе и "синьору", что вы не способны решить эту задачу. Идите на курсы, читайте соответствующую литературу, используйте обучающую конфигурацию и т.п. Ну или меняйте профессию. А по сути... Просто представьте, что дублируются две и более номенклатуры, каждая более чем в двух строках, как же в итоге будет выглядеть текст вопроса? Какие номера строк должны быть перечислены, какая номенклатура должна быть указана? Очевидно же что там может быт много номеров и много номенклатур... |
|||
13
yabashu
04.07.23
✎
16:52
|
(12) Готовое решение не просил. Хотел более опытных людей услышать, по вариантам реализации. (3) (4) Большое спасибо за советы. Задача выполнена.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |