Имя: Пароль:
1C
1С v8
Подскажите в чем ошибка?
,
0 espanol
 
27.02.12
15:22
Запрос = СоздатьОбъект("ODBCRecordSet");
   
ТекстЗапроса = "
   |SELECT
   |    Подразделение.CODE                    as [ПодразделениеКод            $Строка]
   |,    RTRIM(Подразделение.DESCR)            as [ПодразделениеНаименование    $Строка]
   |,    RTRIM(Номенклатура.CODE)            as [НоменклатураКод                $Строка]
   |,    LTRIM(RTRIM($Номенклатура.НомерПоКаталогу))    as [НомерПоКаталогу            $Строка]
   |,    RTRIM(Номенклатура.DESCR)            as [НоменклатураНаименование    $Строка]
   |,    RTRIM(БазовыеЕдиницы.CODE)            as [ЕдИзмКод                $Строка]
   |,    RTRIM(БазовыеЕдиницы.DESCR)            as [ЕдИзмНаименование    $Строка]
   |,    ОстаткиСклад.КоличествоОстаток        as [Количество            $Число]
   |,    ОстаткиСклад.СтоимостьУпрОстаток    as [СтоимостьУпр        $Число]
   |,    ОстаткиСклад.СтоимостьВалОстаток    as [СтоимостьВал        $Число]
   |,    ОстаткиСклад.СтоимостьРубОстаток    as [СтоимостьРуб        $Число]
   |,    ОстаткиСклад.НДСОстаток                as [НДС                    $Число]
   |FROM
   |    $РегистрОстатки.Склад(:ВыбДата~
   |    ,
   |    ,
   |    ,(Подразделение,Номенклатура)
   |    ,(Количество,СтоимостьУпр,СтоимостьВал,СтоимостьРуб,НДС)
   |    ) ОстаткиСклад
   |LEFT JOIN
   |    $Справочник.Подразделения Подразделение ON Подразделение.ID=ОстаткиСклад.Подразделение
   |LEFT JOIN
   |    $Справочник.Номенклатура Номенклатура ON Номенклатура.ID=ОстаткиСклад.Номенклатура
   |LEFT JOIN
   |    $Справочник.БазовыеЕдиницы БазовыеЕдиницы ON БазовыеЕдиницы.ID=$Номенклатура.БазоваяЕдиница
   |WHERE
   |    (ОстаткиСклад.КоличествоОстаток>0)
   |    AND
   |    ((ОстаткиСклад.СтоимостьУпрОстаток>=0)
   |    OR
   |    (ОстаткиСклад.СтоимостьВалОстаток>=0)
   |    OR
   |    (ОстаткиСклад.СтоимостьРубОстаток>=0)
   |    )  
   |    AND
   |    ОстаткиСклад.Подразделение = :ВыбПодразделение    
   |ORDER BY
   |    Подразделение.DESCR    
   |,    $Номенклатура.НомерПоКаталогу
   |";
   
Спр = СоздатьОбъект("Справочник.Подразделения");
   
Если Спр.НайтиПоКоду("00000002", 0) = 1 Тогда
   Значение = Спр.ТекущийЭлемент();
Иначе    
   Отказ = 1;
КонецЕсли;
   
Запрос.УстановитьТекстовыйПараметр("ВыбДата",          ТекущаяДата());
Запрос.УстановитьТекстовыйПараметр("ВыбПодразделение", Значение);
   
КоллекцияОбъектов = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);            
КоллекцияОбъектов.Свернуть("ПодразделениеКод,ПодразделениеНаименование,НоменклатураКод,НомерПоКаталогу,НоменклатураНаименование,ЕдИзмКод,ЕдИзмНаименование","Количество,СтоимостьУпр,СтоимостьВал,СтоимостьРуб,НДС");
ВыгрузитьПоПравилу(КоллекцияОбъектов, , , , "ВводОстатковТоваров");



КОНВЕРТАЦИЯ ДАННЫХ:
При выгрузке выдает ошибку:
Начало выгрузки:   27.02.12 14:39:04
Ошибка исполнения обработчика:  ПВД_ПередОбработкойПравила_ВводОстатковТоваров
 - Номер за пределами значения!
Значение = Объект.ПолучитьАтрибут(Имя);
{\V77EXP.ERT(7585)}: Неверное имя атрибута
1 fisher
 
27.02.12
15:44
А ты чего хотел.
ПКО тупо пытается из той фигни что ты передал (таблицы) получить данные на вход своих ПКС. А там мало того что нет одноименных реквизитов, так это еще и таблица.
2 espanol
 
27.02.12
15:54
(1) а надо передавать выборку чтоли?

делал вот так:

Запрос.Выполнить(ТекстЗапроса);
ВыгрузитьПоПравилу(Запрос, , , , "ВводОстатковТоваров");


чета не выходит....
3 espanol
 
27.02.12
15:59
(1) надо ли в ПКС ставить флажок "получить значение из входящих данных"?
4 fisher
 
27.02.12
18:21
(2) Я ж не ясновидящий, чего-ты там из чего выкрутить хочешь.
(3) Только для тех свойств, которые ты передаешь через входящие данные. В твоем примере ты не используешь входящие данные. Значит не надо.
6 espanol
 
27.02.12
21:48
Вообщем я создал Агоритм: запрос, параметр по складу, заканчивается так:

РезультатЗапроса = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
РезультатЗапроса.Сортировать("НоменклатураНаименование",);
Возврат РезультатЗапроса;

В ПВД указал так:

ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений");
ВыборкаДанных.НоваяКолонка("Товары");
ВыборкаДанных.НоваяКолонка("СкладКомпании");
ВыборкаДанных.НоваяСтрока();
ВыборкаДанных.Товары = ВводОстатковТоваров();

Создал ПКО с теми полями что и в запросе получаю.


Вот если использовать 1 параметр в запросе, то он нормально выгружает, создается необходимый документ и все хорошо, но, параметр это склад, а складов много, и как сделать так чтобы на каждый склад создавался документ?

Заранее спасибо!
7 espanol
 
28.02.12
09:40
Есть кто знает ответ? =)
8 fisher
 
28.02.12
11:44
(6) Т.е. ты только табличную часть передаешь? А реквизиты шапки? А поля поиска какие?
Но в общем, точно так же и делаешь.
Каждая строка таблицы "ВыборкаДанных" будет выгружена как отдельный док.
Значения колонок будут загружены в одноименные ПКС шапки. В значение колонки "Товары" для каждой строки засовываешь вложенную таблицу, которая будет загружена как табличная часть.
Чтобы каждый раз не выгружались новые доки, нужно озаботится правильными полями поиска.
9 espanol
 
28.02.12
11:49
(8) Я делаю выгрузку по РЕГИСТРУ, там нету шапки.
поля как: номен, цен, сум, едизм, склад. вот эта таблица и все...

спасибо.... но вопросов стало больше чем ответов.... чтоза поля поиска, как оно само по строке сделает документ....
10 fisher
 
28.02.12
12:05
(9) Ага. Поциент начинает по каплям сочится информацией.
В ПКО у тебя приемник какого типа? Только без отсебятины, как в КД написано?
11 espanol
 
28.02.12
12:07
(10)

ДокументСсылка.ВводОстатковТоваров
12 fisher
 
28.02.12
12:08
(11) Тогда ты делаешь выгрузку в документ. У документа бывает шапка. В которой как минимум бывает дата и номер.
13 fisher
 
28.02.12
12:12
(9) А само документ сделает элементарно. У тебя же делало уже, сам сказал. Справку по обработчикам читаешь?

ВыборкаДанных - Запрос, Результат запроса, Выборка из результата запроса или произвольная коллекция выгружаемых объектов. Используется, когда способ выгрузки данных - Произвольный алгоритм. Если определить данную переменную, то обход коллекции и выгрузка объектов будет осуществляться автоматически
14 espanol
 
28.02.12
12:16
(12) все верно, шапка заполняется стандартными реквизитами кроме склада, склад надо брать из ТЗ который получаю в алгоритме.
15 espanol
 
28.02.12
12:19
(13) сам документ делает, да, но всего навсего один! но надо разбивать ТЗ на блоки по Складам, если склад меняется, сравнивая предыдущую и текущую строку ТЗ, то прекращаем заполнение текущего документа и создаем новый документ.
16 fisher
 
28.02.12
12:19
(14) Ну так и делай. Не важно, как ты исходные данные из регистра получаешь.
Чтобы нормально выгрузилось, тебе нужно правильно заполнить таблицу, которую в "ВыборкаДанных" пихаешь. Каждая строка будет пытаться выгрузиться как отдельный документ. Т.е. в каждую строчку тебе нужно засунуть свой склад и свою табличную часть (как вложенную таблицу).
17 espanol
 
28.02.12
12:20
(15) это самое и не понимаю как и где делоть....
18 espanol
 
28.02.12
12:21
(16) сейчас подумаю как это реализовать....
19 fisher
 
28.02.12
12:23
(17) Как где. Там где "ВыборкаДанных" заполняешь. Тупо пишешь семерочный код, который это все сделает. Задача по информатике для второго класса.
Ты ж сам уже предложил вариант. Обходишь исходную таблицу отсортированную по складам. Для каждого склада формируешь отдельную таблицу. Полученные результаты пихаешь как отдельные строчки в "ВыборкаДанных".
20 espanol
 
28.02.12
12:24
(19) чета голова уже закружилась ))
получается что в ПВД, когда я указываю ВводОстатковТоваров(), я получаю свою ТаблицуЗначений возвращенную из Алгоритма?
21 espanol
 
28.02.12
12:25
я просто запутался слехка уже...
22 fisher
 
28.02.12
12:33
Что-то ты в трех соснах запутался. Своему коду не веришь, что ли? :)
23 espanol
 
28.02.12
12:35
(22) верю, но я засомневался на минутку )) со всех сторон спрашивают всякое, дергают, дел куча.... аааа.... как по башке молотком ударили
24 fisher
 
28.02.12
12:35
Я с 1С++ уже давно не работал. Но судя по обрывкам твоего кода метод ВыполнитьИнструкцию() объекта ODBCRecordSet возвращает именно таблицу значений.
25 espanol
 
28.02.12
12:38
(24) Ну да, спасибо большое! Сейчас алгоритм навояю и отпишу результат :)
26 espanol
 
28.02.12
15:07
что-то вот никак не выходит, в алгоритме запросе у меня 3 склада:
|    Подразделение.CODE IN('00000021','00000020','00000016')

В ПВД код:

ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений");
ВыборкаДанных.НоваяКолонка("Товары");
ВыборкаДанных.НоваяКолонка("СкладКомпании");

//ВыборкаДанных.НоваяСтрока();
//ВыборкаДанных.Товары = ВводОстатковТоваров();

ТабЗнач = СоздатьОбъект("ТаблицаЗначений");
ТабЗнач.НоваяКолонка("ПодразделениеКод");
ТабЗнач.НоваяКолонка("ПодразделениеНаименование");
ТабЗнач.НоваяКолонка("НоменклатураКод");
ТабЗнач.НоваяКолонка("НомерПоКаталогу");
ТабЗнач.НоваяКолонка("НоменклатураНаименование");
ТабЗнач.НоваяКолонка("ЕдИзмКод");
ТабЗнач.НоваяКолонка("ЕдИзмНаименование");
ТабЗнач.НоваяКолонка("Количество");
ТабЗнач.НоваяКолонка("СуммаВсего");
ТабЗнач.НоваяКолонка("СтоимостьВал");
ТабЗнач.НоваяКолонка("Сумма");
ТабЗнач.НоваяКолонка("СуммаНДС");

ТаблицаЗначений = ВводОстатковТоваров();
Флаг = 0;

ПодразделениеКодПред = "";
ТаблицаЗначений.ВыбратьСтроки();
Пока ТаблицаЗначений.ПолучитьСтроку() = 1 Цикл
   
   ПодразделениеКодТек = ТаблицаЗначений.ПодразделениеКод;
   
   Если ПодразделениеКодТек = ПодразделениеКодПред Тогда
       
       ТабЗнач.НоваяСтрока();
       ТабЗнач.ПодразделениеКод          = ТаблицаЗначений.ПодразделениеКод;
       ТабЗнач.ПодразделениеНаименование = ТаблицаЗначений.ПодразделениеНаименование;
       ТабЗнач.НоменклатураКод           = ТаблицаЗначений.НоменклатураКод;
       ТабЗнач.НомерПоКаталогу           = ТаблицаЗначений.НомерПоКаталогу;
       ТабЗнач.НоменклатураНаименование  = ТаблицаЗначений.НоменклатураНаименование;
       ТабЗнач.ЕдИзмКод                  = ТаблицаЗначений.ЕдИзмКод;
       ТабЗнач.ЕдИзмНаименование         = ТаблицаЗначений.ЕдИзмНаименование;
       ТабЗнач.Количество                = ТаблицаЗначений.Количество;
       ТабЗнач.СуммаВсего                = ТаблицаЗначений.СуммаВсего;
       ТабЗнач.СтоимостьВал              = ТаблицаЗначений.СтоимостьВал;
       ТабЗнач.Сумма                     = ТаблицаЗначений.Сумма;
       ТабЗнач.СуммаНДС                  = ТаблицаЗначений.СуммаНДС;
       
       Флаг = 1;
       
   Иначе
       
       Если Флаг = 1 Тогда
           
           ВыборкаДанных.НоваяСтрока();
           ВыборкаДанных.Товары        = ТабЗнач;
           ВыборкаДанных.СкладКомпании = ПодразделениеКодПред;
           ТабЗнач.УдалитьСтроки();
           
       Иначе
           
           ТабЗнач.НоваяСтрока();
           ТабЗнач.ПодразделениеКод          = ТаблицаЗначений.ПодразделениеКод;
           ТабЗнач.ПодразделениеНаименование = ТаблицаЗначений.ПодразделениеНаименование;
           ТабЗнач.НоменклатураКод           = ТаблицаЗначений.НоменклатураКод;
           ТабЗнач.НомерПоКаталогу           = ТаблицаЗначений.НомерПоКаталогу;
           ТабЗнач.НоменклатураНаименование  = ТаблицаЗначений.НоменклатураНаименование;
           ТабЗнач.ЕдИзмКод                  = ТаблицаЗначений.ЕдИзмКод;
           ТабЗнач.ЕдИзмНаименование         = ТаблицаЗначений.ЕдИзмНаименование;
           ТабЗнач.Количество                = ТаблицаЗначений.Количество;
           ТабЗнач.СуммаВсего                = ТаблицаЗначений.СуммаВсего;
           ТабЗнач.СтоимостьВал              = ТаблицаЗначений.СтоимостьВал;
           ТабЗнач.Сумма                     = ТаблицаЗначений.Сумма;
           ТабЗнач.СуммаНДС                  = ТаблицаЗначений.СуммаНДС;
           
           Флаг = 1;
           
       КонецЕсли;
       
   КонецЕсли;
   
   ПодразделениеКодПред = ПодразделениеКодТек;
   
КонецЦикла;

ВыборкаДанных.НоваяСтрока();
ВыборкаДанных.Товары        = ТабЗнач;
ВыборкаДанных.СкладКомпании = ПодразделениеКодПред;
ТабЗнач.УдалитьСтроки();



в итоге пусто.... веть ТабЗнач надо очищать чтобы туда запихивать новую ТЗ по новому складу, а если не очищать, то по всем 3 складам в один документ пихается.... бред какойто
27 fisher
 
28.02.12
15:19
(26) Мда... Ну да ладно.
В общем, ты в каждую строку выборки пишешь ссылку на одну и ту же ТЗ. А надо на разные. Их тоже в цикле создавать надо.
28 espanol
 
28.02.12
15:36
(27)
Не сработало по последнему складу тока заполняет....


ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений");
ВыборкаДанных.НоваяКолонка("Товары");
ВыборкаДанных.НоваяКолонка("СкладКомпании");

//ВыборкаДанных.НоваяСтрока();
//ВыборкаДанных.Товары = ВводОстатковТоваров();

