Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: v7: 1c++ OLEDB не понимает select top ?

База=СоздатьОбъект("OLEDBData");
Соединение="Provider=VFPOLEDB.1;Data Source=" + ВыделитьИмяФайла(СокрЛп(рПуть1),"Путь") + ";Mode=Read;";
Рез=База.Соединение(Соединение);
Запрос=База.СоздатьКоманду();
Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
    
SELECT *  FROM MY.DBF - выполняется

SELECT top 1 *  FROM MY.DBF - не выполняется


кстати, как получить Запрос.ошибка()?
Ответ: А, это не устраивает? Думаю, по-другому никак.
Вопрос: 1c 7.7 возможно ли перенести на MS SQL2014 (сейчас 2000)

Добрый день,
мне тут задали интересный вопрос, возможно ли перенести 1с 7-ой версии на мс скл 2014.
кто нибудь сталкивался с такой ситуацией? и реально ли это, в и-нете инфы не нашел :(
есть ли какие-то подводные камни ?
понимаю, что это извращение, но в связи с другим проектом хотят всё поместить на 2014-ый и купить сервер, а пока что там 2000-ый...

Заранее благодарен за инфо.
Ответ:
Bone serpent
Для работы 7.7 на SQL новее 2000 лучше всего использовать "секретный релиз" http://infostart.ru/public/82018/
У меня работает на SQL2012. Проблем не замечено.

Дело говорит. Люди давно подпачтили bkend.dll для работы с SQL новыми версиями. Если есть желание - то можете поискать на сайтах:
http://www.forum.mista.ru/topic.php?id=637403
http://forum.ru-board.com/topic.cgi?forum=8&topic=28327&start=40
http://www.sql.ru/forum/903921/1c-i-sql-server-2008

Но все эти проблемы решаются секретным релизом на Инфостарте.
Вопрос: 1C 7.7 Запрос на получение остатков по счетам

Добрый день!

Так получилось, что пути с семеркой пересеклись впервые. Пишу обработки для переноса данных в самописную конфигурацию. По запросам к справочникам и документам вопросов нет. Собственно нужен небольшой гайд по запросам к проводкам или операциям (сам уже не понимаю).
Например как по выбранному счету получить остатки в разрезе субконто? Может плохо искал, но гугл мало, чем помог, да и справка в программе скудная.

Заранее спасибо!

Добавлено через 1 час 10 минут
Разобрался. Есть для этого объект "БухгалтерскиеИтоги".
Ответ: Бухгалтерские Итоги\ВыполнитьЗапрос читай. Прям открывай ветку в помощнике и вперед.
Ну и гугол в помощь. Если по-конкретнее что нужно, обращайся.
Небольшой пример из моей программки
Код 1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
  
    ПлСч=ПланыСчетов.ValueByIdentifier("НПС");
    Ит=СоздатьОбъект("БухгалтерскиеИтоги");
 
  //ПРОДАЖИ И НДС
    Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения,СпСкл);
    Ит.ВключатьСубСчета(1,1);
    Ит.ВыполнитьЗапрос(НачДата,КонДата,"90.1,90.5,90.3","50.3,62.3,68.2",,2);
    Ит.ВыбратьСчета();
    while Ит.ПолучитьСчет()=1 do
        Счет=Ит.Счет;
        Ит.ВыбратьСубконто();
        while Ит.ПолучитьСубконто()=1 do 
            Тбл.NewLine();
            Тбл.Скл=ПолучитьЗаголовок(Ит.Субконто());
            Тбл.Ф=Ит.Субконто().Фирма;
            if Счет<>СчетПоКоду("90.3",ПлСч) then
                Тбл.Прод=Ит.КО();
            else    
                Тбл.НДС=Ит.ДО();
            endif;  
        enddo;  
    enddo;  
    //ИЗДЕРЖКИ
    Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиИздержек);
    Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения,СпСкл);
    Ит.ВключатьСубСчета(1,1);
    Ит.ВыполнитьЗапрос(НачДата,КонДата,"44,26",,,2); 
    Ит.ВыбратьСчета();
    while Ит.ПолучитьСчет()=1 do
        Ит.ВыбратьСубконто(1);
        while Ит.ПолучитьСубконто(1)=1 do 
            Статья=Ит.Субконто(1); 
            if Статья=Перечисление.СтатьиИздержек.Отчисления then continue endif;
            Ит.ВыбратьСубконто(2);
            while Ит.ПолучитьСубконто(2)=1 do
                Тбл.NewLine();
                Тбл.Скл=ПолучитьЗаголовок(Ит.Субконто(2));
                Тбл.Ф=Ит.Субконто(2).Фирма;
                if (Статья=Перечисление.СтатьиИздержек.АрендаПомещения)or(Статья=Перечисление.СтатьиИздержек.АрендаГосИмущества) then
                    Тбл.СумАренда=Ит.ДО();
                elsif Статья=Перечисление.СтатьиИздержек.ОплатаТруда then
                    Тбл.СумРасчеты=Ит.ДО()*(1-0.13); //13% НДФЛ 
                else
                    Тбл.СумПрочее=Ит.ДО();
                endif;
            enddo;  
        enddo; 
    enddo;  
Вопрос: 1c Табличая часть документа в одной строке (макет)как это сделать?

мне надо сделать чтобы перечисление адресов было в строчку в печатной форме!пример: (в одну ячейку 1)р. Казахстан, г.Астана по ТТН 2)г. Новосибирск ул. Ленина 18 и тог дальше). я нашло одно обсуждение тока че то у меня оно не работает!!!

Кликните здесь для просмотра всего текста
Код 1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
Процедура СчетФактура(ТабДок, Ссылка) Экспорт
    //{{_КОНСТРУКТОР_ПЕЧАТИ(СчетФактура)
    Макет = Документы.Счет.ПолучитьМакет("СчетФактура");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |   Счет.Водитель,
    |   Счет.Дата,
    |   Счет.Заказчик,
    |   Счет.Исполнитель,
    |   Счет.Номер,
    |   Счет.Сумма,
    |   Счет.СуммаНалога,
    |   Счет.Транспорт,
    |   Счет.ЦенаТарифа,
    |   Счет.товар.(
    |       НомерСтроки,
    |       Ссылка.Водитель,
    |       Ссылка.Транспорт,
    |       Ссылка.Дата,
    |       Ссылка.Сумма,
    |       Ссылка.Цена,
    |       Ссылка.КолВо,
    |       Ссылка.ЦенаТарифа,
    |       Ссылка.СтоимостьУслуги,
    |       Ссылка.СуммаНалога,
    |       Ссылка.Сумма КАК Сумма1,
    |       Адрес,
    |       Ссылка
    |   ),
    |   Счет.Исполнитель.Банк КАК испБанк,
    |   Счет.Исполнитель.Бик КАК испБик,
    |   Счет.Исполнитель.КорреспонденскийСчет КАК испКорреспонденскийСчет,
    |   Счет.Исполнитель.ИНН КАК иИНН,
    |   Счет.Исполнитель.КПП КАК иКПП,
    |   Счет.Исполнитель.Наименование КАК ИСП,
    |   Счет.Исполнитель.НомерСчета КАК оргНомерСчета,
    |   Счет.Исполнитель.ЮридическийАдрес.Страна КАК иСтрана,
    |   Счет.Исполнитель.ЮридическийАдрес.Индекс КАК иИндекс,
    |   Счет.Исполнитель.ЮридическийАдрес.Город КАК иГород,
    |   Счет.Исполнитель.ЮридическийАдрес.Улица КАК иУлица,
    |   Счет.Исполнитель.ТелефонФакс КАК иТелефонФакс,
    |   Счет.Заказчик.ИНН КАК зИНН,
    |   Счет.Заказчик.КПП КАК зКПП,
    |   Счет.Заказчик.ЮридическийАдрес.Наименование КАК зЮАдрес,
    |   Счет.Исполнитель.ФИОДиректор КАК иФИОДиректор,
    |   Счет.ПрописьЧисла1,
    |   Счет.ПрописьЧисла,
    |   Счет.СтоимостьУслуги,
    |   Счет.Адрес1
    |ИЗ
    |   Документ.Счет КАК Счет
    |ГДЕ
    |   Счет.Ссылка В(&Ссылка)";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
    
 
    Шапка1                 = Макет.ПолучитьОбласть("Шапка1");
    ОбластьтоварШапка      = Макет.ПолучитьОбласть("товарШапка");
    Областьтовар           = Макет.ПолучитьОбласть("товар");
    ТоварПодвал            = Макет.ПолучитьОбласть("ТоварПодвал");
    Подвал                 = Макет.ПолучитьОбласть("Подвал");
 
    ТабДок.Очистить();
    
    
    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
 
        Шапка1.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Шапка1, Выборка.Уровень());
 
        
        ТабДок.Вывести(ОбластьтоварШапка);
        Выборкатовар = Выборка.товар.Выбрать();
        //Пока Выборкатовар.Следующий() Цикл
        //  Областьтовар.Параметры.Заполнить(Выборкатовар);
        //  ТабДок.Вывести(Областьтовар, Выборкатовар.Уровень());
        //  КонецЦикла;
 
 
//  ???????????????????????????????????????????????????????????????????????????????
Пока Выборкатовар.Следующий() Цикл
             ДокСчет = Выборкатовар.Ссылка;
               //(реакция на пустую ТЧ по ситуации)
             Для каждого стр Из ДокСчет.Товар Цикл
                 Если стр.НомерСтроки = 1 Тогда
                    Областьтовар.Параметры.Заполнить(ДокСчет);
                    ТабДок.Вывести(Областьтовар);                
                 Иначе
                     Областьтовар.Параметры.Заполнить(стр);
                     
                     //Областьтовар.Параметры.Адрес ="";
                     
                     ТабДок.Вывести(Областьтовар); 
                 КонецЕсли
             КонецЦикла;   
        КонецЦикла
//  ???????????????????????????????????????????????????????????????????????????????????????????     
               
        
        ТоварПодвал.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(ТоварПодвал, Выборка.Уровень());
 
 
        Подвал.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Подвал);
 
        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
КонецПроцедуры
Ответ: Все получилось! Огромное спасибо!!!
рабочая версия

Код 1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Процедура СчетФактура(ТабДок, Ссылка) Экспорт
    //{{_КОНСТРУКТОР_ПЕЧАТИ(СчетФактура)
    Макет = Документы.Счет.ПолучитьМакет("СчетФактура");
    Запрос = Новый Запрос;
    Запрос.Текст =
          "ВЫБРАТЬ
          | Счет.Исполнитель,
          | Счет.Исполнитель.ЮридическийАдрес.Индекс КАК иИндекс,
          | Счет.Исполнитель.ЮридическийАдрес.Страна КАК иСтрана,
          | Счет.Исполнитель.ЮридическийАдрес.Город КАК иГород,
          | Счет.Исполнитель.ЮридическийАдрес.Улица КАК иУлица,
          | Счет.Исполнитель.ИНН КАК иИНН,
          | Счет.Исполнитель.КПП КАК иКПП,
          | Счет.Заказчик,
          | Счет.Заказчик.ЮридическийАдрес КАК зЮАдрес,
          | Счет.Заказчик.ИНН КАК зИНН,
          | Счет.Заказчик.КПП КАК зКПП,
          | Счеттовар.Ссылка,
          | Счеттовар.НомерСтроки,
          | Счеттовар.вид,
          | Счеттовар.Адрес,
          | Счет.ДатаПрихода,
          | Счет.Водитель,
          | Счет.Транспорт,
          | Счет.Транспорт.Полуприцеп,
          | Счет.Транспорт.ВидТс,
          | Счет.КолВо,
          | Счет.ЦенаТарифа,
          | Счет.СтоимостьУслуги,
          | Счет.СуммаНалога,
          | Счет.Сумма,
          | Счет.Заказчик.ФИОДиректор,
          | Счет.Исполнитель.ФИОДиректор
          |ИЗ
          | Документ.Счет.товар КАК Счеттовар
          |     ЛЕВОЕ СОЕДИНЕНИЕ Документ.Счет КАК Счет
          |     ПО Счеттовар.Ссылка = Счет.Ссылка
          |ГДЕ
          | Счет.Ссылка В(&Ссылка)";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
     
     НомерСтроки = (",  ");
    ВТ = Запрос.Выполнить().Выгрузить();
    МассивАдресов = ВТ.ВыгрузитьКолонку("Адрес");
    СтрокаАдресов = "";
    МассивНомеров = ВТ.ВыгрузитьКолонку("НомерСтроки");
    СтрокаНомеров = "";
    
    Для Каждого Адрес ИЗ МассивАдресов Цикл
        СтрокаАдресов = СтрокаАдресов  + Адрес + НомерСтроки;
    КонецЦикла;
 
 
    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
          Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
        Шапка                   = Макет.ПолучитьОбласть("Шапка");
        Шапка.Параметры.Адреса = СтрокаАдресов;// вместо "Адреса" пиши как параметр в макете зовется (если он в шапке)
        Шапка.Параметры.Заполнить(Выборка);
        ТабДок.Очистить();
 
        ТабДок.Вывести(Шапка, Выборка.Уровень());
        
        
       
 
        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
        //}}
