|
Подскажите в чем ошибка? | ☑ | ||
---|---|---|---|---|
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
|
Большое спасибо что еще раз помог разобраться в это ужасе.... терь я понял как фигачить такое, буду дальше стараться!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |