|
v7: КД 2.0 не могу сконвертировать из ТИС в БП 3.0 Субконто1 Документа ПоступлениеПрочее | ☑ | ||
|---|---|---|---|---|
|
0
tgu82
22.07.26
✎
21:52
|
СТолкнулся с проблемой там где ее не ожидал.
ПоступлениеПрочее конвертироуется в ПоступлениеТоваровУслуг с табличной частью Услуги. Счет затрат 44.1.1 без проблем конвертируется в 44.01. А то Субконто1 никак. Причем если счет 10.6 и субконто1 это номенклатура (ну вот так у нас), то не только конвертируется но и отрабатывает процедура которая переносит из Услуги в Товары и все прекрасно уже давно. Но вот когда вид Субконто1 в ТИС ЗначенияСубконто (по сути Строка) но не получается передать ее в ПоступлениеТоваровУслуг. Справочники.СтатьиЗАтрат.НайтиПоНаименованию(Субконто1). В XML-файле есть ТАрнспортные услуги с типом Строка. А дальше все - торможу. У АЛиса спрашивал долго. Потом спросил у Ясеня ) Без толку |
|||
|
1
tgu82
22.07.26
✎
22:04
|
Сложный вопрос или простой ответ который я не вижу ?
|
|||
|
2
RoRu
22.07.26
✎
22:20
|
(1) не очень понятно, что у вас не получается
а вид субконто1 в ТИС какой? просто обработкой вы можете субконто 1 в БП3 записать ? |
|||
|
3
zenik
22.07.26
✎
22:28
|
Я бы сделал так:
ПКО = СтатьиЗатратПоНаименованию ПКО для него - Наименование с поиском и Значение = Источник; При выгрузке субконто1 в зависимости от типа значения через ИмяПКО = "СтатьиЗатратПоНаименованию" менять правила. |
|||
|
4
tgu82
22.07.26
✎
22:33
|
(2) То то и оно вид Субконто1 либо Номенклатура либо ЗначениеСубконто - можно сказать что строка
|
|||
|
5
tgu82
22.07.26
✎
22:37
|
Субконто1 это же в таблично части.
Ну почему если вид Субконо1 Номенклатура то без проблем оно есть в тч товары ПоступлениеТоварыУслуги. Но если строка то в файле выгрузки есть это значение. А вот до 8-ки как-то не добирается |
|||
|
6
tgu82
22.07.26
✎
22:57
|
В ПоступлениеПрочее ПКО и там есть ПослеЗагрузки
СчетаУчета = БухгалтерскийУчетПереопределяемый.ПолучитьСчетаРасчетовСКонтрагентом(Объект.Организация, Объект.Контрагент, Объект.ДоговорКонтрагента); Если Объект.ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомитентом Тогда Объект.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетовСКомитентом; Иначе Объект.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетов; КонецЕсли; Объект.СчетУчетаРасчетовПоАвансам = СчетаУчета.СчетАвансов; Объект.СчетУчетаРасчетовПоТаре = СчетаУчета.СчетУчетаТары; //+АдминистраторБД, 2023-10-10, ДОБАВЛЕНО НЕТИПОВОЕ // Если есть в ТЧ Услуги материалы с 10 счётом необходимо их перенести в ТЧ Товары Если Объект.Услуги.Количество() <> 0 Тогда Счет10 = ПланыСчетов.Хозрасчетный.Материалы; Счет44 = ПланыСчетов.Хозрасчетный.ИздержкиОбращения; ТаблицаУслуг = Объект.Услуги.Выгрузить(); ТаблицаУслуг.Колонки.Добавить("НуженПереносСтроки"); Сообщить("СЧЕТ "+Счет44); ЕстьНеобходимостьВРазбивкеТЧУслуги = Ложь; Для Каждого СтрокаУслуг Из ТаблицаУслуг Цикл Если ЗначениеЗаполнено(СтрокаУслуг.СчетЗатрат) Тогда Если СтрокаУслуг.СчетЗатрат.ПринадлежитЭлементу(Счет44) Тогда //СтрокаУслуг.Субконто1=Справочники.СтатьиЗатрат.НайтиПоНаименованию(СтрокаУслуг.Субконто1); Сообщить(""+" субконто 44 "+СтрокуУслуг.Субконто1); ИначеЕсли СтрокаУслуг.СчетЗатрат.ПринадлежитЭлементу(Счет10) Тогда СтрокаУслуг.НуженПереносСтроки = Истина; ЕстьНеобходимостьВРазбивкеТЧУслуги = Истина; Иначе СтрокаУслуг.НуженПереносСтроки = Ложь; КонецЕсли; Иначе СтрокаУслуг.НуженПереносСтроки = Ложь; КонецЕсли; КонецЦикла; Если ЕстьНеобходимостьВРазбивкеТЧУслуги Тогда СтруктураОтбора = Новый Структура; СтруктураОтбора.Вставить("НуженПереносСтроки", Истина); ТаблицаТоваров = ТаблицаУслуг.Скопировать(СтруктураОтбора); СтруктураОтбора.Вставить("НуженПереносСтроки", Ложь); ТаблицаУслугКонечная = ТаблицаУслуг.Скопировать(СтруктураОтбора); Если ТаблицаУслугКонечная.Количество() > 0 Тогда Объект.Услуги.Загрузить(ТаблицаУслугКонечная); Иначе Объект.Услуги.Очистить(); // После разделения не осталось ни одной услуги КонецЕсли; Если ТаблицаТоваров.Количество() > 0 Тогда Объект.Товары.Очистить(); Для Каждого СтрокаТаблицыТоваров Из ТаблицаТоваров Цикл НоваяСтрокаТоваров = Объект.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрокаТоваров, СтрокаТаблицыТоваров); НоваяСтрокаТоваров.Коэффициент = 1; Если Не ЗначениеЗаполнено(НоваяСтрокаТоваров.Номенклатура) Тогда Если ТипЗнч(НоваяСтрокаТоваров.Номенклатура) = ТипЗнч(НоваяСтрокаТоваров.Субконто1) Тогда Если ЗначениеЗаполнено(НоваяСтрокаТоваров.Субконто1) Тогда НоваяСтрокаТоваров.Номенклатура = НоваяСтрокаТоваров.Субконто1; КонецЕсли; КонецЕсли; КонецЕсли; НоваяСтрокаТоваров.СчетУчета = СтрокаТаблицыТоваров.СчетЗатрат; КонецЦикла; КонецЕсли; КонецЕсли; КонецЕсли; //-АдминистраторБД, 2023-10-10, ДОБАВЛЕНО НЕТИПОВОЕ Для Каждого СтрокаТоваров Из Объект.Товары Цикл СтрокаТоваров.Количество = СтрокаТоваров.Количество * СтрокаТоваров.Коэффициент; Если СтрокаТоваров.Коэффициент<> 0 Тогда СтрокаТоваров.Цена = СтрокаТоваров.Цена / СтрокаТоваров.Коэффициент; КонецЕсли; КонецЦикла; Объект.СуммаДокумента = УчетНДСПереопределяемый.ПолучитьСуммуДокументаСНДС(Объект); Объект.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически; Если Объект.Ответственный.Пустая() Тогда Объект.Ответственный = Пользователи.ТекущийПользователь(); КонецЕсли; |
|||
|
7
zenik
22.07.26
✎
22:57
|
(5) потому, что, есть правила конвертации Номенклатуры и КД берет их, даже если они не указаны для конвертации.
А правил для конвертации статьи - нет и что с ним делать при получении - КД не знает. |
|||
|
8
tgu82
22.07.26
✎
22:58
|
(7) Я это понимаю - но как его сделать?
|
|||
|
9
tgu82
22.07.26
✎
23:02
|
(7) Сделали ПКО СтатьиЗатрат.
Но без толку |
|||
|
10
tgu82
22.07.26
✎
23:04
|
СсылкаНаОбъект = Справочники.СтатьиЗатрат.НайтиПоНаименованию(ПараметрыОбъекта);
Сообщить("Поиск статьи затрат по наименованию: " + ПараметрыОбъекта); Сообщить("Найдено: " + СсылкаНаОбъект); Это в ПоляПоиска |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |