Имя: Пароль:
1C
1С v8
Перенос доков в 8.2 БП 2.0
,
0 userMR3
 
08.08.13
11:13
Где можно посмотреть пример кода правильного создания реализации и с/ф с правильным заполнением реквизитов.
1 Aleksey
 
08.08.13
12:06
а в чём затык?
2 Aleksey
 
08.08.13
12:11
я например по фактуре так делаю

Здесь Объект - это твоя реализация


СФ=УчетНДС.НайтиПодчиненныйСчетФактуру(Объект.Ссылка);
Если СФ=Неопределено тогда
            СчетФактураОбъект=Документы.СчетФактураВыданный.СоздатьДокумент();
            СчетФактураОбъект.ДокументОснование=Объект;
            СчетФактураОбъект.Заполнить(Объект.Ссылка);
            СчетФактураОбъект.ВидСчетаФактуры=Перечисления.ВидСчетаФактурыВыставленного.НаРеализацию;
            СчетФактураОбъект.Записать(РежимЗаписиДокумента.Запись);
        Иначе
            СчетФактураОбъект=СФ.Получитьобъект();
        КонецЕсли;
        
        Если СчетФактураОбъект.Номер<>Объект.Номер тогда
            СчетФактураОбъект.Номер=Объект.Номер;
        Попытка
            СчетФактураОбъект.Записать(РежимЗаписиДокумента.Запись);
        Исключение
            СчетФактураОбъект.ОбменДанными.Загрузка=истина;
            СчетФактураОбъект.Записать(РежимЗаписиДокумента.Запись);
            Сообщить("фактура "+СчетФактураОбъект.Номер+" от "+СчетФактураОбъект.Дата+" - "+ОписаниеОшибки());
        КонецПопытки;
        КонецЕсли;    
        СчетФактураОбъект.УстановитьПометкуУдаления(Объект.ПометкаУдаления);
        УчетНДС.ПроверитьСоответствиеРеквизитовСчетаФактуры(Объект);
        СчетФактураОбъект.Прочитать();
                

        Если Объект.Проведен тогда
            СчетФактураОбъект.ОбменДанными.Загрузка=Ложь;
            СчетФактураОбъект.записать(РежимЗаписиДокумента.Проведение);
        КонецЕсли;
3 userMR3
 
08.08.13
12:12
До этого выгрузки писал только в 7.7, просто хотел увидеть грамотный код в 8.2, потому что глянул COM выгрузку, а там через модуль объекта внешней обработки сделано, которого нету в 7.7.
4 Aleksey
 
08.08.13
12:13
(3) Поверь мне какой бы грамотный код небыл бы, всегда найдется 1С-ник с высоким ЧСЫ, который будет кричать, что твой код - авнокод
5 Aleksey
 
08.08.13
12:14
тебе на выставку или чтобы работало? Или планируются загружать 100 милионов документов в час и нужно супер-пупер-гипер оптимизация?

Или тебе платят за красоту кода?
6 userMR3
 
08.08.13
12:19
Чтобы работало конечно.
СчетФактураОбъект.ОбменДанными.Загрузка - как эту строку понять? ОбменДанными это реквизит такой?
7 Aleksey
 
08.08.13
12:28
(6) да предопределенный реквизит который есть у всех объектов в 1С
8 Aleksey
 
08.08.13
12:29
9 userMR3
 
17.08.13
22:47
Пытаюсь перекинуть номер сф из 77, но выдает ошибку:
{Форма.Форма.Форма(658)}: Ошибка при вызове метода контекста (ВыбратьПодчиненныеДокументы)
    СФ77.ВыбратьПодчиненныеДокументы(,,ДокРеал77.ТекущийДокумент());
по причине:
Типы не совпадают (1)

Код такой:
    СФ77 = V77.CreateObject("Документ");
    СФ77.ВыбратьПодчиненныеДокументы(,,ДокРеал77.ТекущийДокумент());

Почему так?
10 hhhh
 
17.08.13
23:15
(9) вот этой фигни не должно быть