КонецПроцедуры
Вопрос: 1C 7.7 Дописать запрос по Контрагентам

Доброго дня пишу процедуру в которой запрос, где нужно вывести документы по выбранному в диалоговом окне контрагенту. Написал чтобы появилось диалоговое окно, выбор идёт а дальше не знаю, как нужно дописать запрос, чтобы он по конкретному контрагенту вывел приходники и расходники, а если не выбран контрагент то всех вывел, помогите пожалуйста.
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Процедура Кнопка_таблица()
Перем Запрос, ТекстЗапроса, Таб, ном, Контр;
    Спр=СоздатьОбъект("Справочник.Контрагенты"); // Переменной Спр присваиваем тип объекта 
       Если Спр.Выбрать("Выберите клиента","") > 0 Тогда // используем метод справочника- выбрать
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Контрагенты = Справочник.Контрагенты;    
    |Номер = Документ.ПриходныйОрдер.НомерДок;
    |Дат1 = Документ.ПриходныйОрдер.ДатаДок; 
    |Всего =  Документ.ПриходныйОрдер.Сумма;
    |ОтКого =  Документ.ПриходныйОрдер.ПринятоОт;
    |Функция Сум =  Сумма(Всего);
    //|ГДЕ
    //| ВЫБОР КОГДА Сотрудник = ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка);// если сотрудник не выбран
    //|      ТОГДА ИСТИНА // выбираем всех
   // |ИНАЧЕ
    //|     Сотрудник = &Сотрудник; // иначе проверяем на соответствие выбранному
    |Группировка Номер;
    
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;    
    КонецЕсли;
 
// Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Дирижабль");
    // Заполнение полей "Заголовок"
 
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    // Вывод заполненной формы 
    Ном=0;
    Пока Запрос.Группировка(1) = 1 Цикл
//Заполнение полей РасходнаяНакладная
        Ном=Ном+1;
        Таб.ВывестиСекцию("Документ");
    КонецЦикла;  
    Таб.ВывестиСекцию("Итого");
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Дирижабль", "");
     КонецПроцедуры //Кпнока_контрагентов
Ответ: а не проще писать в запросе:
1C
1
|Условие(Контрагент в выбКонтрагент);
И все. Будет выбор по конрагенту, по группе, или же по всем. И никаких условий не нужно писать вообще.
Вопрос: РЕШЕННО загрузка файла Excel в 1С через Microsoft.ACE.OLEDB.

Не работает
Код:
СтрокаПодключения="Provider=Microsoft.ACE.OLEDB.16.0;Data Source=G:\11\Кадорр, Б.Арнаутская 26-30.xlsx;Extended Properties=Excel 16.0;";
    // создание соединения
        Connection=Новый ComObject("ADODB.Connection");
    // Подключение
    Попытка
        Connection.Open(СтрокаПодключения);
    Исключение
       // Возврат

        Сообщить("Ошибка подключения к EXCEL");
        Возврат;
    КонецПопытки;
    сообщить("УСПЕШНО EXCEL");   
