|   |   | 
| 
 | Объединение Справочник.Номенклатура и РегистрСведений.ШтрихкодыНоменклатуры | ☑ | ||
|---|---|---|---|---|
| 0
    
        Max57 19.10.23✎ 10:00 | 
        Здравствуйте, уважаемые форумчане. Мне нужно в запросе объединить справочник Номенклатура с регистром сведений ШтрихкодыНоменклатуры. Подскажите, пожалуйста, как сделать так, чтобы в итоговой таблице было две колонки номенлатура и штрихкод, даже при условии того, что номенклатуры в регистре есть несколько ШК. Скрин прикладываю. https://disk.yandex.ru/i/WFMTMainamoDgw     | |||
| 1
    
        Галахад 19.10.23✎ 10:03 | 
        Условие выполнено. Две колонки.     | |||
| 2
    
        Max57 19.10.23✎ 10:04 | 
        (0) Чтобы номенклатура была одна, а все созданные ШК, были выведены в соседней коленке через запятую.     | |||
| 3
    
        Max57 19.10.23✎ 10:07 | ||||
| 4
    
        arsik 19.10.23✎ 10:10 | 
        (2) Нет сынок. Это фантастика.     | |||
| 5
    
        Жеглофф 19.10.23✎ 10:14 | 
        СКД и СоединитьСтроки     | |||
| 6
    
        yopQua 19.10.23✎ 10:14 | 
        (2) через скд или вручную таблицу рисовать. программно то есть.     | |||
| 7
    
        Kigo_Kigo 19.10.23✎ 10:24 | 
        может быть В СКД в ресурсах есть функция СОЕДИНИТЬСТРОКИ() они и соединяет все строки по группированному полю!!!!     | |||
| 8
    
        banco 19.10.23✎ 10:53 | 
        (0) в скд можно СоединитьСтроки(Массив(Штрихкод), ",")     | |||
| 9
    
        GANR 19.10.23✎ 11:15 | 
        (0) Если номенклатура отсутствует в регистре сведений её нужно выводить?     | |||
| 10
    
        Max57 19.10.23✎ 11:38 | 
        Всем спасибо.
 Я так сделал. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ШтрихкодыНоменклатуры.Номенклатура КАК Номенклатура, | ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод |ИЗ | РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры"; РезультатЗапроса = Запрос.Выполнить().Выгрузить(); Отбор = Новый Структура; Для Индекс = 0 По РезультатЗапроса.Количество()- 2 Цикл Если РезультатЗапроса[Индекс].Номенклатура = РезультатЗапроса[Индекс+1].Номенклатура Тогда РезультатЗапроса[Индекс].Штрихкод = РезультатЗапроса[Индекс].Штрихкод + ", " + РезультатЗапроса[Индекс+1].Штрихкод; РезультатЗапроса.Удалить(РезультатЗапроса[Индекс+1]); //Сообщить(РезультатЗапроса[Индекс].Номенклатура); КонецЕсли; Сообщить(Строка(РезультатЗапроса[Индекс].Номенклатура) + Строка(РезультатЗапроса[Индекс].Штрихкод)); КонецЦикла; | |||
| 11
    
        Max57 19.10.23✎ 11:44 | 
        (10) Это же только для двух повторяющихся будет работать?     | |||
| 12
    
        Галахад 19.10.23✎ 12:49 | 
        (10) Этот код вообще не рабочий.
 1. Количество штрихкодов у товара может быть больше двух. 2. Удаление строк из таблицы никак не проверяется. | |||
| 13
    
        arsik 19.10.23✎ 12:55 | 
        (10) Если уж ты таким путем пошел, то сделай итоги по номенклатуре. Будет у тебя дерево:
 Номенклатура 1
    | - ШК1
    | - ШК2
    | - ШК3
Номенклатура 2
    | - ШК4
 | |||
| 14
    
        ColonelAp4u 19.10.23✎ 12:57 | 
        (12) добавлю так же что количество шк и может вообще быть равным 0. 
 (0) бери справочник номенклатуры, делай левое соединение с рс, и выводи шк, сделай итоги по ном и шк, а потом уже если тебе прям так хочется чтобы выдало их через "," обрабатывай результат запроса в цикле и соединяй свои строки | |||
| 15
    
        Max57 19.10.23✎ 14:41 | 
        (14) Спасибо.
 Запрос, примерно, такой должен быть? ВЫБРАТЬ Номенклатура1.Ссылка КАК Ссылка, ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод ИЗ Справочник.Номенклатура КАК Номенклатура1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры ПО (Номенклатура1.Ссылка = ШтрихкодыНоменклатуры.Номенклатура) ГДЕ НЕ Номенклатура1.ЭтоГруппа УПОРЯДОЧИТЬ ПО Ссылка ИТОГИ ПО Ссылка | |||
| 16
    
        ColonelAp4u 19.10.23✎ 15:25 | 
        (15) да     | |||
| 17
    
        Kigo_Kigo 20.10.23✎ 10:31 | 
        СКД
 ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка, ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод ИЗ Справочник.Номенклатура КАК Номенклатура1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры ПО Номенклатура1.Ссылка = ШтрихкодыНоменклатуры.Номенклатура СГРУППИРОВАТЬ ПО Номенклатура.Ссылка, ШтрихкодыНоменклатуры.Штрихкод | |||
| 18
    
        Kigo_Kigo 20.10.23✎ 10:31 | 
        Вкладка ресурсы     
 | |||
| 19
    
        Kigo_Kigo 20.10.23✎ 10:31 | 
        Результат     
 | |||
| 20
    
        Kigo_Kigo 20.10.23✎ 10:33 | 
        Слепил на коленке     | |||
| 21
    
        Max57 23.10.23✎ 17:22 | 
        (20) Спасибо, но мне нужно выгрузить результат в ТЗ     | |||
| 22
    
        mikecool 23.10.23✎ 17:28 | 
        (8) Массив() и без СоединитьСтроки() нормально формирует строчки     | |||
| 23
    
        nextssbt 23.10.23✎ 17:41 | 
        (21) ССКД прекрасно выгружается в ТЗ
 https://infostart.ru/1c/articles/658410/ | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |