|
КД2: Несколько документов в один | ☑ | ||
---|---|---|---|---|
0
Mikhail Volkov
18.04.17
✎
19:22
|
Делится организация, из нее выделяется новая. Учет велся КА. Передаваемые склады старой организации просто списали документами Списания товаров по каждому складу свой. В новой организации решили вести учет в БП3.0, создали Ввод остатков товара, заполнили шапку. Хотят, чтобы списанный в КА товар заполнился в табличной части этого документа.
В КД2 написал правило конвертации из ДокументСсылка.СписаниеТоваров КА в ДокументСсылка.ВводНачальныхОстатков БП, и только для табличных частей Товары КА в НоменклатураНаСкладе БП. Все отобранные Списания товаров КА нужно перенести в один Ввод остатков товара. Его GUID знаю, номер, дату, шапка уже заполнена. В КД2 для своего правила галку "Искать объект приемника по внутреннему..." снял. Как указать, чтобы по данному правилу все отобранные списания товаров КА выгружались именно в один Ввод остатков товара БП? |
|||
1
2083
18.04.17
✎
19:31
|
(0) ну самое простейшее - это написать в приемник е в документе какой-нибудь комментарий, а в КД гвоздем забивать его в значение и по нему поиск.
другой момент, а зачем собирать все документы по отдельности? можно же запросом собрать в ПВД нужную структуру данных и выгрузить ее по ПКО для документа ВВод нач остатков. В ПКО будет только приемник, без источника. В ПВД можно формировать выборку или структуру или как еще вздумается. |
|||
2
mistеr
18.04.17
✎
19:45
|
(1) Искать лучше по номеру.
|
|||
3
2083
18.04.17
✎
19:47
|
(2) да хоть и по номеру... привык, что как правило в приемнике документов нет и номера генерируются автоматом...
|
|||
4
Mikhail Volkov
18.04.17
✎
19:50
|
(1) Конвертировать какой-то один общий реквизит шапки (например, дата, комментарий заполнен по разному), и по нему поиск? Для этого восстановить галку "Искать объект приемника по внутреннему...", и поставить еще "Продолжить поиск по полям поиска..."?
Не сразу увидел, что списаний несколько, и суммы списания по товарам не хранятся в документах, вычислять надо. |
|||
5
2083
18.04.17
✎
19:55
|
(0) зачем по ИД? просто по реквизиту: номер. комментарий, дата, да все что угодно, лишь бы было уникально.
в ПКО ставишь поиск по этому реквизиту в обработчике ПередВыгрузкой ставишь Значение этого реквизита гвоздем как в приемнике, например Значение = "##ПереносОстатков##Товары на складе 1## ООО Рога и Копыта"; |
|||
6
mistеr
18.04.17
✎
19:58
|
(4) Создаешь параметр НомерДокументаВводаОстатков, и из него заполняешь номер. По внутреннему идентификатору, разумеется, не нужно.
Суммы не вычислять нужно, а брать из движений. Всё это в ПВД. |
|||
7
Mikhail Volkov
18.04.17
✎
20:27
|
(6) Без "Искать объект приемника по внутреннему..." не поставить галку "Продолжить поиск по полям поиска..."
|
|||
8
mistеr
18.04.17
✎
20:36
|
(7) Они обе не нужны.
|
|||
9
Mikhail Volkov
19.04.17
✎
03:49
|
(8) ОК, обе убрал. Добавил ПКС Номер, ему поставил галку поиска, в обработчик "Перед выгрузкой" написал:
Значение = "УА00-000001"; Это номер Ввод остатков (Товары) БП. Так? |
|||
10
Wit77
19.04.17
✎
06:19
|
(9) Все не так. У вас подход в корне неправильный. В (1) написали как нужно. Делаете ПВД без источника и в момент выгрузки собираете по всем нужным документам данные, формируете таблицу и передаете в качестве источника в ПВД, где приемник - это документ "Ввод начальных остатков". Таким образом у вас в хмл-файле сразу сформируется один документ, который и будет загружен в приемник.
Зачем лишний огород городить с какими-то поисками? |
|||
11
Mikhail Volkov
19.04.17
✎
07:29
|
(10) Уже объяснял в (4) почему так начал. Главное из-за того, что суммы списания по товарам не хранятся в документах, вычислять надо (и НДС). Использовал готовые функции КА, они берутся из движений по документу в целом:
ТабДвижений = УправлениеЗапасами.ПолучитьТаблицуЗатратДляПечатиИЗаполненияДокументов(Источник, ТекстЗапроса, СтруктраПараметров); Вместо этого свое писать? Не, справочники: номенклатура и склады классно перенеслись! А сам документ пустой!? Понял бы, если табличная часть заполнилась только товарами из последнего списания - она переписывается, а не добавляется. Но пусто!? Хотя создались еще 4 пустые (!?) документа с этим номером и сегодняшней датой. Видать одного номера мало, еще дата нужна. А как сделать, чтобы товар добавлялся, не перезаписывался? |
|||
12
azt-yur
19.04.17
✎
07:37
|
(11) если тяжело или лень делать как в (10), то что мешает перенести каждый документ списания в отдельный документ ввода начальных остатков?
По полям поиска описали в (5) |
|||
13
Wit77
19.04.17
✎
07:39
|
(11) ну так кто мешает вызвать готовые функции, и собрать движения в таблицу и ее передать как исходную для одного документа. Не важно как вы начали - вы не до конца понимаете логику работы КД.
(12) Ну или так. :) Тоже не понимаю зачем именно в один документ переносить. |
|||
14
Wit77
19.04.17
✎
07:42
|
(11) кстати! как вы верно заметили - у вас нет сумм в документах. Вам в принципе нужно собирать движения документов списания и по ним формировать таблицу данных для выгрузки. Не надо вообще сами документы списания трогать.
|
|||
15
Mikhail Volkov
19.04.17
✎
08:48
|
(12) Еще добавил поиск по дате - все нормально:
Документ 'Ввод остатков УА00-000001 от 13.03.2017 23:00:04' найден 377 товаров Это только одно списание загрузил, товары на месте. Можно и отдельными, но я это делаю не в реальной базе. Та БП3.0 еще пустая даже организацию не ввели, сказали, что без НДС (видимо ЕНВД)и УСН. Хотел демку БП брать, там "Ромашка" есть ЕНВД + УСН, для нее Ввод остатков товара сделать, и через ВыгрузкаЗагрузкаДанныхXML83.epf в реальную базу перекинуть, пусть "Ромашку" переименовывают. После все же нашли рабочую базу такой же организации, с нужными настройками. В ней делаю. Не хотелось много документов после перекидывать. Придумаю что нибудь... |
|||
16
Mikhail Volkov
19.04.17
✎
09:07
|
Тут еще беда - прежний бухгалтер не работала с УСН, не знает что такое "Отражение в УСН" и "Состояние расхода", говорит у всех товаров НДС обнулить. Мне конечно легче НДС не считать, но приходилось с УСН сталкиваться:
Была на обслуживании АК Интеркомпания: ООО - закупала, ИП - продавала без НДС. Авто запчастями торговали, после автосервис появился - масла разные, ГСМ. А это вроде нельзя по ЕНДВ продавать. Перевели ИП на смешанную систему УСН + ЕНВД. Если без НДС нельзя, то "Отражение в УСН" - принимается. Правильно я понимаю? |
|||
17
Mikhail Volkov
19.04.17
✎
10:05
|
Еще, если валюта "руб", валютные суммы нужны во вводе остатков (приравненные к обычным)?
|
|||
18
Mikhail Volkov
19.04.17
✎
12:25
|
Ладно, ломать не стоить - сами уберут НДС, где не надо (обнулять - не рассчитывать). ПКО после загрузки:
Для каждого СтрокаТЧ Из Объект.НоменклатураНаСкладе Цикл СтрокаТЧ.Партия = Документы.ПередачаТоваров.НайтиПоНомеру("УА00-000006", '20150101000000'); СтрокаТЧ.СтатусыОплатыРасходовУСН = Перечисления.СтатусыРасходовУСН.НеСписано; СтрокаТЧ.ОтражениеВУСН = Перечисления.ОтражениеВУСН.Принимаются; СтрокаТЧ.Валюта = Справочники.Валюты.НайтиПоКоду("643"); СтрокаТЧ.ВалютнаяСумма = СтрокаТЧ.Сумма; СтрокаТЧ.ВалютныйНДС = СтрокаТЧ.НДС; СтрокаТЧ.НДСВключенВстоимость = Истина; КонецЦикла; Добавлено = Объект.НоменклатураНаСкладе.Количество(); Если Не ОбъектНайден Тогда Отказ = Истина; ИначеЕсли Объект.Ссылка.НоменклатураНаСкладе.Количество() > 0 Тогда Для каждого СтрокаТЧ Из Объект.Ссылка.НоменклатураНаСкладе Цикл НоваяСтрока = Объект.НоменклатураНаСкладе.Добавить(); НоваяСтрока.СчетУчета = СтрокаТЧ.СчетУчета; НоваяСтрока.Номенклатура = СтрокаТЧ.Номенклатура; НоваяСтрока.Склад = СтрокаТЧ.Склад; НоваяСтрока.Партия = СтрокаТЧ.Партия; НоваяСтрока.Количество = СтрокаТЧ.Количество; НоваяСтрока.Сумма = СтрокаТЧ.Сумма; НоваяСтрока.ОтражениеВУСН = СтрокаТЧ.ОтражениеВУСН; НоваяСтрока.СтатусыОплатыРасходовУСН = СтрокаТЧ.СтатусыОплатыРасходовУСН; НоваяСтрока.Номенклатура = СтрокаТЧ.Номенклатура; НоваяСтрока.Валюта = СтрокаТЧ.Валюта; НоваяСтрока.НДС = СтрокаТЧ.НДС; НоваяСтрока.НДСВключенВстоимость = СтрокаТЧ.НДСВключенВстоимость; НоваяСтрока.ВалютнаяСумма = СтрокаТЧ.ВалютнаяСумма; НоваяСтрока.ВалютныйНДС = СтрокаТЧ.ВалютныйНДС; НоваяСтрока.СтавкаНДС = СтрокаТЧ.СтавкаНДС; КонецЦикла; КонецЕсли; Сообщить("Документ '" + СокрЛП(Объект) + "' " + ?(ОбъектНайден, "", "не ") + "найден, добавлено: " + Добавлено + " товаров, всего: " + Объект.НоменклатураНаСкладе.Количество(), СтатусСообщения.Информация); Всем спс за помощь. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |