![]() |
![]() |
|
КД справочники. указать своего родителя. самого верхнего уровня | ☑ | ||
---|---|---|---|---|
0
zladenuw
02.01.13
✎
14:58
|
Как указать самого верхнего уровня родителя своего.
Типа Источник1, а дальше вся иерархия как в источнике. |
|||
1
fisher
02.01.13
✎
15:03
|
Этот родитель в источнике есть? Или только в приемнике?
|
|||
2
zladenuw
02.01.13
✎
15:12
|
(1) в приемники есть
|
|||
3
fisher
02.01.13
✎
15:17
|
1) создаешь ПКО для поиска элемента справочника по коду (в ПКС только "Код", поиск по нему, в свойствах ПКО галки расставляешь, что мол только находить надо)
2) В ПКО своего справочника в ПКС "Родитель" в "Перед выгрузкой" ежели корневой элемент, то переназначаешь ПКО на 1) (свойство, кажись, "ИмяПКО" называется - глянь справку по обработчикам), и Значение = <КодРодителяВПриемнике> |
|||
4
zladenuw
02.01.13
✎
15:18
|
(3) да я чуток по другому сделал. в ПКО после загрузки
Если Объект.ЭтоГруппа и НЕ ЗначениеЗаполнено(Объект.Родитель) Тогда Объект.Родитель = Справочники.Номенклатура.НайтиПонаименованию("Упр8"); КонецЕсли; |
|||
5
zladenuw
02.01.13
✎
15:20
|
(3) да мне нужно сохранить всю иерархию. а ее вложить в свою группу.
И вопрос такой. А как сразу создать Приходный кассовый на основание Реализации ? |
|||
6
zladenuw
02.01.13
✎
15:22
|
(5) пока вариант 1. в ПКО после загрузки создать документ и заполнить его реализацией. а можно как то еще или нет ?
|
|||
7
fisher
02.01.13
✎
15:25
|
(3) + В правиле 1) в ПКС "Код" в "Перед загрузкой" "Значение = Источник"
(4) Можно. Но хуже. Обработчики на стороне приемника, особенно с операциями в базе, заметно влияют на производительность. Да и с точки зрения идеологии КД - это костыль. (5) Иерархия сохранится. (6) Если ссылка на основание есть, то основание загрузится по ссылке. |
|||
8
zladenuw
02.01.13
✎
15:27
|
(7) основание нет.
(4) оставлю себе на заметку. пока надо сделать что бы все работало. а там уже оптимизирую. пока не понял как нужно сделать. |
|||
9
zladenuw
02.01.13
✎
15:28
|
(7) тогда получается нужно вот это все так же исправить?
Это в ПКО после загрузки. Объект.Ответственный = глЗначениеПеременной("глТекущийПользователь"); Объект.Подразделение = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновноеПодразделение"); Объект.ТипЦен = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойТипЦенПродажи"); Объект.ВалютаДокумента = Константы.ВалютаУправленческогоУчета.Получить(); Объект.УчитыватьНДС = Истина; Объект.СуммаВключаетНДС = Истина; Объект.ОтражатьВУправленческомУчете = Истина; Объект.ОтражатьВБухгалтерскомУчете = Истина; Объект.КурсВзаиморасчетов = 1; Объект.КратностьВзаиморасчетов = 1; Объект.ВидПередачи = Перечисления.ВидыПередачиТоваров.СоСклада; лТЧПриемник = Объект.Товары; СхемыРеализацииТовары = Справочники.СхемыРеализации.Товары; Для каждого СтрокаТовары из лТЧПриемник цикл СтрокаТовары.ЕдиницаИзмерения = СтрокаТовары.Номенклатура.ЕдиницаХраненияОстатков; СтрокаТовары.Сумма = СтрокаТовары.Цена*СтрокаТовары.Количество; СтрокаТовары.СтавкаНДС = СтрокаТовары.Номенклатура.СтавкаНДС; СтрокаТовары.СуммаНДС = УчетНДС.РассчитатьСуммуНДС(СтрокаТовары.Сумма, Объект.УчитыватьНДС, Объект.СуммаВключаетНДС, УчетНДС.ПолучитьСтавкуНДС(СтрокаТовары.СтавкаНДС)); СтрокаТовары.Качество = Справочники.Качество.новый; СтрокаТовары.СчетУчетаБУ = ПланыСчетов.Хозрасчетный.ТоварыНаСкладе; СтрокаТовары.СхемаРеализации = СхемыРеализацииТовары; СтрокаТовары.НалоговоеНазначение = Справочники.НалоговыеНазначенияАктивовИЗатрат.НДС_Облагаемая; СтрокаТовары.НалоговоеНазначениеДоходовИЗатрат = Справочники.НалоговыеНазначенияАктивовИЗатрат.ХозДеятельность; КонецЦикла; Объект.СуммаДокумента = лТЧПриемник.Итог("Сумма"); лТЧПриемникУслуги = Объект.Услуги; СхемыРеализацииУслуги = Справочники.СхемыРеализации.Услуги; Для каждого СтрокаУслуги из лТЧПриемникУслуги цикл //СтрокаУслуги.ЕдиницаИзмерения = СтрокаУслуги.Номенклатура.ЕдиницаХраненияОстатков; СтрокаУслуги.Сумма = СтрокаУслуги.Цена*СтрокаУслуги.Количество; СтрокаУслуги.СтавкаНДС = СтрокаУслуги.Номенклатура.СтавкаНДС; СтрокаУслуги.СуммаНДС = УчетНДС.РассчитатьСуммуНДС(СтрокаУслуги.Сумма, Объект.УчитыватьНДС, Объект.СуммаВключаетНДС, УчетНДС.ПолучитьСтавкуНДС(СтрокаУслуги.СтавкаНДС)); // СтрокаТовары.Качество = Справочники.Качество.новый; // СтрокаТовары.СчетУчетаБУ = ПланыСчетов.Хозрасчетный.ТоварыНаСкладе; СтрокаУслуги.СхемаРеализации = СхемыРеализацииУслуги; //СтрокаТовары.НалоговоеНазначение = Справочники.НалоговыеНазначенияАктивовИЗатрат.НДС_Облагаемая; СтрокаУслуги.НалоговоеНазначениеДоходовИЗатрат = Справочники.НалоговыеНазначенияАктивовИЗатрат.ХозДеятельность; КонецЦикла; Объект.СуммаДокумента = Объект.СуммаДокумента+лТЧПриемник.Итог("Сумма"); //Параметры.Установить("Контрагент",Объект.Контрагент); // Параметры.Установить("НаименованиеДоговора","Автосалон"); ////Параметры.Установить("Документ",Объект); //Выполнить("Алгоритмы.СоздатьДоговор()"); // СоздатьДоговор(); СпрДоговора = Справочники.ДоговорыКонтрагентов; Контрагент = Объект.Контрагент; НайденДоговор = СпрДоговора.НайтиПоНаименованию("Договор с покупателем СТО",,,Контрагент.Ссылка); Если СпрДоговора.ПустаяССылка() = НайденДоговор Тогда НовыйДоговор = СпрДоговора.СоздатьЭлемент(); НовыйДоговор.Наименование = "Договор с покупателем СТО"; НовыйДоговор.Владелец = Контрагент.Ссылка; НовыйДоговор.ВалютаВзаиморасчетов = Константы.ВалютаУправленческогоУчета.Получить(); НовыйДоговор.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем; НовыйДоговор.Организация = Объект.Организация; НовыйДоговор.ВидУсловийДоговора = Перечисления.ВидыУсловийДоговоровВзаиморасчетов.БезДополнительныхУсловий; НовыйДоговор.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом; НовыйДоговор.СхемаНалоговогоУчета = Справочники.СхемыНалоговогоУчетаПоДоговорамКонтрагентов.ПоПервомуСобытию; Попытка НовыйДоговор.Записать(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Договор = НовыйДоговор.Ссылка; Иначе Договор = НайденДоговор.Ссылка; КонецЕсли; Объект.ДоговорКонтрагента = Договор; СчетаУчета = УправлениеВзаиморасчетами.ПолучитьСчетаРасчетовСКонтрагентом( Объект.Организация, Объект.Контрагент, Объект.ДоговорКонтрагента); Если Объект.ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером Тогда Объект.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетовПокупателя; Объект.СчетУчетаРасчетовПоАвансам = СчетаУчета.СчетАвансовПокупателя; ИначеЕсли Объект.ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.Бартерный Тогда Объект.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетовПокупателяПриБартере; Объект.СчетУчетаРасчетовПоАвансам = СчетаУчета.СчетАвансовПокупателяПриБартере; Иначе Объект.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетовПокупателя; Объект.СчетУчетаРасчетовПоАвансам = СчетаУчета.СчетАвансовПокупателя; КонецЕсли; Объект.СчетУчетаРасчетовПоТаре = СчетаУчета.СчетУчетаТарыПокупателя; Объект.СчетУчетаРасчетовПоТареПоАвансам = СчетаУчета.СчетАвансовПоТареПокупателя; Объект.СчетУчетаНДС = СчетаУчета.СчетУчетаНДСПродаж; Объект.СчетУчетаНДСПодтвержденный = СчетаУчета.СчетУчетаНДСПродажПодтвержденный; Попытка Объект.Записать(РежимЗаписиДокумента.Проведение) Исключение Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения); КонецПопытки; |
|||
10
zladenuw
02.01.13
✎
15:44
|
в источнике есть реквизит булевый физлицо. как при загрузке указать что бы заполнялся ЮрФизЛицо ?
пробовал в пкс Значение = ?(Источник.ЭтоФизЛицо,"ФизЛицо","ЮрЛицо"); НО не хочет. как правильно ? |
|||
11
fisher
02.01.13
✎
16:00
|
(8) Т.е. этих ордеров в источнике нет, что ли? Зачем их в процессе импорта создавать?
Но ежели таки надо, то рисуется ПКО для ордера, где источником - реализация. Если хочешь, чтобы ордера выгружались всегда вместе с реализациями автоматом, то в ПКО реализаций прописываешь и выгрузку ордеров через "ВыгрузитьПоПравилу". В каком событии - не помню. В "После выгрузки", что ли... (9) Это забивание гвоздей рукояткой пневмо-пистолета. (10) Код похож на правильный. Где косяк - отсюда не видно. ПКО перечисления назначено? Это код из "Перед выгрузкой" ПКС "ЮрФизЛицо"? |
|||
12
zladenuw
02.01.13
✎
16:10
|
(11) с (10) затупил сам. все ок. после загрузки условие ставил.
(9) а как тогда надо ? пока нужного достиг так. (8) сейчас люди закрывают наряд-заказ в 8. потом руцями набивают документ расход и на основание его делают пко в 1с7. хочу что бы при нажатие кнопки создать в 8. все создалось :). хотелку почти сделал. кроме пко |
|||
13
zladenuw
02.01.13
✎
16:13
|
(11) перенес в алгоритмы создание договора и счета учета. или это не вариант ?
|
|||
14
fisher
02.01.13
✎
16:14
|
(13) Через ПКО это всё делается.
|
|||
15
zladenuw
02.01.13
✎
16:18
|
(3,7) разобрался с родителем. спасибо. все как обычно просто.
|
|||
16
zladenuw
02.01.13
✎
16:19
|
(15) так ведь правильно ?
Если Источник.Уровень()=0 Тогда Значение = "ГР0000254"; КонецЕсли; |
|||
17
zladenuw
02.01.13
✎
16:56
|
вот что осталось после загрузки.
как и это можно переместить в ПКС ? Объект.Ответственный = глЗначениеПеременной("глТекущийПользователь"); Объект.Подразделение = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновноеПодразделение"); Объект.ТипЦен = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойТипЦенПродажи"); лТЧПриемник = Объект.Товары; Для каждого СтрокаТовары из лТЧПриемник цикл СтрокаТовары.ЕдиницаИзмерения = СтрокаТовары.Номенклатура.ЕдиницаХраненияОстатков; СтрокаТовары.Сумма = СтрокаТовары.Цена*СтрокаТовары.Количество; СтрокаТовары.СтавкаНДС = СтрокаТовары.Номенклатура.СтавкаНДС; СтрокаТовары.СуммаНДС = УчетНДС.РассчитатьСуммуНДС(СтрокаТовары.Сумма, Объект.УчитыватьНДС, Объект.СуммаВключаетНДС, УчетНДС.ПолучитьСтавкуНДС(СтрокаТовары.СтавкаНДС)); КонецЦикла; Объект.СуммаДокумента = лТЧПриемник.Итог("Сумма"); Параметры.Контрагент = Объект.Контрагент; Параметры.НаименованиеДоговора="Договор с покупателем Автосалон"; Параметры.Объект = Объект; Выполнить(Алгоритмы.СоздатьДоговор); Выполнить(Алгоритмы.СчетаУчета); Попытка Объект.Записать(РежимЗаписиДокумента.Проведение) Исключение Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения); КонецПопытки; |
|||
18
PiotrLoginov
02.01.13
✎
17:22
|
Насчет реквизитов шапки не скажу, но табличную часть(ЕдиницаИзмерения и протчее) однозначно можно заполнить создав соответствующие ПКС. И я бы не стал рассчитывать НДС функцией приемника.
|
|||
19
zladenuw
02.01.13
✎
17:27
|
(18) спасибо
|
|||
20
Pasha
02.01.13
✎
17:52
|
(0) Выгрузку остатков из Бух 7.7 в БП 2.0 посмотри... там есть как раз материалы и товары грузятся в справочник номенклатура в свои папки
|
|||
21
zladenuw
02.01.13
✎
17:57
|
да уже разобрался. думаю 2-3 дня и приведу все в порядок.
Вопрос в другом. передавать через файл или по СОМ. |
|||
22
PiotrLoginov
02.01.13
✎
18:02
|
Через COM еще какое-то время будешь возиться с настройкой. Имхо, проще подождать пока файл сформируется.
Сам этой темой заморочен. Насчет (20) : где можно достать выгрузку остатков из типовой Бух 7.7 в типовую БП 2.0 ? Заранее премного благодарен за подсказку. К ИТС доступа не имею. |
|||
23
zladenuw
02.01.13
✎
18:05
|
(22) так руцями по кому бегают. кумарит что каждый раз подключение.
но решил проблему через ТекCOMОбъект = ПолучитьИзВременногоХранилища(ПараметрыСеанса.АдресCOMОбъекта); //ТекCOMОбъект = ТекCOMПодключение.Connect(СтрокаПодключения); Убивает то что документ передается за 1 секундку. а подключение идет до 10 Но. Нужно заполнить отборы. пока смотрю. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |