Имя: Пароль:
1C
1С v8
Выгрузка данных из Excel в 1С
0 modoll
 
09.06.16
13:01
Помогите, пожалуйста, с задачкой. Необходимо загрузить в справочник Номенклатура новые реквизиты из Excel.

вот код, который я создала:

Процедура ПутьЗагрузкиНачалоВыбора(Элемент, СтандартнаяОбработка)
    
    ВыборДиректории(Элемент);

КонецПроцедуры

Процедура КоманднаяПанель2Заполнить(Кнопка)
    //При нажатии кнопки Заполнить табличная часть очищается и заполняется
    Товары.Очистить();
    ЗагрузитьXLSИзФайла(Товары);

КонецПроцедуры


Функция ЗагрузитьXLSИзФайла(ПутьЗагрузки)
    
    Попытка
        //Подключение Excel
        Эксель = Новый COMобъект("Excel.Application");
        //прописываем путь к файлу
        Книга = Эксель.Application.WorkBooks.Open(ПутьЗагрузки);
        Лист = Книга.WorkSheets(1);
        
         //заполняем табличную часть формы
        
                 
         Для Строка = НачалоСтрок По КонецСтрок Цикл
            
            Стр = ТаблицаСтрок.Добавить();
            Для Каждого Колонка Из ТаблицаКолонок Цикл
                Попытка
                    Стр[Колонка.ИмяКолонки] = СтрЗаменить(СокрЛП(Лист.Cells(Строка, Колонка.КолонкаXLS).Value)," ","");
                Исключение
                КонецПопытки;    
            КонецЦикла;
        КонецЦикла;    

        
        //закрытие подключения к Excel
        Эксель.Application.Quit();
        Исключение
            Сообщить("Файл " + ПутьЗагрузки + " не открыт");
    КонецПопытки;

    
КонецФункции


Процедура ПриОткрытии()
    //прописываем заполнение табличной части данными из Excel
    
    //при необходимости номера колонок можно менять в Настройка
    
    //при необходимости можно убрать галочку Редактирование текста (в диалоге формы)
    //и программа не даст возможность изменения данных
    
    СтрНастройки = Настройки.Добавить();
    СтрНастройки.ИмяКолонки = "Наименование";
    СтрНастройки.КолонкаXLS = 1;
    СтрНастройки = Настройки.Добавить();
    СтрНастройки.ИмяКолонки = "PLU";
    СтрНастройки.КолонкаXLS = 2;
    СтрНастройки = Настройки.Добавить();
    СтрНастройки.ИмяКолонки = "УНП";
    СтрНастройки.КолонкаXLS = 3;
    СтрНастройки = Настройки.Добавить();
    СтрНастройки.ИмяКолонки = "Розничная Надбавка";
    СтрНастройки.КолонкаXLS = 4;
    
КонецПроцедуры


    


У меня не выгружаются данные в табличную часть и не записываются в справочник. ПОМОГИТЕ
1 Зая Бусечка
 
09.06.16
13:03
А дядя-отладчик что говорит?
2 modoll
 
09.06.16
13:08
ничего ему всё нравиться
3 Prog111
 
09.06.16
13:12
А где запись в справочник?
4 modoll
 
09.06.16
13:15
До этого ещё даже не дошла. У меня данные из Excel не выводятся в табличную часть((((((
5 modoll
 
09.06.16
13:16
А потом уже при нажатие на кнопку "Запись в справочник" хочу сделать загрузку данных в справочник. Как-то так....
6 catena
 
09.06.16
13:20
Чот не понятно, что такое Товары?:

    Товары.Очистить();
    ЗагрузитьXLSИзФайла(Товары);


Функция ЗагрузитьXLSИзФайла(ПутьЗагрузки)
    

        Книга = Эксель.Application.WorkBooks.Open(ПутьЗагрузки);
7 Prog111
 
09.06.16
13:20
Стр[Колонка.ИмяКолонки] = СтрЗаменить(СокрЛП(Лист.Cells(Строка, Колонка.КолонкаXLS).Value)," ","");

Попробуй после этой строки сделать Сообщить("Ку!");

Будут сообщения выходить?
8 modoll
 
09.06.16
13:23
Товары - это название табличной части формы, куда должны выдаваться данные из excel
9 RomanYS
 
09.06.16
13:23
(0)
ЗагрузитьXLSИзФайла(Товары);//здесь передаешь ТЧ

Функция ЗагрузитьXLSИзФайла(ПутьЗагрузки)//а здесь ожидаешь путь

Нестыковочка!
10 catena
 
09.06.16
13:26
(8)А зачем ты ими файл открываешь?
11 modoll
 
09.06.16
13:26
Функция ЗагрузитьXLSИзФайла(ПутьЗагрузки)
//пишет поле в которм надо отобразить путь загрузки документа
    
    Попытка
    //Подключение Excel
    Эксель = Новый COMобъект("Excel.Application");
    //прописываем путь к файлу
    Книга =
Эксель.Application.WorkBooks.Open(ПутьЗагрузки);
        Лист = Книга.WorkSheets(1);
12 catena
 
09.06.16
13:27
И кстати, добавление тоже нифига не в Товары идет, а в ТаблицаСтрок.
13 catena
 
09.06.16
13:28
(11)Еще раз прочитай (9), там вроде доступно всё.
14 modoll
 
09.06.16
13:30
Блин, я вообще запуталась....... Помогите пожалуйста как для чайника
15 DAVI
 
09.06.16
13:32
ЗагрузитьXLSИзФайла(Товары) параметр не верный (14)
16 modoll
 
09.06.16
13:33
а что там писать???
17 catena
 
09.06.16
13:34
(16)Видимо ПутьЗагрузки...
18 DAVI
 
09.06.16
13:36
в (9) все написано же. Передаешь таб часть, а ожидаешь в функции какой то ПутьЗагрузки. Путь загрузки это что?
19 arsik
 
гуру
09.06.16
13:36
После заполнения нужно обновить ТЧ формы
ЭлементыФормы.Товары.ОбновитьСтроки()
20 modoll
 
09.06.16
13:36
А если так?


Процедура КоманднаяПанель2Заполнить(Кнопка)
    //При нажатии кнопки Заполнить табличная часть очищщается и заполняется
    Товары.Очистить();
    ЗагрузитьXLSИзФайла(Товары,ПутьЗагрузки);

КонецПроцедуры


Функция ЗагрузитьXLSИзФайла(ТаблицаСтрок,ТаблицаКолонок)
    
    Попытка
        //Подключение Excel
        Эксель = Новый COMобъект("Excel.Application");
        //прописываем путь к файлу
        Книга = Эксель.Application.WorkBooks.Open(ПутьЗагрузки);
        Лист = Книга.WorkSheets(1);
        
         //заполняем табличную часть формы
        
          Для Строка = НачалоСтрок По КонецСтрок Цикл
            
            Стр = ТаблицаСтрок.Добавить();
            
            Для Каждого Колонка Из ТаблицаКолонок Цикл
                Попытка
                Стр.Наименование = СтрЗаменить(СокрЛП(Лист.Cells(Строка, 2).Value)," ","");
        Стр.PLU = СтрЗаменить(Лист.Cells(Строка, 2).Value," ","");
        Стр.УНП = СтрЗаменить(Лист.Cells(Строка, 2).Value," ","");
        Стр.Розничная_Надбавка = СтрЗаменить(Лист.Cells(Строка, 2).Value," ","");
                Исключение
                КонецПопытки;    
            КонецЦикла;
        КонецЦикла;    


        
        
        
        
        //закрытие подключения к Excel
        Эксель.Application.Quit();
        Исключение
            Сообщить("Файл " + ПутьЗагрузки + " не открыт");
    КонецПопытки;

    
КонецФункции
21 DAVI
 
09.06.16
13:38
(20) товары там не нужны
22 modoll
 
09.06.16
13:41
Если убираю Товары, то выдает ошибку

Недостаточно фактических параметров (ЗагрузитьXLSИзФайла)
    <<?>>ЗагрузитьXLSИзФайла(ПутьЗагрузки); (Проверка: Толстый клиент (обычное приложение))




Процедура КоманднаяПанель2Заполнить(Кнопка)
    //При нажатии кнопки Заполнить табличная часть очищщается и заполняется
    Товары.Очистить();
    ЗагрузитьXLSИзФайла(ПутьЗагрузки);
    ЭлементыФормы.Товары.ОбновитьСтроки()

КонецПроцедуры
23 DAVI
 
09.06.16
13:51
(22) Функция ЗагрузитьXLSИзФайла(ПутьЗагрузки)
24 marvak
 
09.06.16
13:55
Типа того
ЗагрузитьXLSИзФайла("D:\Загрузка")
25 modoll
 
09.06.16
14:08
а как сюда можно скинуть обработку или хотя бы фото?
26 modoll
 
09.06.16
14:09
вот ссылка на мою обработку, Помогите её отладить

https://drive.google.com/open?id=0BzHzLYChPnXQcXBwSDd5Sy1xTlU
27 franky_tut
 
09.06.16
14:12
(26) это уже просьба написать за тебя. так не интересно. ))
28 Бледно Золотистый
 
09.06.16
14:12
(26) А давайте вы хотя бы почитаете основы теории, что такое переменные, функции и процедуры, для начала. А потом опять к нам. Ок?
29 modoll
 
09.06.16
14:13
спасибо за понимание(((
30 modoll
 
09.06.16
14:14
можно подумать, что вы все сразу ВСЁ создавали!!! У меня не всё получается, это вообще что-то новое. Прошу помочь, а вы вот так....
31 marvak
 
09.06.16
14:19
(26)
Для начала
Реквизит ТЧ "Товары" называется "Наимеенование".
Исправь на "Наименование"
32 catena
 
09.06.16
14:20
(30)Почему вы решили, что кто-то забесплатно будет вам что-то должен? В виде гуманитарной помощи вам уже накидали кучу советов, остальное зависит от доброй воли, настроения и свободного времени.
33 modoll
 
09.06.16
14:23
catena, я не хочу с вами спорить. И судя по всему не прошу у вас помощи, т.к. ЗА БЕСПЛАТНО её не дождусь. А всем остальным огромное СПАСИБО за добрую волю, хорошее настроение и немного свободного времени (действительно спасибо, что помогаете!!!!!).
34 franky_tut
 
09.06.16
14:25
(20) у тебя действиельно с основами не очень хорошо.
ты передаешь таблицу товаров и путь к файлу (кстати он должен содержать путь к папке и название файла с расширением)
ЗагрузитьXLSИзФайла(Товары,ПутьЗагрузки);

а в самой функции ты уже видишь таблицу строк и колонок. Почему так?
Функция ЗагрузитьXLSИзФайла(ТаблицаСтрок,ТаблицаКолонок)
Что передала, то и должна получить. Т.е. здесь у тебя должны быть те же товары и через запятую путь загрузки
35 catena
 
09.06.16
14:26
(33)Вот здрасте. Я по-моему еще в самом начале указала оба проблемных места. А вы в итоге попросили сделать всё за вас.
36 modoll
 
09.06.16
14:31
То есть если до меня верно ДОШЛО, то должно быть так:


Процедура КоманднаяПанель2Заполнить(Кнопка)
    Товары.Очистить(); //ТЧ очищается
    ЗагрузитьXLSИзФайла(Товары,ПутьЗагрузки); //ТЧ загружается из файла
    ЭлементыФормы.Товары.ОбновитьСтроки(); //ТЧ обновляется

КонецПроцедуры


Функция ЗагрузитьXLSИзФайла(Товары,ПутьЗагрузки)
Эксель = Новый COMобъект("Excel.Application");
Книга = Эксель.Application.WorkBooks.Open(ПутьЗагрузки);
Лист = Книга.WorkSheets(1);
37 franky_tut
 
09.06.16
14:36
(36) вроде верно.
Для того, чтобы понять, записывается у тебя в таблицу что-то или нет, можешь после строки
Стр.Наименование = СтрЗаменить(СокрЛП(Лист.Cells(Строка, 2).Value)," ","");

вставить строки:
Сообщить(Стр.Наименование);
Сообщить(СтрЗаменить(СокрЛП(Лист.Cells(Строка, 2).Value)," ",""));
38 modoll
 
09.06.16
14:38
Книга = Эксель.Application.WorkBooks.Open(C:\Documents and Settings\user\Рабочий стол\Программист\Реквизиты Бренд.xls);
39 marvak
 
09.06.16
14:40
(30)
Товары и путь загрузки можно не передавать как параметр, оно все равно доступно будет.
40 franky_tut
 
09.06.16
14:42
(39) согласен. если они где-то указаны как реквизиты.
(38) кавычки не забудь.
и начинай пользоваться отладчиком. Он наверняка у тебя криком кричит.
41 marvak
 
09.06.16
14:43
при открытии исправь

СтрНастройки.ИмяКолонки = "РозничнаяНадбавка";
а НЕ "Розничная надбавка"
42 modoll
 
09.06.16
14:47
а там непечатный символ _ (его же можно вместо пробела использовать???)
43 marvak
 
09.06.16
14:47
Примерно так:

        Для ТекСтрока = НачалоСтрок По КонецСтрок Цикл
            
            СтрокаТовары = Товары.Добавить();
            
            
            // тут перебираешь строки твоей таблицы колонок,которая наз-ся "Настройки"
            
            Для каждого ТекКолонка Из Настройки Цикл
                
                
                ИмяКолонки = ТекКолонка.ИмяКолонки;
                НомерКолонки = ТекКолонка.КолонкаXLS;
                
                СтрокаТовары[ИмяКолонки] = СтрЗаменить(СокрЛП(Лист.Cells(ТекСтрока, НомерКолонки).Value)," ","");
            
            КонецЦикла;
            
        КонецЦикла;
44 modoll
 
09.06.16
14:47
т.е. Розничная_Надбавка
45 marvak
 
09.06.16
14:48
(44)
У тебя в ТЧ она называется просто "РозничнаяНадбавка", значит и в коде должно быть то же самое
46 modoll
 
09.06.16
14:49
извини, не досмотрела
47 marvak
 
09.06.16
14:49
Не забудь
"Реквизит ТЧ "Товары" называется "Наимеенование".
Исправь на "Наименование""
48 marvak
 
09.06.16
14:51
Примерно так, я проверил вроде работает
остальное самостоятельно
49 modoll
 
09.06.16
14:53
Функция ЗагрузитьXLSИзФайла(Номенклатура,ПутьЗагрузки)
    
    Попытка
        //Подключение Excel
        Эксель = Новый COMобъект("Excel.Application");
        //прописываем путь к файлу
        Книга = Эксель.Application.WorkBooks.Open("C:\Documents and Settings\user\Рабочий стол\Программист\Реквизиты Бренд.xls");
        Лист = Книга.WorkSheets(1);
        
         //заполняем табличную часть формы
        
         СтрокаТовары = Товары.Добавить();
        
         // перебираем строки таблицы колонок,которая наз-ся "Настройки"
         Для каждого ТекКолонка Из Настройки Цикл
                        
                ИмяКолонки = ТекКолонка.ИмяКолонки;
                НомерКолонки = ТекКолонка.КолонкаXLS;
                
                СтрокаТовары[ИмяКолонки] = СтрЗаменить(СокрЛП(Лист.Cells(ТекСтрока, НомерКолонки).Value)," ","");
              КонецЦикла;
            
        //закрытие подключения к Excel
        Эксель.Application.Quit();
        Исключение
            Сообщить("Файл " + ПутьЗагрузки + " не открыт");
    КонецПопытки;

    
КонецФункции
50 modoll
 
09.06.16
14:56
Не забудь
"Реквизит ТЧ "Товары" называется "Наимеенование".
Исправь на "Наименование""



Исправила!!!!
51 marvak
 
09.06.16
14:57
ну что, работает?
52 marvak
 
09.06.16
14:57
упс, я неполностью скопировал )))
        Для ТекСтрока = НачалоСтрок По КонецСтрок Цикл
            
            СтрокаТовары = Товары.Добавить();
            
            
            // тут перебираешь строки твоей таблицы колонок,которая наз-ся "Настройки"
            
            Для каждого ТекКолонка Из Настройки Цикл
                
                
                ИмяКолонки = ТекКолонка.ИмяКолонки;
                НомерКолонки = ТекКолонка.КолонкаXLS;
                
                СтрокаТовары[ИмяКолонки] = СтрЗаменить(СокрЛП(Лист.Cells(ТекСтрока, НомерКолонки).Value)," ","");
            
            КонецЦикла;
            
        КонецЦикла;
53 marvak
 
09.06.16
14:59
Для ТекСтрока = НачалоСтрок По КонецСтрок Цикл

// это вставь после Лист = Книга.WorkSheets(1);


и еще один

КонецЦикла;

перед
Эксель.Application.Quit();
54 marvak
 
09.06.16
15:01
Блин, тут форматирование дурацкое в постах
форматирует непредсказуемо
55 modoll
 
09.06.16
15:02
у меня в режиме Монопольно пишет

Файл C:\Documents and Settings\user\Рабочий стол\Программист\Реквизиты Бренд.xls не открыт
и добавляет в таблицу строку с "Наименование" и "УНП"
????
56 marvak
 
09.06.16
15:04
Процедура КоманднаяПанель2Заполнить(Кнопка)
    //При нажатии кнопки табличная часть: очищается и заполняется
    Товары.Очистить();
    ЗагрузитьXLSИзФайла(ПутьЗагрузки);
    ЭлементыФормы.Товары.ОбновитьСтроки();

КонецПроцедуры


Функция ЗагрузитьXLSИзФайла(ПутьЗагрузки)
    
    Попытка
        //Подключение Excel
        Эксель = Новый COMобъект("Excel.Application");
        //прописываем путь к файлу
        Книга = Эксель.Application.WorkBooks.Open(ПутьЗагрузки);
        Лист = Книга.WorkSheets(3);
        
        Для ТекСтрока = НачалоСтрок По КонецСтрок Цикл
            
            СтрокаТовары = Товары.Добавить();
            
            // тут перебираешь строки твоей таблицы колонок,которая наз-ся "Настройки"
            
            Для каждого ТекКолонка Из Настройки Цикл
                
                
                ИмяКолонки = ТекКолонка.ИмяКолонки;
                НомерКолонки = ТекКолонка.КолонкаXLS;
                
                СтрокаТовары[ИмяКолонки] = СтрЗаменить(СокрЛП(Лист.Cells(ТекСтрока, НомерКолонки).Value)," ","");
            
            КонецЦикла;
            
        КонецЦикла;    
                
        //закрытие подключения к Excel
        Эксель.Application.Quit();
        Исключение
            Сообщить("Файл " + ПутьЗагрузки + " не открыт");
    КонецПопытки;

    
КонецФункции

Процедура ПриОткрытии()
    //прописываем заполнение табличной части данными из Excel
    
    //при необходимости номера колонок можно менять в Настройка
    
    //при необходимости можно убрать галочку Редактирование текста (в диалогеформы)
    //и программа не даст возможность изменения данных
    
    СтрНастройки = Настройки.Добавить();
    СтрНастройки.ИмяКолонки = "Наименование";
    СтрНастройки.КолонкаXLS = 1;
    СтрНастройки = Настройки.Добавить();
    СтрНастройки.ИмяКолонки = "PLU";
    СтрНастройки.КолонкаXLS = 2;
    СтрНастройки = Настройки.Добавить();
    СтрНастройки.ИмяКолонки = "УНП";
    СтрНастройки.КолонкаXLS = 3;
    СтрНастройки = Настройки.Добавить();
    СтрНастройки.ИмяКолонки = "РозничнаяНадбавка";
    СтрНастройки.КолонкаXLS = 4;
    
КонецПроцедуры
57 marvak
 
09.06.16
15:05
Блин
вместо    Лист = Книга.WorkSheets(3);
    Лист = Книга.WorkSheets(1);
поправь
58 marvak
 
09.06.16
15:06
у меня работало
дальше самостоятельно проверяй, что-то видимо не до конца исправила
59 modoll
 
09.06.16
15:08
у меня лист 1 стоит
60 modoll
 
09.06.16
15:11
аааааааааааа, выводит только по одной строке
61 modoll
 
09.06.16
15:13
MARVAK!!!!!!!! ТЫ ГЕНИЙ И МОЙ ГЕРОЙ!!!!!!!!!!!


С П А С И Б О!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
62 modoll
 
09.06.16
15:14
Вот ОНО:




Процедура ПутьЗагрузкиНачалоВыбора(Элемент, СтандартнаяОбработка)
    
    ВыборДиректории(Элемент);

КонецПроцедуры

Процедура КоманднаяПанель2Заполнить(Кнопка)
    //При нажатии кнопки табличная часть: очищается и заполняется
    Товары.Очистить();
    ЗагрузитьXLSИзФайла(Товары,ПутьЗагрузки);
    ЭлементыФормы.Товары.ОбновитьСтроки();

КонецПроцедуры


Функция ЗагрузитьXLSИзФайла(Товары,ПутьЗагрузки)
    
    Попытка
        //Подключение Excel
        Эксель = Новый COMобъект("Excel.Application");
        //прописываем путь к файлу
        Книга = Эксель.Application.WorkBooks.Open(ПутьЗагрузки);
        Лист = Книга.WorkSheets(1);
        
         //заполняем табличную часть формы
         Для ТекСтрока = НачалоСтрок По КонецСтрок Цикл  
            
            СтрокаТовары = Товары.Добавить();
        
         //перебираем строки таблицы колонок,которая наз-ся "Настройки"
         Для каждого ТекКолонка Из Настройки Цикл
                        
                ИмяКолонки = ТекКолонка.ИмяКолонки;
                НомерКолонки = ТекКолонка.КолонкаXLS;
                
                СтрокаТовары[ИмяКолонки] = СтрЗаменить(СокрЛП(Лист.Cells(ТекСтрока, НомерКолонки).Value)," ","");
              КонецЦикла;
           КонецЦикла;
  
        //закрытие подключения к Excel
        Эксель.Application.Quit();
        Исключение
            Сообщить("Файл " + ПутьЗагрузки + " не открыт");
    КонецПопытки;

    
КонецФункции


Процедура ПриОткрытии()
    //прописываем заполнение табличной части данными из Excel
    
    //при необходимости номера колонок можно менять в Настройка
    
    //при необходимости можно убрать галочку Редактирование текста (в диалогеформы)
    //и программа не даст возможность изменения данных
    
    СтрНастройки = Настройки.Добавить();
    СтрНастройки.ИмяКолонки = "Наименование";
    СтрНастройки.КолонкаXLS = 1;
    СтрНастройки = Настройки.Добавить();
    СтрНастройки.ИмяКолонки = "PLU";
    СтрНастройки.КолонкаXLS = 2;
    СтрНастройки = Настройки.Добавить();
    СтрНастройки.ИмяКолонки = "УНП";
    СтрНастройки.КолонкаXLS = 3;
    СтрНастройки = Настройки.Добавить();
    СтрНастройки.ИмяКолонки = "РозничнаяНадбавка";
    СтрНастройки.КолонкаXLS = 4;
    
КонецПроцедуры
63 modoll
 
10.06.16
12:54
Подскажите, чтобы сравнить штрихкоды из обработки и из справочника.Номенклатура, данные из обработчика нужно переместить во временную таблицу???? или можно как-то стазу сравнить????

P.S.
надо сравнить данные из обработки и справочника.Номенклатура по полю штрихкод или PLU и записать в обработку найденные совпадения (т.е. в обработке из Excel загрузились данные о штрихкодах и PLU и надо чтобы по нажатию кнопки Проверить и неё добавились данные о названии товара из справочника.Номеклатура). Помогите!!!!
64 modoll
 
13.06.16
12:01
Сравнение по PLU


Процедура КоманднаяПанель2Проверить(Кнопка)
    
        Запрос = Новый Запрос;
        Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;    //Копируем ссылку на временную таблицу
        Запрос.УстановитьПараметр("Тов",Товары.Выгрузить());
        Запрос.Текст = "ВЫБРАТЬ
                       |    Тов.PLU КАК PLU,
                       |    Тов.Штрихкод КАК Штрихкод,
                       |    Тов.Брэнд КАК Брэнд
                       |ПОМЕСТИТЬ ВремТабл
                       |ИЗ
                       |    &Тов КАК Тов
                       |;
                       |
                       |////////////////////////////////////////////////////////////////////////////////
                       |ВЫБРАТЬ
                       |    ВложенныйЗапрос.Номенклатура,
                       |    ВложенныйЗапрос.PLU,
                       |    ВремТабл.Штрихкод,
                       |    ВремТабл.Брэнд
                       |ИЗ
                       |    ВремТабл КАК ВремТабл
                       |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                       |            КодыТоваровPLU.Номенклатура КАК Номенклатура,
                       |            КодыТоваровPLU.Код КАК PLU
                       |        ИЗ
                       |            РегистрСведений.КодыТоваровPLU КАК КодыТоваровPLU) КАК ВложенныйЗапрос
                       |        ПО ВремТабл.PLU = ВложенныйЗапрос.PLU";
        Товары.Загрузить(Запрос.Выполнить().Выгрузить());
    
КонецПроцедуры
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.