Имя: Пароль:
1C
1С v8
Перенос справочника договоры
0 zak555
 
13.02.12
12:11
доброе время суток !

сейчас делаю переход с бух 7.70.536 на БП 2.0.32.6 :
выгружаю в xml данные с помощью "Выгрузки данных для 1С:Бухгалтерии 8 (документами)" (универсальная выгрузка данных в формате XML 2.1.5) { exp77_82.ert } с помощью правил обмена ACC77_82.XML { <ДатаВремяСоздания>2012-02-06T11:54:02</ДатаВремяСоздания> }

так вот, при загрузке в БП появляются ошибки конвертации вида:
Договор "Основной договор" с видом "С покупателем
не может использоваться в операции "Оплата поставщику".
Допускается использовать только договоры вида: "C поставщиком", "С комиссионером", "С комитентом".

в 7ке оказываются что для одно и того же контрагента, который выступает поставщиком и покупателем, использовался один договор

есть ли какая-нибудь методика обхода этой "проблемы", да бы не изобретать велосипед ?

спасибо
1 zak555
 
13.02.12
12:12
нашёл методику только для КА, вида :

Внесите    в    конфигурацию   информационной   базы   «Комплексная
конфигурация 7.7» следующие изменения:

3.1 Добавьте в справочник «Контрагенты» новые реквизиты «Покупатель» и
«Поставщик», тип «число», длина = 1, точность = 0;

3.2 Добавьте  новый  справочник  «ВидыДоговоров».  Справочник подчинен
справочнику  «Договоры», тип кода «Текстовый», серии кодов «В пределах
подчинения».  Добавьте  в  справочник  новый  реквизит  «ЮрЛицо»,  тип
«Справочник.СвоиЮрЛица».

а вот для БП нету что ли ?
2 ДенисЧ
 
13.02.12
12:16
А там то же самое практически
3 zak555
 
13.02.12
12:16
(2) где почитать ?
4 zak555
 
13.02.12
12:16
я не нашёл
5 ДенисЧ
 
13.02.12
12:18
(3) В правилах переноса посмотри :-)
6 zak555
 
13.02.12
12:58
(5) не нашёл
7 zak555
 
13.02.12
13:05
нашёл, 1с жжёт :


Документ = Параметры.ПараметрыАлгоритмов.Получить("Документ");
Договор = Параметры.ПараметрыАлгоритмов.Получить("Договор");
Счет = Параметры.ПараметрыАлгоритмов.Получить("Счет");

ВидДоговора = "";
ВесДоговора = 0;

Если ПустоеЗначение(Документ)=0 Тогда
   Если Документ.Вид()="ОказаниеУслуг" Тогда
       Если Документ.ТипУслуги = 2 Тогда //оказание посреднических услуг в торговле
           ВидДоговора = "СКомитентом";
       Иначе
           ВидДоговора = "СПокупателем";
       КонецЕсли;
       ВесДоговора = 3;
   ИначеЕсли Документ.Вид()="ПоступлениеМатериалов" Тогда
       ВидДоговора = "СПоставщиком";
       ВесДоговора = 3;
   ИначеЕсли Документ.Вид()="ПоступлениеНМА" Тогда
       ВидДоговора = "СПоставщиком";
       ВесДоговора = 3;        
   ИначеЕсли Документ.Вид()="ПоступлениеОборудования" Тогда
       ВидДоговора = "СПоставщиком";
       ВесДоговора = 3;
   ИначеЕсли Документ.Вид()="ПоступлениеТоваров" Тогда
       Если (Документ.ВидПоступления = 11) или (Документ.ВидПоступления = 1)
             или (Документ.ВидПоступления = 2) Тогда //поступление от поставщика
           //смотрим в ТЧ документа. Если там есть хотя бы один вид товара с типом "Комиссия", используем вид "С комитентом". В противном случае - "С поставщиком"
           ВидДоговора = "СПоставщиком";
           Документ.ВыбратьСтроки();
           Пока Документ.ПолучитьСтроку()=1 Цикл
               Если (Документ.Товар.ТипНоменклатуры = Перечисление.ТипыНоменклатуры.Товар)
                   и (Документ.Товар.ТипТовара = Перечисление.ТипыТоваров.НаКомиссии) Тогда
                   ВидДоговора = "СКомитентом";
                   Прервать;
               КонецЕсли;
           КонецЦикла;
       ИначеЕсли (Документ.ВидПоступления = 12) или (Документ.ВидПоступления = 3) Тогда //возврат ранее отгруженных (сч.45)
           ВидДоговора = "СКомиссионером";
       Иначе//возврат от покупателя
           ВидДоговора = "СПокупателем";
       КонецЕсли;
       ВесДоговора = 3;
   ИначеЕсли Документ.Вид()="РасходнаяНакладная" Тогда
       Если (Документ.ВидОтгрузки = 11)или (Документ.ВидОтгрузки = 1) Тогда //продажа покупателю
           ВидДоговора = "СПокупателем";
       ИначеЕсли (Документ.ВидОтгрузки = 12)или (Документ.ВидОтгрузки = 2) Тогда //отгрузка (счет 45)
           ВидДоговора = "СКомиссионером";
       Иначе //возврат
           //смотрим в ТЧ документа. Если там есть хотя бы один вид товара с типом "Комиссия", используем вид "С комитентом". В противном случае - "С покупателем"
           ВидДоговора = "СПоставщиком";
           Документ.ВыбратьСтроки();
           Пока Документ.ПолучитьСтроку()=1 Цикл
               Если (Документ.Товар.ТипНоменклатуры = Перечисление.ТипыНоменклатуры.Товар)
                   и (Документ.Товар.ТипТовара = Перечисление.ТипыТоваров.НаКомиссии) Тогда
                   ВидДоговора = "СКомитентом";
                   Прервать;
               КонецЕсли;
           КонецЦикла;
       КонецЕсли;
       ВесДоговора = 3;
   ИначеЕсли Документ.Вид()="РеализацияОтгруженнойПродукции" Тогда
       ВидДоговора = "СКомиссионером";
       ВесДоговора = 3;
   ИначеЕсли Документ.Вид()="УслугиСтороннихОрганизаций" Тогда
       ВидДоговора = "СПоставщиком";
       ВесДоговора = 3;
   ИначеЕсли Документ.Вид()="ПередачаОС" Тогда
       ВидДоговора = "СПокупателем";
       ВесДоговора = 3;
   ИначеЕсли Документ.Вид()="ПередачаНМА" Тогда
       ВидДоговора = "СПокупателем";
       ВесДоговора = 3;
   ИначеЕсли Документ.Вид()="ОтпускМатериаловНаСторону" Тогда
       Если Документ.ВидОтпуска = 0 Тогда //продажа
           ВидДоговора = "СПокупателем";
       Иначе  //передача в переработку или возврат
           ВидДоговора = "СПоставщиком";
       КонецЕсли;
       ВесДоговора = 3;
   ИначеЕсли (Документ.Вид()="ВыполнениеЭтапаРабот") или
        (Документ.Вид()="ЗавершениеРабот") или (Документ.Вид()="ОплатаЭтапаРабот") Тогда
       ВидДоговора = "СПокупателем";
       ВесДоговора = 3;
   Иначе //по документу однозначно определить нельзя, будем определять по счету
       Если ПустоеЗначение(Счет)=0 Тогда
           Если Счет.ПринадлежитГруппе(СчетПоКоду("62"))=1 Тогда
               ВидДоговора = "СПокупателем";
               ВесДоговора = 1;
           ИначеЕсли Счет.ПринадлежитГруппе(СчетПоКоду("60"))=1 Тогда
               ВидДоговора = "СПоставщиком";
               ВесДоговора = 1;                
           КонецЕсли;    
       КонецЕсли;
   КонецЕсли;
КонецЕсли;

Параметры.ПараметрыАлгоритмов.Установить("ВидДоговора",ВидДоговора);
Параметры.ПараметрыАлгоритмов.Установить("ВесДоговора",ВесДоговора);


т.е. она тупо смотрит на документ, а не на обороты счёта =)
8 БибиГон
 
13.02.12
13:11
а причем здесь обороты?
9 zak555
 
13.02.12
13:15
(8) обработка при переносе с доками переносит договор
так вот, она задаёт один раз вид договора (покупатель, комитент, поставщик, прочие ) по виду документа
10 БибиГон
 
13.02.12
13:21
в 1с8 всегда так было.
11 zak555
 
13.02.12
13:22
(10) так надо было правило (7) модифицировать : поиск договоров производить по двум критериям, а не по одному
т.е. по наименованию и виду договора
тогда не было бы ошибки
12 zak555
 
13.02.12
15:19
но тут ещё надо было учесть остатки
13 CepeLLlka
 
14.02.12
15:54
Зак.. я делаю тоже самое..

У меня не грузятся сотрудники.. пишет ошибку о реквизите "НеИмеетПравоНаМедицинскоеСтрахование"
У тебя так же? Может у меня обработка старая? у меня от 30 сентября 2011..
Я брал в поставке 2.0.32.6
14 CepeLLlka
 
14.02.12
18:14
Просто я му*дак вот и всё :)
15 zak555
 
14.02.12
18:15
(13) у меня всё отлично
16 vqwy
 
14.02.12
18:16
(13) всё норм в обмене
17 DrShad
 
14.02.12
18:18
(14) не могу не согласиться - мануал нужно читать :)
18 zak555
 
14.02.12
18:19
(17) это какие ?
19 DrShad
 
14.02.12
19:25
(18) что какие?
20 zak555
 
14.02.12
19:27
(19) какой мануал по сабжу из (0) ?
21 firenze
 
14.02.12
19:39
так попробуйте не обработками, а напрямую, из 8ки - сервис - перенести данные из 7.7, чего извращаться-то, на днях пробовала - нормально. Или не подходит?
22 DrShad
 
14.02.12
19:39
к примеру что нужно модуль обработки подменить
23 zak555
 
14.02.12
19:40
(21) будет тоже самое
24 zak555
 
14.02.12
19:40
(22) что ?
где конкретика ?
25 firenze
 
14.02.12
19:40
хотя были конечно времена, с год назад, когда встроенная работала много хуже чем через выгрузку в файл обработкой и последующую загрузку.
26 firenze
 
14.02.12
19:41
аа, документами надо.. пардон.
27 DrShad
 
14.02.12
19:53
(24) тебе мануал прислать?
28 Турист
 
14.02.12
19:53
(11) если бы 1С каждый бзик ваших бухов предусмотрела, то с какого перепою тогда тебе платили бы "отстатыщ" ?
29 zak555
 
14.02.12
21:42
(27) давай
30 zak555
 
14.02.12
21:42
(28 ну так я не 1с-ниг