кто знает почему?
Excel 2016, 1c 8.3.9.2033
Ответ:
нет, я просто скачала AccessDatabaseEngine_X64 и инсталлировала отдельно, а в
Код:
СтрокаПодключения="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=G:\11\Кадорр, Б.Арнаутская 26-30.xlsx;Extended Properties=Excel 12.0;";
заменила 16 на 12
Вопрос: Microsoft OLEDB + 1с = удаляет первую колонку

Загружаю эксель через OLEDB - не видит первой колонки.
Строка подключения

СonnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " + СокрЛП(ФайлEXCEL) + ";Extended Properties=""Excel 12.0;HDR=NO;IMEX=1;""";

Другие файлы - загружаются хорошо. Именно прайс этого поставщика - нет. Если его открыть в екселе и просто сохранить - тоже начинает работать.
Сам прайс можно скачать здесь

В чем может быть проблемма?
Ответ: ()
800 тис(!) строк за сколько времени прочитает?
OLEDB - думаю за минут 2 справиться
Вопрос: 1c 8.3 linux не видит програмные лицензии

Имеется сервер 1с предприятие . и програмные лицензии к нему. сервер поднят как файловый. установлен xrdp . Ubuntu сервер.
Активация проводилась под админом. соответственно есть 2 файла связанных с лицензиями. первый лежал в
/home/admin/LicData.txt
второй :
/home/admin/.1cv8/1C/1cv8/conf/201**********.lic

Под админом все работает отлично и напрямую и через терминал, но создав пользователя buh например ругается что не может найти лицензию. в общем то логично, она же в моей локальной папке ( я правда не понимаю почему 1с ее туда засунул). лицензия разумеется многопользовательская.

вопросы :
как быть ?
как прописать 1с откуда брать файл лицензии ?
почему то под пользователем buh например, ну или любым другим 1с ка запрашивает не .lic файл. а LicData.txt файл, подсунув который полчаем ответ : Aquring a license covering of all users of this computer is not avialable. ( в смысле почему он просит файл запросов а не файл лицензии ? и почему не ест его ?
--- Объединение сообщений, 4 фев 2016 ---
Забыл есть еще активная подписка ИТС до мая. можно их напрячь этим ? не понимаю почему платя за софт + за обновления должен с ним :%№ться
Ответ:
похоже уже сам нагуглил, дело в правах на файлы которые создаются при входе юзера в базу. ну поскольку никто ничем не помог лень все распиывать. проблема решена
Вопрос: Настройка считывателя магнитных карт 1C УТ

Уважаемые форумчане! Здравствуйте. Приобрел считыватель магнитных карт Bluepad-50. Пробую подключить его к 1С УТ 11.3. Нигде не могу найти инструкции как это возможно сделать в 1С и конкретно в этой конфигурации. Нашел справочник "Шаблон магнитных карт", но не понимаю как его настроить в этом справочнике. Также не могу понять как подать сигнал из 1С на считыватель. Ради теста. Подскажите, пожалуйста.
Ответ:
вообще-то ваш Bluepad-50 это PIN-PAD


а вот считыватель МК
Вопрос: В условиях соединения запроса не допускается обращение к табличным частям. 1C 8.3

Здравствуйте! При выполнении запроса выбивает ошибку. Помогите пожалуйста найти решение.


Ошибка:
{Документ.ИнвентаризацияТоваровНаСкладе.МодульМенеджера(1935)}: Ошибка при вызове метода контекста (Выполнить)
Возврат Запрос.Выполнить().Выбрать();
по причине:
Ошибка выполнения запроса
по причине:
Запрос невозможно исполнить
В условиях соединения запроса не допускается обращение к табличным частям. (1)


Запрос:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
ВЫБРАТЬ
    ИнвентаризацияТоваровНаСкладе.Ссылка КАК Ссылка,
    ИнвентаризацияТоваровНаСкладе.Номер,
    ИнвентаризацияТоваровНаСкладе.Дата,
    ИнвентаризацияТоваровНаСкладе.Дата КАК ДатаСнятияОстатков,
    ИнвентаризацияТоваровНаСкладе.ДатаНачалаИнвентаризации КАК ДатаНачалаИнвентаризации,
    ИнвентаризацияТоваровНаСкладе.ДатаОкончанияИнвентаризации КАК ДатаОкончанияИнвентаризации,
    ИнвентаризацияТоваровНаСкладе.ДокументОснованиеВид КАК ДокументОснованиеВид,
    ИнвентаризацияТоваровНаСкладе.ДокументОснованиеДата КАК ДокументОснованиеДата,
    ИнвентаризацияТоваровНаСкладе.ДокументОснованиеНомер КАК ДокументОснованиеНомер,
    ИнвентаризацияТоваровНаСкладе.ОтветственноеЛицо КАК ОтветственноеЛицо,
    ИнвентаризацияТоваровНаСкладе.Организация,
    ИнвентаризацияТоваровНаСкладе.Склад.Представление КАК ПредставлениеСклада,
    ИнвентаризацияТоваровНаСкладе.Организация КАК Организация1,
    ИнвентаризацияТоваровНаСкладе.СчетУчетаБУ,
    ИнвентаризацияТоваровНаСкладе.Склад,
    ИнвентаризацияТоваровНаСкладе.Товары.(
        НомерСтроки,
        Номенклатура,
        Номенклатура.НаименованиеПолное КАК Товар,
        Номенклатура.Наименование КАК ТоварКратко,
        ВЫБОР
            КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул)
                ТОГДА ИнвентаризацияТоваровНаСкладе.Товары.Номенклатура.Артикул
            ИНАЧЕ ИнвентаризацияТоваровНаСкладе.Товары.Номенклатура.Код
        КОНЕЦ КАК КодАртикул,
        СчетУчета КАК СубСчет,
        Количество КАК Количество,
        КоличествоУчет КАК КоличествоПоУчету,
        Номенклатура.ЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКодПоОКЕИ,
        Номенклатура.ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование,
        Цена,
        Сумма,
        СуммаУчет КАК СуммаПоУчету,
        Номенклатура.Код
    ),
    ИнвентаризацияТоваровНаСкладе.ИнвентаризационнаяКомиссия.(
        НомерСтроки,
        ФизЛицо,
        Председатель КАК Председатель
    ),
    ИнвентаризацияТоваровНаСкладе.ПричинаПроведенияИнвентаризации,
    ХозрасчетныйОборотыДтКт.СубконтоДт3.КодПартии
ИЗ
    Документ.ИнвентаризацияТоваровНаСкладе КАК ИнвентаризацияТоваровНаСкладе
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт КАК ХозрасчетныйОборотыДтКт
        ПО ИнвентаризацияТоваровНаСкладе.Товары.Номенклатура.Ссылка = ХозрасчетныйОборотыДтКт.СубконтоДт3.Ссылка
ГДЕ
    ИнвентаризацияТоваровНаСкладе.Ссылка В(&МассивОбъектов)
Ответ: Я бы сделал как-то так:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Док.Ссылка                          КАК Ссылка,
    Док.Номер                           КАК Номер,
    Док.Дата                            КАК Дата,
    Док.Дата                            КАК ДатаСнятияОстатков,
    Док.ДатаНачалаИнвентаризации        КАК ДатаНачалаИнвентаризации,
    Док.ДатаОкончанияИнвентаризации     КАК ДатаОкончанияИнвентаризации,
    Док.ДокументОснованиеВид            КАК ДокументОснованиеВид,
    Док.ДокументОснованиеДата           КАК ДокументОснованиеДата,
    Док.ДокументОснованиеНомер          КАК ДокументОснованиеНомер,
    Док.ОтветственноеЛицо               КАК ОтветственноеЛицо,
    Док.Организация                     КАК Организация,
    Док.Склад.Представление             КАК ПредставлениеСклада,
    Док.СчетУчетаБУ                     КАК СчетУчетаБУ,
    Док.Склад                           КАК Склад,
    Док.ПричинаПроведенияИнвентаризации КАК ПричинаПроведенияИнвентаризации
ПОМЕСТИТЬ втДанныеДокументов
ИЗ
    Документ.ИнвентаризацияТоваровНаСкладе КАК Док
ГДЕ
    Док.Ссылка В(&МассивОбъектов)
;
ВЫБРАТЬ
    Шапка.Ссылка                          КАК Ссылка,
    Шапка.Номер                           КАК Номер,
    Шапка.Дата                            КАК Дата,
    Шапка.Дата                            КАК ДатаСнятияОстатков,
    Шапка.ДатаНачалаИнвентаризации        КАК ДатаНачалаИнвентаризации,
    Шапка.ДатаОкончанияИнвентаризации     КАК ДатаОкончанияИнвентаризации,
    Шапка.ДокументОснованиеВид            КАК втДанныеДокументовументОснованиеВид,
    Шапка.ДокументОснованиеДата           КАК втДанныеДокументовументОснованиеДата,
    Шапка.ДокументОснованиеНомер          КАК втДанныеДокументовументОснованиеНомер,
    Шапка.ОтветственноеЛицо               КАК ОтветственноеЛицо,
    Шапка.Организация                     КАК Организация,
    Шапка.Склад.Представление             КАК ПредставлениеСклада,
    Шапка.СчетУчетаБУ                     КАК СчетУчетаБУ,
    Шапка.Склад                           КАК Склад,
    Шапка.ПричинаПроведенияИнвентаризации КАК ПричинаПроведенияИнвентаризации
ИЗ
    втДанныеДокументов КАК Шапка
;
ВЫБРАТЬ
    Товары.Ссылка                   КАК Ссылка,
    Товары.НомерСтроки              КАК НомерСтроки,
    Товары.Номенклатура             КАК Номенклатура,
    Товары.СчетУчета                КАК СубСчет,
    Товары.Количество               КАК Количество,
    Товары.КоличествоУчет           КАК КоличествоПоУчету,
    Товары.Цена                     КАК Цена,
    Товары.Сумма                    КАК Сумма,
    Товары.СуммаУчет                КАК СуммаПоУчету,
    Номенклатура.НаименованиеПолное КАК Товар,
    Номенклатура.Наименование       КАК ТоварКратко,
    Номенклатура.Код                КАК Код,
    Номенклатура.КодПартии          КАК КодПартии,
    ВЫБОР КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул) ТОГДА
        Номенклатура.Артикул
    ИНАЧЕ
        Номенклатура.Код
    КОНЕЦ                           КАК КодАртикул,
    ЕдиницыИзмерения.Код            КАК ЕдиницаИзмеренияКодПоОКЕИ,
    ЕдиницыИзмерения.Наименование   КАК ЕдиницаИзмеренияНаименование
ИЗ
    Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК Товары
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    втДанныеДокументов КАК втДанныеДокументов ПО Товары.Ссылка = втДанныеДокументов.Ссылка
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    Справочник.Номенклатура КАК Номенклатура 
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ
            Справочник.КлассификаторЕдиницИзмерения КАК ЕдиницыИзмерения ПО Номенклатура.ЕдиницаИзмерения = ЕдиницыИзмерения.Ссылка
    ПО Товары.Номенклатура = Номенклатура.Ссылка
;
ВЫБРАТЬ
    Комиссия.Ссылка       КАК Ссылка,
    Комиссия.НомерСтроки  КАК НомерСтроки,
    Комиссия.ФизЛицо      КАК ФизЛицо,
    Комиссия.Председатель КАК Председатель
ИЗ
    Документ.ИнвентаризацияТоваровНаСкладе.ИнвентаризационнаяКомиссия КАК Комиссия
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    втДанныеДокументов КАК втДанныеДокументов ПО Комиссия.Ссылка = втДанныеДокументов.Ссылка
Потом что-то вроде Пакет = Запрос.ВыполнитьПакет(); Шапка = Пакет[1].Выбрать(); ТЧ_Товары = Пакет[1].Выгрузить(); ТЧ_Комиссия = Пакет[2].Выгрузить(); Ну или через итоги и обход группировок, как больше нравится.

И, хоть убейте, но не понимаю, зачем вам вытаскивать значение реквизита "КодПартии" из СубконтоДт3, если его можно получить из самой номенклатуры. Либо я не понял смысла соединения с регистром бухгалтерии.