ТабЗнач = СоздатьОбъект("ТаблицаЗначений");
ТабЗнач.НоваяКолонка("ПодразделениеКод");
ТабЗнач.НоваяКолонка("ПодразделениеНаименование");
ТабЗнач.НоваяКолонка("НоменклатураКод");
ТабЗнач.НоваяКолонка("НомерПоКаталогу");
ТабЗнач.НоваяКолонка("НоменклатураНаименование");
ТабЗнач.НоваяКолонка("ЕдИзмКод");
ТабЗнач.НоваяКолонка("ЕдИзмНаименование");
ТабЗнач.НоваяКолонка("Количество");
ТабЗнач.НоваяКолонка("СуммаВсего");
ТабЗнач.НоваяКолонка("СтоимостьВал");
ТабЗнач.НоваяКолонка("Сумма");
ТабЗнач.НоваяКолонка("СуммаНДС");

ТаблицаЗначений = ВводОстатковТоваров();
Флаг = 0;

ПодразделениеКодПред = "";
ТаблицаЗначений.ВыбратьСтроки();
Пока ТаблицаЗначений.ПолучитьСтроку() = 1 Цикл
   
   ПодразделениеКодТек = ТаблицаЗначений.ПодразделениеКод;
   
   Если ПодразделениеКодТек = ПодразделениеКодПред Тогда
       
       ТабЗнач.НоваяСтрока();
       ТабЗнач.ПодразделениеКод          = ТаблицаЗначений.ПодразделениеКод;
       ТабЗнач.ПодразделениеНаименование = ТаблицаЗначений.ПодразделениеНаименование;
       ТабЗнач.НоменклатураКод           = ТаблицаЗначений.НоменклатураКод;
       ТабЗнач.НомерПоКаталогу           = ТаблицаЗначений.НомерПоКаталогу;
       ТабЗнач.НоменклатураНаименование  = ТаблицаЗначений.НоменклатураНаименование;
       ТабЗнач.ЕдИзмКод                  = ТаблицаЗначений.ЕдИзмКод;
       ТабЗнач.ЕдИзмНаименование         = ТаблицаЗначений.ЕдИзмНаименование;
       ТабЗнач.Количество                = ТаблицаЗначений.Количество;
       ТабЗнач.СуммаВсего                = ТаблицаЗначений.СуммаВсего;
       ТабЗнач.СтоимостьВал              = ТаблицаЗначений.СтоимостьВал;
       ТабЗнач.Сумма                     = ТаблицаЗначений.Сумма;
       ТабЗнач.СуммаНДС                  = ТаблицаЗначений.СуммаНДС;
       
       Флаг = 1;
       
   Иначе
       
       Если Флаг = 1 Тогда
           
           ВыборкаДанных.НоваяСтрока();
           ВыборкаДанных.Товары        = ТабЗнач;
           ВыборкаДанных.СкладКомпании = ПодразделениеКодПред;
           
           ТабЗнач = СоздатьОбъект("ТаблицаЗначений");
           ТабЗнач.НоваяКолонка("ПодразделениеКод");
           ТабЗнач.НоваяКолонка("ПодразделениеНаименование");
           ТабЗнач.НоваяКолонка("НоменклатураКод");
           ТабЗнач.НоваяКолонка("НомерПоКаталогу");
           ТабЗнач.НоваяКолонка("НоменклатураНаименование");
           ТабЗнач.НоваяКолонка("ЕдИзмКод");
           ТабЗнач.НоваяКолонка("ЕдИзмНаименование");
           ТабЗнач.НоваяКолонка("Количество");
           ТабЗнач.НоваяКолонка("СуммаВсего");
           ТабЗнач.НоваяКолонка("СтоимостьВал");
           ТабЗнач.НоваяКолонка("Сумма");
           ТабЗнач.НоваяКолонка("СуммаНДС");
                       
       Иначе
           
           ТабЗнач.НоваяСтрока();
           ТабЗнач.ПодразделениеКод          = ТаблицаЗначений.ПодразделениеКод;
           ТабЗнач.ПодразделениеНаименование = ТаблицаЗначений.ПодразделениеНаименование;
           ТабЗнач.НоменклатураКод           = ТаблицаЗначений.НоменклатураКод;
           ТабЗнач.НомерПоКаталогу           = ТаблицаЗначений.НомерПоКаталогу;
           ТабЗнач.НоменклатураНаименование  = ТаблицаЗначений.НоменклатураНаименование;
           ТабЗнач.ЕдИзмКод                  = ТаблицаЗначений.ЕдИзмКод;
           ТабЗнач.ЕдИзмНаименование         = ТаблицаЗначений.ЕдИзмНаименование;
           ТабЗнач.Количество                = ТаблицаЗначений.Количество;
           ТабЗнач.СуммаВсего                = ТаблицаЗначений.СуммаВсего;
           ТабЗнач.СтоимостьВал              = ТаблицаЗначений.СтоимостьВал;
           ТабЗнач.Сумма                     = ТаблицаЗначений.Сумма;
           ТабЗнач.СуммаНДС                  = ТаблицаЗначений.СуммаНДС;
           
           Флаг = 1;
           
       КонецЕсли;
       
   КонецЕсли;
   
   ПодразделениеКодПред = ПодразделениеКодТек;
   
КонецЦикла;

ВыборкаДанных.НоваяСтрока();
ВыборкаДанных.Товары        = ТабЗнач;
ВыборкаДанных.СкладКомпании = ПодразделениеКодПред;
//ТабЗнач.УдалитьСтроки();
29 fisher
 
28.02.12
15:49
Документов сколько создается?
30 espanol
 
28.02.12
15:51
(29) всего 1
31 fisher
 
28.02.12
16:36
(30) Тогда два варианта. Или твой код только одну строку в "ВыборкаДанных" пишет, или выгружается таки несколько доков, но загружаются в один и тот же.

Для начала попробуем упростим код и посчитать количество выгружаемых доков.

ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений");
ВыборкаДанных.НоваяКолонка("Товары");
ВыборкаДанных.НоваяКолонка("СкладКомпании");

ТаблицаЗначений = ВводОстатковТоваров();

ПодразделениеКодТек = "";

ТаблицаЗначений.ВыбратьСтроки();
Пока ТаблицаЗначений.ПолучитьСтроку() = 1 Цикл
   
   Если ПодразделениеКодТек <> ТаблицаЗначений.ПодразделениеКод Тогда
       
       ПодразделениеКодТек = ТаблицаЗначений.ПодразделениеКод;
       
       ТабЗнач = СоздатьОбъект("ТаблицаЗначений");
       ТабЗнач.НоваяКолонка("ПодразделениеКод");
       ТабЗнач.НоваяКолонка("ПодразделениеНаименование");
       ТабЗнач.НоваяКолонка("НоменклатураКод");
       ТабЗнач.НоваяКолонка("НомерПоКаталогу");
       ТабЗнач.НоваяКолонка("НоменклатураНаименование");
       ТабЗнач.НоваяКолонка("ЕдИзмКод");
       ТабЗнач.НоваяКолонка("ЕдИзмНаименование");
       ТабЗнач.НоваяКолонка("Количество");
       ТабЗнач.НоваяКолонка("СуммаВсего");
       ТабЗнач.НоваяКолонка("СтоимостьВал");
       ТабЗнач.НоваяКолонка("Сумма");
       ТабЗнач.НоваяКолонка("СуммаНДС");
       
       ВыборкаДанных.НоваяСтрока();
       ВыборкаДанных.СкладКомпании = ПодразделениеКодТек;
       ВыборкаДанных.Товары = ТабЗнач;
       
   КонецЕсли;
   
   ТабЗнач.НоваяСтрока();
   ТабЗнач.ПодразделениеКод          = ТаблицаЗначений.ПодразделениеКод;
   ТабЗнач.ПодразделениеНаименование = ТаблицаЗначений.ПодразделениеНаименование;
   ТабЗнач.НоменклатураКод           = ТаблицаЗначений.НоменклатураКод;
   ТабЗнач.НомерПоКаталогу           = ТаблицаЗначений.НомерПоКаталогу;
   ТабЗнач.НоменклатураНаименование  = ТаблицаЗначений.НоменклатураНаименование;
   ТабЗнач.ЕдИзмКод                  = ТаблицаЗначений.ЕдИзмКод;
   ТабЗнач.ЕдИзмНаименование         = ТаблицаЗначений.ЕдИзмНаименование;
   ТабЗнач.Количество                = ТаблицаЗначений.Количество;
   ТабЗнач.СуммаВсего                = ТаблицаЗначений.СуммаВсего;
   ТабЗнач.СтоимостьВал              = ТаблицаЗначений.СтоимостьВал;
   ТабЗнач.Сумма                     = ТаблицаЗначений.Сумма;
   ТабЗнач.СуммаНДС                  = ТаблицаЗначений.СуммаНДС;
   
