|
1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
putinhuilo 13.04.20 - 14:05 | Гайз ай нид хелп! Хочу подменить субконто "Регистрация в налоговом органе" на "Контрагенты" при выгрузке свойства СубконтоДт
Пробовал изменить таким образом, все равно выгрузился Регистрация в налоговом органе Значение.Удалить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НайтиПоНаименованию("Регистрация в налоговом органе")); Значение.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты, Справочники.Контрагенты.НайтиПоРеквизиту("КодГосударственногоОргана",Субконто.Код)); А так выгружается не правильно ВыгрузитьПоПравилу(Справочники.Контрагенты.НайтиПоРеквизиту("КодГосударственногоОргана",Субконто.Код), ,,,"ВидыСубконтоХозрасчетные"); | ||
Ёпрст 1 - 13.04.20 - 14:15 | |||
Ёпрст 2 - 13.04.20 - 14:16 | Даже в типовых есть примеры..
типа Если что-то, то значение= вася; ИмяПКО = "вася" иначе Значение = федя, ИмяПКо="федя" | ||
putinhuilo 3 - 13.04.20 - 14:16 | Так тоже пробовал ошибку пишет при выгрузке СубконтоДт = Новый Соответствие(); СубконтоДт.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты, Справочники.Контрагенты.НайтиПоРеквизиту("КодГосударственногоОргана",Субконто.Код)); Значение = СубконтоДт; | ||
Ёпрст 4 - 13.04.20 - 14:26 | (3) ясен пень.. нужно конкретное значение выгружать, а не соответствие | ||
Ёпрст 5 - 13.04.20 - 14:28 | оставь так, что ле Значение = Справочники.Контрагенты.НайтиПоРеквизиту("КодГосударственногоОргана",Субконто.Код); ИмяПКО = "Контрагенты"; тока вот, что у тебя тут Субконто и откуда взялось - загадка | ||
putinhuilo 6 - 13.04.20 - 14:29 | Процедура ПКС_ПриВыгрузке_СписаниеСРасчетногоСчета_Хозрасчетный_СубконтоДт_ВидыСубконтоСчета660(ФайлОбмена, Источник, Приемник, ВходящиеДанные, ИсходящиеДанные,
ПКС, ПКО, ОбъектКоллекции, Отказ, Значение, КлючИЗначение, ВидСубконто,
Субконто, Пусто, ИмяПКО, ПКОСвойств, УзелСвойства, УзелКоллекцииСвойств,
ИмяПКОВидСубконто) Экспорт
оно в параметрах | ||
Ёпрст 7 - 13.04.20 - 14:34 | |||
putinhuilo 8 - 13.04.20 - 14:42 | перед выгрузкой нет значения вообще Перед выгрузкой Условия возникновения событияСобытие выполняется перед выгрузкой значения свойства. Возможен отказ от выгрузки. УзелСвойства еще не создан, конвертируемое значение Неопределено. Параметры: Источник - Произвольный. Ссылка на выгружаемый объект источник данных Приемник - xml-узел формируемого объекта приемника ВходящиеДанные - Произвольный. Произвольные вспомогательные данные, переданные правилу конвертации из других правил (например из правила выгрузки данных или правила конвертации свойств). Значение параметра, как правило, имеет тип Структура, где ключи значений соответствуют структуре свойств объекта приемника. Таким образом, при конвертации свойств (в ПКС), конвертируемые данные (или часть данных) могут быть получены из этого параметра. ИсходящиеДанные - Произвольный. Произвольные вспомогательные данные, передаваемые правилам конвертации объектов свойств (ПКО). ПКС - ссылка на правило конвертации свойств ПКО - ссылка на правило конвертации объектов - родитель данного правила конвертации свойств ОбъектКоллекции - ссылка на выгружаемый объект коллекции. Например, строка табличной части или запись регистра или строка таблицы значений или строка результата запроса и т.д. Отказ - Булево - Если Истина, то конвертация свойства не производится, обработка данного правила конвертации свойств прекращается Значение - Неопределено. Конвертируемое значение свойства. Если значение определить в теле обработчика, то стандартная процедура получения значения не будет происходить. ТипПриемника - Строка. Тип свойства приемника. Для свойств не составных типов - всегда определен. Для свойств составных типов - определяется либо правилом конвертации, либо разработчиком конвертации ИмяПКО - имя правила конвертации, по которому производится преобразование значения свойства. Может быть выбрано в зависимости от каких-либо условий. ИмяПКОВидСубконто - имя правила конвертации, по которому производится преобразование вида субконто (только для свойств СубконтоДт и СубконтоКт записей регистра бухгалтерии). Может быть выбрано в зависимости от каких-либо условий. Пусто - Булево - Ложь. Если установить Истина, то в приемник будет записано пустое значение свойства, соответствующего типа и дальнейшая обработка правила конвертации свойств будет прекращена Выражение - Неопределено. Может быть указано произвольное строковое выражение на встроенном языке, результат вычисления которого при загрузке будет присвоен значению свойства. Если Выражение определить в теле обработчика, то дальнейшая обработка ПКС будет прекращена. Данная возможность, используется только если конфигурация-приемник реализована на платформе V8 НеЗамещать - Булево - по умолчанию определяется в настройках правила, но может быть изменено в теле обработчика. Если установить значение Истина, то для существующих объектов информационной базы установка свойства производиться не будет. УзелКоллекцииСвойств - xml-узел коллекции свойств ВыгрузитьОбъект - Булево - Если Истина, то объект выгружается целиком. Если Ложь, то выгружается только ссылка. | ||
Ёпрст 9 - 13.04.20 - 14:45 | (8) :))
Мне не надо справку по КД постить. Вам надо в ПКС у субконтоДт в проце перед выгрузкой написать Значение = Справоники.Клиентосы.НайтиПоКоду("Вася"); ИмяПКО = "Клиентосы" и всё. | ||
Ёпрст 10 - 13.04.20 - 14:46 | тогда в субконтоДт полетит клиентос Вася, выгруженный по правилу ПКО "клиентосы".
Туда же воткнуть условие какое надо | ||
Ёпрст 11 - 13.04.20 - 14:47 | точнее, ИмяПКОВидСубконто нужно определить | ||
Ёпрст 12 - 13.04.20 - 14:50 | Тип того Если ТипЗнч(ОбъектКоллекции.СубконтоДт) = Тип("нужный тип") Тогда Значение = Справочники.Клиентосы.НайтиПоКоду(ОбъектКоллекции.СубконтоДт.Код); ИмяПКОВидСубконто = "Клиентосы"; КонецЕсли; | ||
putinhuilo 13 - 13.04.20 - 16:21 | |||
putinhuilo 14 - 13.04.20 - 16:25 | Обратится к нужному субконто можно только так:
ОбъектКоллекции.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НайтиПонаименованию("Регистрация в налоговом органе")] | ||
Ёпрст 15 - 13.04.20 - 16:37 | (14) будь проще:
влепи тогда в При выгрузке Если ТипЗнч(Значение) = Тип("нужный тип") Тогда Значение = ...ИмяПко = ... | ||
putinhuilo 16 - 13.04.20 - 16:44 | |||
Ёпрст 17 - 13.04.20 - 16:45 | (16) ПРИ ВЫГРУЗКЕ а не перед | ||
Ёпрст 18 - 13.04.20 - 16:45 | там значение уже есть и его тоже можешь переопределить | ||
putinhuilo 19 - 13.04.20 - 16:47 | я уже пробовал менять значение при выгрузке - бесполезно
оно не меняется
и ты сам сказал что надо перед | ||
Ёпрст 20 - 13.04.20 - 16:56 | (19) можно Перед, можно При.. | ||
Ёпрст 21 - 13.04.20 - 16:56 | просто в При уже есть значение, в Перед, надо брать из источника самостоятельно | ||
putinhuilo 22 - 13.04.20 - 16:57 | вот я пробовал так
удалял не нужное и вставлял нужное
Значение.Удалить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НайтиПоНаименованию("Регистрация в налоговом органе"));
Значение.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты, Справочники.Контрагенты.НайтиПоРеквизиту("КодГосударственногоОргана",Субконто.Код));
выгрузилось все равно Регистрация в налоговом органе | ||
Ёпрст 23 - 13.04.20 - 16:57 | И "оно не меняется", как определил ? В файле выгрузке что ? | ||
Ёпрст 24 - 13.04.20 - 16:58 | (22) Значение.. в ПриВыгрузке .. какой тип и что там ? | ||
putinhuilo 25 - 13.04.20 - 16:58 | когла загружал то ошибка была что невозможно записать движение с субконто Регистрация в налоговом органе | ||
putinhuilo 26 - 13.04.20 - 17:03 | Значение при выгрузке содержит тип РегистрБухгалтерииСубконто.Хозрасчетный при открытии коллекция из ключей и значений
https://imgur.com/pHFz8N5 | ||
Ёпрст 27 - 13.04.20 - 17:07 | Точно, при субконто надо соответствие определить | ||
putinhuilo 28 - 13.04.20 - 17:21 | при выгрузке думаю так должно отработать СубконтоРегистрацияВНалоговомОргане = ОбъектКоллекции.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НайтиПонаименованию("Регистрация в налоговом органе")]; СубконтоВидыПлатежейВГосБюджет = ОбъектКоллекции.СубконтоДт.ВидыПлатежейВГосБюджет; СубконтоДтНовое = Новый Соответствие(); Если НЕ СубконтоРегистрацияВНалоговомОргане = Неопределено Тогда СубконтоДтНовое.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты, Справочники.Контрагенты.НайтиПоРеквизиту("КодГосударственногоОргана",СубконтоРегистрацияВНалоговомОргане.Код)); КонецЕсли Если НЕ СубконтоВидыПлатежейВГосБюджет = Неопределено Тогда СубконтоДтНовое.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ВидыПлатежейВГосБюджет, СубконтоВидыПлатежейВГосБюджет); КонецЕсли Значение = СубконтоДтНовое; | ||
putinhuilo 29 - 13.04.20 - 17:22 | точнее ПЕРЕД | ||
putinhuilo 30 - 13.04.20 - 17:23 | тоесть нужно переопределить субконто перед выгрузкой Рекламное место пустует | ||
Ёпрст 31 - 13.04.20 - 17:28 | (29)
так должно заработать: СубконтоДт = Новый Соответствие; СубконтоДт.Вставить(Новый Структура("Наименование", "Контрагенты"), Справочники.Контрагенты.НайтиПоКоду(.....)); СубконтоДт.Вставить(Новый Структура("Наименование", "Договры"),.......); Значение = СубконтоДт; | ||
Ёпрст 32 - 13.04.20 - 17:29 | короче, определяешь соответствие и всё.
Или в При выгрузке, изменяешь готовое соответствие, которое в Значение торчит | ||
putinhuilo 33 - 13.04.20 - 17:33 | |||
putinhuilo 34 - 13.04.20 - 17:34 | только надо прописать что для счета 68.01 еще | ||
putinhuilo 35 - 13.04.20 - 17:34 | (31) там не должно быть структуры | ||
putinhuilo 36 - 13.04.20 - 17:35 | (32) при выгрузке я уже писал что значение не меняется | ||
putinhuilo 37 - 13.04.20 - 17:35 | спасибо за помощь | ||
AnTeN_Li 38 - 20.04.20 - 18:15 | подмена субконто без хитростий, структур и соответствий =) в ПКС ПриВыгрузке если ВидСубконто = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НайтиПоНаименованию("Регистрация в налоговом органе") тогда ВидСубконто = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты; Субконто = Справочники.Клиентосы.НайтиПоКоду(...) ИмяПКО = "..."// при необходимости имя пко для контрагентов... клнецесли; |
|
Список тем форума
|