(,,

жестко пропиши все параметры.
11 userMR3
 
17.08.13
23:16
(10) Да все нашел уже на мисте, но все равно спасибо.
12 Aleksey
 
18.08.13
00:27
СФ77 = V77.CreateObject("Документ.СчетФактура");
13 zak555
 
18.08.13
00:29
(9) КД не хочешь ?
14 Mikhail Volkov
 
18.08.13
07:08
Если ОбменДанными.Загрузка = Истина, то вроде все препоны для записи и проведения должны обойдены? Но вот в БП2.0 столкнулся с такой ситуацией: в базе приемнике документ находится в закрытом периоде, из источника он пришел с другой датой открытого периода. Документ записывается, а провестись не может. Его проводки остаются старыми прошлого месяца! Это как нормально, или я что-то не понимаю?
15 userMR3
 
20.08.13
21:16
(13) Раньше было все на КД, но отказался, из-за того, что она не гибкая для изменений и тут перенос для меня очевиднее.
16 Крепкий
 
20.08.13
21:30
(15) гы-гы, зачем де врать, коли не знаешь и не умеешь, конвертация, она гораздо гибче, умнее и очевиднее.. С твоим кодом даже и не сравниваю.. Это ж ламерство..
17 Aleksey
 
20.08.13
21:30
(14) Нормально. Для обхода можешь попробовать установить привилегированный режим, но не думаю что бухи по головке погладят
18 Aleksey
 
20.08.13
21:30
(16) брехня
19 userMR3
 
20.08.13
21:36
(16) Речь идет о переносе из 7.7 в 8.2, из конф, где нету типовых правил. Вроде на мисте создавал топик, что выбрать, большинство рекомендовали писать самому, а не КД.
20 Крепкий
 
20.08.13
21:50
(18) а зачем брешешь
21 Крепкий
 
20.08.13
21:58
(19) перенос и 7.7 в 8.2 никаких траблов, в половину легче лаже т.к. со стороны 7-ки возможна традиционная отладка..
На конфы с отсутствием правил пишутся свои правила,  быстрей и проще.. Пишите на КД, осваивайте и будет вам счастье.. Я в свои года освоил его самостоятельно, что вам мешает, умным, молодым и здоровым.. И еще да не слушайте вы ламеров, должно чутье вырабатываться, чтобы понимать, что надежней перспективней и дешевле.. Я тоже писал самописки, но то было в 60и голу
22 Aleksey
 
20.08.13
22:00
(20) Так это не я брешу. там просто в КД тоже своих косяков хватает
23 userMR3
 
20.08.13
22:04
(21) Я уже писал полгода назад свои правила в КД для этого переноса, но сейчас надо делать изменения и особого желания лезть туда снова - нет. Мой выбор в пользу ОЛЕ переноса.
24 Крепкий
 
20.08.13
22:21
(22) ты-то как раз и брешешь иначе зачем же так беспардонно насыпать на инструмент с которым не умеешь работать
(23) вот и  я про то же, когда профессионалом будешь, то не будешь поддаваться "левичьим" чуйствиям и страданькам, а будешь делать как надо 0 самому же проще будет..
25 Aleksey
 
20.08.13
22:32
(24) спасибо поржал. если у тебя нет ошибок значит ты ничего сложнее строки не переносил
26 Крепкий
 
20.08.13
22:45
(25) паренек, ты не в теме и чтоб ты тут не говорил, все брехня.. Тебе судя по одновременному идиётничанью и умничанью оч.хочется правым быть.. Обычно уступаю. хошь быть правым, будь им.. Но горе тому, кто будучи неспособным освоить то, что использует в качестве инструмента.. Это было и больше 10-лет назад, это будет и сейчас.. Старинная мудрость программиста 1с гласит - не можешь какать - писяй, не можешь писять - не мучь Создателя ради анальный и моче-половой органы..
27 Крепкий
 
20.08.13
22:46
в общем гуляй = мне сердиться нельзя
28 Aleksey
 
20.08.13
22:48
(27) а мне просто лень спорить и вообще пофиг
29 Крепкий
 
20.08.13
22:53
теье и КД лень осваивать, правда за почти уже два лесятка работы с 1с много встречалось особей, которые ленью оправдывали отсутствие бошки.. Мне природа твоей лени ясна - шел в каменщики, плотники, токари, пекари.. Хотя если и там гадить на инструмент будешь в два счет вышибут
30 Mikhail Volkov
 
21.08.13
05:07
(17) > Для обхода можешь попробовать установить привилегированный режим...
Это как?
31 Aleksey
 
21.08.13
07:11
Глобальный контекст (Global context)
УстановитьПривилегированныйРежим (SetPrivilegedMode)
Синтаксис:

УстановитьПривилегированныйРежим(<Включить>)
Параметры:

<Включить> (обязательный)

Тип: Булево.
Определяет, будет ли включен привилегированный режим:
Истина - включить режим;
Ложь - выключить режим.
Описание:

В файловом варианте информационной базы или на сервере в клиент-серверном варианте информационной базы управляет (включает или выключает) привилегированный режим исполнения кода, аналогичный режиму работы кода привилегированных модулей. В привилегированном режиме никакие проверки прав не выполняются и разрешены любые операции. В клиент-серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий.
Первое выполнение метода с параметром Истина в файловом варианте информационной базы или на сервере в клиент-серверном варианте информационной базы включает привилегированный режим.
Для явного выключения привилегированного режима необходимо внутри процедуры или функции, в которой он был включен, вызвать метод с параметром Ложь столько же раз, сколько раз в этой же процедуре или функции был вызван метод с параметром Истина.
Если этого сделано не было, то при возврате из процедуры/ функции, в которой был включен привилегированный режим, он будет выключен автоматически (неявно).
Если в процедуре или функции вызовов метода с параметром Ложь сделано больше, чем вызовов с параметром Истина, то будет вызвано исключение.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

По умолчанию привилегированный режим выключен.
См. также:

Глобальный контекст, метод ПривилегированныйРежим