КонецЦикла;

Сообщить(ВыборкаДанных.КоличествоСтрок());
32 espanol
 
28.02.12
16:56
Вывел таки вот так:

Начало выгрузки:   28.02.12 16:54:33
3
Выгружено объектов:   253
Окончание выгрузки:   28.02.12 16:54:37
33 espanol
 
28.02.12
17:06
видимо всетаки он записывается в один документ....
34 espanol
 
28.02.12
17:07
но как и почему.... поиск делал и по номеру и по дате и по номеру и дате и вообще без поиска....
35 fisher
 
28.02.12
17:40
Так для начала номер и дату нужно выгрузить. Или ты хочешь меня неприятно поразить, и сказать что они у тебя в ПКО фиксированно задаются?
36 fisher
 
28.02.12
17:42
(35) + Дату можно фиксированно в ПКО прописать, а номер выгружай в ПВД. Добавь колонку для него. Формируй свой номер для каждого склада. А галки поиска поставь по дате и номеру.
37 fisher
 
28.02.12
17:45
(36) + Или вообще номер не задавать, чтобы он создавался автоматом при загрузке, а галки поиска по дате и складу.
38 espanol
 
28.02.12
17:53
(35) Канешна нет.
(37) Так и делал.
(36) Сделал, номер встал равный 0000000001, и тут я ниче уже не понял, почему в документ попадает последняя ТЗ, а номер первый.... что-то тут не то....
39 espanol
 
28.02.12
17:55
ааа, стоп, ТЗ тоже первая попадает!
40 espanol
 
28.02.12
17:55
а второе и третье значение будто растворились гдето
41 fisher
 
28.02.12
17:57
ТЗ должна последняя попадать. Потому что все три дока последовательно загружаются в один. Попробуй выгружать каждый со своим номером. Что-то ты там намудрил с настройками.
42 espanol
 
28.02.12
17:58
(41) всмысле? каждый со своим номером? я присвоил искуственно каждой строке свой номер, да.
43 espanol
 
28.02.12
18:01
настройки стандартные, поиск на номере и дате....
я заметил такую вещь, если вот ТЗ в ПВД не обнулять то при выгрузке туда загружаются все товары из запроса, проверил, по остаткам все сходится, а если заного создавать ТЗ то получается то что полилось сейчас.....
44 fisher
 
28.02.12
18:02
ВыборкаДанных.НоваяКолонка("Номер");
..................
ВыборкаДанных.Номер = ПодразделениеКодТек; //например
45 espanol
 
28.02.12
18:03
(44) да, так и сделал

Начало выгрузки:   28.02.12 17:54:25
Номер 1
00000016
Номер 2
00000020
Номер 3
00000021
Выгружено объектов:   253
Окончание выгрузки:   28.02.12 17:54:30
46 fisher
 
28.02.12
18:22
И галки поиска стоят по номеру и дате?
Тогда показывай скриншот со своим ПКО и своими ПКС.
47 fisher
 
28.02.12
18:23
Ну и ПВД до кучи (концовку чтобы видно было).
48 espanol
 
28.02.12
18:24
УРа заработало!
49 espanol
 
28.02.12
18:25
(47) знаешь в чем было:

Важно:
Если для выборки данных ПВД используется произвольный алгоритм и в обработчике ПВД "Перед обработкой" инициируется параметр ВыборкаДанных, то для ПКО следует установить признак "Не запоминать выгруженные объекты".
50 espanol
 
28.02.12
18:25
Большое спасибо что еще раз помог разобраться в это ужасе.... терь я понял как фигачить такое, буду дальше стараться!