| 
    
            
         
         | 
    
    
  | 
КД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 Тогда Для каждого СтрокаТЧ Из Объект.Ссылка.НоменклатураНаСкладе Цикл НоваяСтрока = Объект.НоменклатураНаСкладе.Добавить(); НоваяСтрока.СчетУчета = СтрокаТЧ.СчетУчета; НоваяСтрока.Номенклатура = СтрокаТЧ.Номенклатура; НоваяСтрока.Склад = СтрокаТЧ.Склад; НоваяСтрока.Партия = СтрокаТЧ.Партия; НоваяСтрока.Количество = СтрокаТЧ.Количество; НоваяСтрока.Сумма = СтрокаТЧ.Сумма; НоваяСтрока.ОтражениеВУСН = СтрокаТЧ.ОтражениеВУСН; НоваяСтрока.СтатусыОплатыРасходовУСН = СтрокаТЧ.СтатусыОплатыРасходовУСН; НоваяСтрока.Номенклатура = СтрокаТЧ.Номенклатура; НоваяСтрока.Валюта = СтрокаТЧ.Валюта; НоваяСтрока.НДС = СтрокаТЧ.НДС; НоваяСтрока.НДСВключенВстоимость = СтрокаТЧ.НДСВключенВстоимость; НоваяСтрока.ВалютнаяСумма = СтрокаТЧ.ВалютнаяСумма; НоваяСтрока.ВалютныйНДС = СтрокаТЧ.ВалютныйНДС; НоваяСтрока.СтавкаНДС = СтрокаТЧ.СтавкаНДС; КонецЦикла; КонецЕсли; Сообщить("Документ '" + СокрЛП(Объект) + "' " + ?(ОбъектНайден, "", "не ") + "найден, добавлено: " + Добавлено + " товаров, всего: " + Объект.НоменклатураНаСкладе.Количество(), СтатусСообщения.Информация); Всем спс за помощь.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |