Имя: Пароль:
1C
1С v8
КД 7 -> 8 Заполнение по умолчанию счетов учёта
0 zak555
 
17.02.14
15:55
7ка -- самопальная конфа
8ка - бп 3.0

переношу самопальный док в тч услуги ртиу пко1
как заполнить по умолчанию "счета учёта" ?

в ПКО1 в обработчике при загрузке заполнять ?
1 floody
 
17.02.14
16:20
заполнять в 3.0 "после загрузки" типовыми процедурами?
2 zak555
 
17.02.14
16:22
(1) "после загрузки" это где ?
3 zak555
 
17.02.14
16:22
нашёл, но почему после загрузки, а не в при загрузке ?
4 floody
 
17.02.14
16:24
Событие выполняется после прочтения и установки атрибутов объекта из файла, но до его записи в информационную базу. Возможна модификация загруженного объекта.

Почему бы и не?
5 zak555
 
17.02.14
16:25
(4) не прокатило
6 floody
 
17.02.14
16:25
Не только счета учета, но и другие реквизиты документа заполнить, все в одном месте. Т.е. документ уже готов, дозаполняешь его как нужно.
7 zak555
 
17.02.14
16:26
в пко1 в при загрузке, в после загрузки написал

Если Объект <> Неопределено Тогда    
    Для Каждого СтрокаТабличнойЧасти Из Объект.Услуги Цикл
        СведенияОНоменклатуре    = БухгалтерскийУчетПереопределяемый.ПолучитьСведенияОНоменклатуре(СтрокаТабличнойЧасти.Номенклатура, Объект);
            
        Если СведенияОНоменклатуре <> Неопределено Тогда    
            Документы.РеализацияТоваровУслуг.ЗаполнитьСчетаУчетаВСтрокеТабличнойЧасти(Объект, СтрокаТабличнойЧасти, "Услуги", СведенияОНоменклатуре);
        
        КонецЕсли;
    КонецЦикла;
КонецЕсли;
8 floody
 
17.02.14
16:27
(7) Попробуй после этого Объект.Записать().. у меня вроде тоже не взлетало без записи. Ну, как вариант.
9 zak555
 
17.02.14
16:28
(8) ща
10 floody
 
17.02.14
16:28
Хм, точно помню, что делал так. Сейчас поищу свою конвертацию.
11 floody
 
17.02.14
16:33
Я для 2.0 делал:
Объект.ЗаполнитьСчетаУчетаВТабЧастиУслуги(Истина);
и без всяких переборов ТЧ.
12 zak555
 
17.02.14
16:49
(11) в 3.0 такого нет
13 zak555
 
17.02.14
16:54
хотя, не

нашёл : ЗаполнитьСчетаУчетаВТабличнойЧасти
14 zak555
 
17.02.14
16:59
Если Объект <> Неопределено Тогда
    
    Документы.РеализацияТоваровУслуг.ЗаполнитьСчетаУчетаВТабличнойЧасти(Объект, "Услуги");    
    
КонецЕсли;
15 zak555
 
17.02.14
17:06
странно, 14 взлетело, а 7 нет
почему ?
16 floody
 
17.02.14
17:15
Может в ПолучитьСведенияОНоменклатуре неправильно параметры передаешь?
17 zak555
 
17.02.14
17:33
(16) всё нормально вроде


Функция ПолучитьСведенияОНоменклатуре(Номенклатура, ПараметрыОбъекта) Экспорт

    Если ТипЗнч(Номенклатура) <> Тип("СправочникСсылка.Номенклатура") Тогда
        Возврат Неопределено;
    КонецЕсли;
    
    СписокНоменклатуры = Новый Массив;
    СписокНоменклатуры.Добавить(Номенклатура);
    
    СведенияОНоменклатуре = ПолучитьСведенияОСпискеНоменклатуры(СписокНоменклатуры, ПараметрыОбъекта).Получить(Номенклатура);
    
    Возврат СведенияОНоменклатуре;

КонецФункции
18 zak555
 
17.02.14
22:58
пост 7 нужно писать так

Если Объект <> Неопределено Тогда
    ДанныеОбъекта    = Новый Структура("Дата, Организация, ДеятельностьНаПатенте, Склад, ЭтоКомиссия, Реализация");
    ЗаполнитьЗначенияСвойств(ДанныеОбъекта, Объект);
    СтруктураДанныеОбъекта.ЭтоКомиссия = Ложь;
    СтруктураДанныеОбъекта.Реализация  = Истина;
    Для Каждого СтрокаТабличнойЧасти Из Объект.Услуги Цикл
        СведенияОНоменклатуре    = БухгалтерскийУчетПереопределяемый.ПолучитьСведенияОНоменклатуре(СтрокаТабличнойЧасти.Номенклатура, ДанныеОбъекта);
            
        Если СведенияОНоменклатуре <> Неопределено Тогда    
            Документы.РеализацияТоваровУслуг.ЗаполнитьСчетаУчетаВСтрокеТабличнойЧасти(ДанныеОбъекта, СтрокаТабличнойЧасти, "Услуги", СведенияОНоменклатуре);
        
        КонецЕсли;
    КонецЦикла;
КонецЕсли;
19 zak555
 
18.02.14
15:14
в продолжении темы...

если договор/основной договоры не заданы -- их создавать на стороне приёмника ?
20 zak555
 
18.02.14
15:21
или же формировать в xml программно ?
21 zak555
 
18.02.14
15:23
если формировать в xml, то в какой момент это делать ?
ведь если источник -- пустота -- обработчики же не запускаются ?!
22 Йохохо
 
18.02.14
15:23
(19) это объект и ссылка на один из них) по вкусу
23 Сияющий Асинхраль
 
18.02.14
15:27
(21) Конечно на стороне приемника, зачем извращаться?
24 Сияющий Асинхраль
 
18.02.14
15:28
По сути Контрагент+Организация -> ОсновнойДоговор...
25 zak555
 
18.02.14
15:31
есть у меня пко договор

на вход может ничего не подаваться
26 zak555
 
18.02.14
15:37
переформулирую вопрос

1. передаётся контрагент, которого нет в приёмнике

этот контрагент создаться через пко контрагент
нужно в источнике создать основной договор

как ?
27 Сияющий Асинхраль
 
18.02.14
16:03
Я раньше такое делал с помощью ПКО Контрагент->Договор, где Контрагент был Владельцем, Наименование ставил просто "Основной договор", код задавал тупо "0001", естественно надо еще и об Организации не забыть, поэтому скорее всего ее надо будет параметром передавать.
А можно и еще проще. Программно записав контрагента, сразу же после записи создавать программно этот самый договор...
28 zak555
 
26.02.14
15:26
вопрос в тему

если в приёмнике хочу создать сф на основании ртиу, то откуда вызывать выгрузитьПоПравилу ?
29 vicof
 
26.02.14
15:42
ВыгрузитьПоПравилу отрабатывает только в источнике. Можешь после выгрузки в файл в ПКО
30 zak555
 
26.02.14
15:48
(29) для пко сф источник же будет ртиу ?
31 vicof
 
26.02.14
15:51
Как закажешь, так и будет. Ты можешь в первый параметр ВыгрузитьПоПравилу() передать любые данные, а пятым параметром указать любое правило, по которому данные будут выгружаться.
32 dk
 
26.02.14
15:52
после загрузки контрагента проверяй есть ли у него основной договор
если нет - создавай
33 zak555
 
26.02.14
16:02
(32) это уже сделал
34 Йохохо
 
26.02.14
16:12
кажется по человечески, надо в послезагрузки ПКО РТиУ добавлять в параметр ссылку на РТиУ и в ПослеЗагрузкиДанных создавать сф
35 zak555
 
26.02.14
16:14
(31) а не проще будет что-то типа того ?

СФ.Заполнить(РТиУ);


???
36 zak555
 
26.02.14
16:15
(34) если ртиу новый будет записываться, то ссылка пустая
37 vicof
 
26.02.14
16:20
(35) Возможно, проще. Надо смотреть в конкретной ситуации. Я всего лишь свое имхо высказал.
38 Йохохо
 
26.02.14
16:22
(36) с этим можно бороться многими путями
39 zak555
 
26.02.14
16:22
(37) это понятно

в данном контексте, мне кажется, что проще всего сделать именно, как в 35
40 zak555
 
26.02.14
16:23
(38) например, кроме явного записать ?
41 Йохохо
 
26.02.14
16:28
УстановитьСсылкуНового(<Ссылка>)
Параметры:

<Ссылка> (обязательный)

Тип: ДокументСсылка.
Ссылка, которая будет назначена при записи нового объекта.
42 zak555
 
26.02.14
16:31
(41) ну да, забыл совсем