Имя: Пароль:
IT
 
Изменение кода с 7 на 8 ,1С
0 Blakangelos
 
23.09.11
12:31
//-----------------------------------------------------------------------------
Функция ПолучитьКаталог(ВыбФайл)
   СтрКаталог = СокрЛП(ВыбФайл);
   ИсхСтр = СокрЛП(ВыбФайл);
   НовыйКаталог = "";
   Если СтрЧислоВхождений(ИсхСтр, ".") = 0 Тогда
       Возврат ИсхСтр;
   КонецЕсли;
   Если СтрЧислоВхождений(СтрКаталог, "\") > 0 Тогда
       Поз = Найти(СтрКаталог, "\");
       Пока Поз > 0 Цикл
          СтрКаталог = Прав(СтрКаталог, СтрДлина(СтрКаталог)-Поз);
          Поз2 = Найти(ИсхСтр, СтрКаталог);
          НовыйКаталог = Лев(ИсхСтр, Поз2-1);
          Поз = Найти(СтрКаталог, "\");
       КонецЦикла;
   КонецЕсли;
   Возврат НовыйКаталог;
КонецФункции
//-----------------------------------------------------------------------------
// Выбор файла
Функция ВыборФайла(ВыбФайл, СтрЗаголовок, СтрПриглашение)
   Перем ПредстСпр;
   НовыйФайл = "";
   НовыйКаталог = ПолучитьКаталог(ВыбФайл);
   Если НовыйКаталог = "" Тогда
       НовыйКаталог = ФС.ТекКаталог()
   КонецЕсли;
   Если ФС.ВыбратьФайл(0, НовыйФайл, НовыйКаталог, СтрЗаголовок, СтрПриглашение+"(*.txt)|*.txt|Все файлы(*.*)|*.*", "txt") = 1 Тогда
       ВыбФайл = НовыйКаталог+НовыйФайл;
       Возврат 1;
   КонецЕсли;
   Возврат 0;
КонецФункции
//*******************************************
Функция РазбитьСтроку(всз,Стр,Разделитель)
   всз=СоздатьОбъект("СписокЗначений"); //Возвращаемый список значее
   //всз=СЗ;
   закончить=0;
   Пока закончить=0 Цикл
       поз=Найти(Стр,Разделитель);
       Если поз=0 Тогда
           всз.ДобавитьЗначение(Стр);
           закончить=1;
       Иначе
           всз.ДобавитьЗначение(лев(Стр,поз-1));
           Стр=Прав(Стр,СтрДлина(Стр)-поз-СтрДлина(Разделитель)+1);
       КонецЕсли;
   КонецЦикла;
   Возврат всз;
КонецФункции
//*******************************************
Процедура ОбработкаКонтрагента()

Перем всз,Контр;

Файл=СоздатьОбъект("Текст");
СпрЮр=СоздатьОбъект("Справочник.Юрлица");
СпрФиз=СоздатьОбъект("Справочник.ФизЛица");
СпрКонтр=СоздатьОбъект("Справочник.Контрагенты");
СпрДог=СоздатьОбъект("Справочник.Договоры");

Файл.КодоваяСтраница(0);                            
Файл.Открыть(ВыбФайлЗагрузки);
ВсегоЭлементовВФайле=Окр((Файл.КоличествоСтрок()),0,1);
ВсегоЭлементовВФайле=ВсегоЭлементовВФайле-1;
НачатьТранзакцию();
Для нн=2 По ВсегоЭлементовВФайле Цикл
                                             
// временный цикл для четырех элементов        
//Для нн=10 По 13 Цикл
   ДлИНН=0;
   Стр=Файл.ПолучитьСтроку(нн);
   РазбитьСтроку(всз,Стр,Разделитель);
   Код = Строка(всз.ПолучитьЗначение(1));
   ИНН=Строка(всз.ПолучитьЗначение(5));
   Наименование=Строка(всз.ПолучитьЗначение(10));
   ДлИНН = СтрДлина(ИНН);
   Если ((СпрЮр.НайтиПоКоду(Код,0)=0) и (ДлИНН=10)) или ((СпрЮр.НайтиПоКоду(Код,0)=0) и (ДлИНН=20)) Тогда
       Сообщить("Добавленно юрлицо "+Наименование);
       СпрЮр.Новый();
       СпрЮр.ИспользоватьДату(ТекущаяДата());
       СпрЮр.Код = Код;
       СпрЮр.Наименование = Наименование;
       СпрЮр.ПолнНаименование = Наименование;
       СпрЮр.ИНН = ИНН;
       СпрЮр.Записать();
       СпрКонтр.Новый();
       СпрКонтр.ИспользоватьДату(ТекущаяДата());
       СпрКонтр.Код = Код;
       СпрКонтр.Наименование = Наименование;
       СпрКонтр.ЮрФизЛицо = СпрЮр.ТекущийЭлемент();
       СпрКонтр.Записать();
       СпрДог.Новый();
       СпрДог.Владелец = СпрКонтр.ТекущийЭлемент();
       
       // Заполнение реквизитов слоя "ОсновнойДоговор".
       СпрДог.Наименование           = "Основной договор";
       СпрДог.ВалютаВзаиморасчетов   = Константа.ВалютаБухУчета;
       
       СпрДог.Записать();
       
       // Установка основного договора.
       СпрКонтр.ОсновнойДоговор = СпрДог.ТекущийЭлемент();
       СпрКонтр.Записать();        
   ИначеЕсли (СпрФиз.НайтиПоКоду(Код,0)=0) и (ДлИНН=12) Тогда
       Сообщить("Добавленно физлицо "+Наименование);
       СпрФиз.Новый();
       СпрФиз.ИспользоватьДату(ТекущаяДата());
       СпрФиз.Код = Код;
       СпрФиз.Наименование = Наименование;
       СпрФиз.ПолнНаименование = Наименование;
       СпрФиз.ИНН = ИНН;
       СпрФиз.Записать();
       СпрКонтр.Новый();
       СпрКонтр.ИспользоватьДату(ТекущаяДата());
       СпрКонтр.Код = Код;
       СпрКонтр.Наименование = Наименование;
       СпрКонтр.ЮрФизЛицо = СпрФиз.ТекущийЭлемент();
       СпрКонтр.Записать();
       СпрДог.Новый();
       СпрДог.Владелец = СпрКонтр.ТекущийЭлемент();
       
       // Заполнение реквизитов слоя "ОсновнойДоговор".
       СпрДог.Наименование           = "Основной договор";
       СпрДог.ВалютаВзаиморасчетов   = Константа.ВалютаБухУчета;
       
       СпрДог.Записать();
       
       // Установка основного договора.
       СпрКонтр.ОсновнойДоговор = СпрДог.ТекущийЭлемент();
       СпрКонтр.Записать();        


   Иначе
       Сообщить("Элемент справочника с кодом " + Код + " существует или неверно введен ИНН "+ИНН);
       Сообщить(Наименование);
       Продолжить;
   КонецЕсли;
   
   
   
КонецЦикла;
ЗафиксироватьТранзакцию();
КонецПроцедуры
//-----------------------------------------------------------------------------
Процедура ВыборФайлаЗагрузки()
   ВыборФайла(ВыбФайлЗагрузки, "Выберете файл для загрузки", "Файл для загрузки");
КонецПроцедуры
1 Blakangelos
 
23.09.11
12:32
нужно переделать чтобы работала на 8но что то не получается
2 IamAlexy
 
23.09.11
12:32
и зачем тут эти помои?
3 IamAlexy
 
23.09.11
12:32
(1) 3000 р.
4 ParaWiz
 
23.09.11
12:32
(2) Кэп в (1) как бы намекает - ну перепишите за меня все эти помои чтоб взлетело в снеговике
5 2S
 
23.09.11
12:32
(3) ты не понимаешь, он бесплатно хочет и учиться не хочет
6 Blakangelos
 
23.09.11
12:33
я разбирал но что то не фурычит на 8
7 2S
 
23.09.11
12:33
так, стоп
Пол женский.
Автор, фото в личку, все разговоры потом!
8 2S
 
23.09.11
12:34
"я разбирал ..."
отбой, ахтунг
9 ParaWiz
 
23.09.11
12:34
посмотрел профиль, без фотки не взлетит, а чтоб бесплатно взлетело ну я прям не знаю что это за фотка должна быть
10 ParaWiz
 
23.09.11
12:34
(8) тьфу, точно
11 Ткачев
 
23.09.11
12:34
(0)Мало, давай весь код релиза.
12 Blakangelos
 
23.09.11
12:34
тебе интим или простое?
13 ParaWiz
 
23.09.11
12:34
(12) отбой ахтунг
14 Blakangelos
 
23.09.11
12:35
это весь код  больше нету
15 VladZ
 
23.09.11
12:35
Пожалуй демпенгану...  2995 рублей...
16 Ткачев
 
23.09.11
12:35
(14)Миста резиновая, все примет.
17 Blakangelos
 
23.09.11
12:36
злые вы
18 ParaWiz
 
23.09.11
12:36
(15) не надо только вот этого, а то опять до тарелки супа договоритесь
19 ParaWiz
 
23.09.11
12:37
(17) нет, не злые, просто коммунизм как бы не взлетел
20 H A D G E H O G s
 
23.09.11
12:37
Автор - формируй темы правильно, информативно.
Правильно оформленная тема на порядки упрощает получение ответа.
В идеале - САМ автор должен ответить на свой вопрос.
Вот как в примере:
v8: Сериализация СпискаЗначений В XDTO. Где я не прав?
21 Blakangelos
 
23.09.11
12:37
пишите лучше по делу
22 2S
 
23.09.11
12:38
работу с каталогами/файлами сдери с какой-нить типовой обработки загрузки/выгрузки
С Текстом и Справочниками работать несложно. Ситаксис-помощник все скажет
23 Blakangelos
 
23.09.11
12:38
мне нужно это переделать
24 H A D G E H O G s
 
23.09.11
12:39
25 Blakangelos
 
23.09.11
12:39
вос сижу с утра её переписываю
26 Blakangelos
 
23.09.11
12:39
с 7.7 ниразу не работал
27 IamAlexy
 
23.09.11
12:39
(25) а мог бы 3000 рублей заплатить и все утро пить пиво смотря телек пока за тебя кто то работает...
28 Blakangelos
 
23.09.11
12:39
куча сокращений не понятных
29 Blakangelos
 
23.09.11
12:40
мне нужно разобратся!
30 Blakangelos
 
23.09.11
12:40
просто опыта мало
31 KRV
 
23.09.11
12:40
Ну, так, никто пока вроде еще никто не запретил разбираться?
32 ParaWiz
 
23.09.11
12:41
Сокращения тут:
https://1cers.ru/rules.php
33 NDN
 
23.09.11
12:41
(30) Ну так задай правильный вопрос.
34 Blakangelos
 
23.09.11
12:41
а я где???
35 Strogg
 
23.09.11
12:41
2900
36 Blakangelos
 
23.09.11
12:42
можите описать действия модулей
37 ParaWiz
 
23.09.11
12:43
(34) Просто сформулированный тобой вопрос в переводе на нормальный язык звучит так: "господа и дамы, вот тут у меня какой-то код, я понятия не имею как он работает, но мне надо чтобы он работал в 8ке, напишите за меня пожааалуйста и бесплатно"
38 Blakangelos
 
23.09.11
12:44
писать не надо объясните код, а то я тут некоторые сокращения не понимаю
39 ParaWiz
 
23.09.11
12:44
(38) Сокращения = имена переменных ?
40 Птах
 
23.09.11
12:45
(38) Ты хоть пиши, че конкретно не понимаешь, зачем простыни постить?
41 NDN
 
23.09.11
12:45
(38) сужай область вопроса :) Блин, мне вот влом объяснять весь этот код
42 Птах
 
23.09.11
12:45
+(40) Единственное объяснение - что ты ВООБЩЕ ни хрена не понимаешь.
43 Strogg
 
23.09.11
12:45
(41) - СокрЛП тогда как объяснишь :)))
44 Blakangelos
 
23.09.11
12:45
СокрЛП,СтрЧислоВхождений
45 Strogg
 
23.09.11
12:46
мбугог
46 Птах
 
23.09.11
12:47
(43) Ctrl+F1 - контекстная справка
47 Подводный Таракан
 
23.09.11
12:47
СокрЛП() объяснить???
48 Птах
 
23.09.11
12:47
(46) к (44)
49 ParaWiz
 
23.09.11
12:47
(44) открываешь семерку, открываешь этот код, встаешь курсором на том что не понятно особенно если оно красненьким шрифтом  и нажимаешь сочетание клавиш Ctrl+F1
50 Птах
 
23.09.11
12:47
Нарожают дебилов...
51 ParaWiz
 
23.09.11
12:48
(50) +100500 причем еще и ленивых ...
52 Ткачев
 
23.09.11
12:53
(44)Адинэсники сокращают не там где нужно, команда СокрЛП(ТекстСтроки), а если бы делали такую функцию то она была бы СократитьСтрокуСлеваИСправа(ТекстСтроки)
53 kiruha
 
23.09.11
13:06
(44)

СтрЧислоВхождений

Строка Число Вхождений
Число вхождений строки в исходну строку

еще раз

Число вхождений строки в исходну строку ИсхСтр
той что ищешь "."

и напоследок
Число вхождений строки в исходну строку -
это сколько раз фрагмент точка встречается в исходном тексте
если 1 раз есть точка то 1, если нет точки то 0
54 VladZ
 
23.09.11
13:12
(35) Фигасе... Сильно сбавил... Делай! :)
55 andrewks
 
23.09.11
13:43
чё-то тут не бизнесмены, а ламеры какие-то :)
(0) 10000, половину тебе
56 tesei
 
23.09.11
13:43
фигня, прочел (0) с листа, сделаю за тарелку сУППа... с севрюгой...
57 Strogg
 
23.09.11
14:16
(54) - :). Так потом можно больше выбить, если на абонентку подсадить. Сначала, вместо СокрЛП написать Прав, затем Лев, затем оптимизировать все это. В общем, можно намутить :). Ну а если клиент не жадный, то (55) рулит :)
58 Jaffar
 
23.09.11
15:37
(0) скопируй текст в буфер (Ctrl+C), сделай в 1С 7.7 Файл-Новый-Текстовый документ, вставь текст из буфера, сохрани файл как Модуль.v77, потом закрой 1С, найди этот файл, переименуй его в Модуль.v81, открой 1С 8.1 - и сможешь загрузить текст модуля из сохраненного файла (она при открытии спросит "Конвертировать в новую версию?").
К сожалению, сразу в 8.2 (если тебе нужно в 8.2) не получится - только через 8.1, а потом опять сохранить, переименовать в Модуль.v82 и открывать уже в 8.2.
Смотри внимательно - если перепутаешь, чем открывать или пересохранишь поверх созданного в более поздней версии - потом уже не откроешь, придется сначала начинать! Поэтому делай резервные копии или сохраняй в другую папку (я себе завел ExtForms77, ExtForms81 и ExtForms82).
59 Stim213
 
23.09.11
15:39
2500
60 mehfk
 
23.09.11
15:45
(0) ТС - пятничный бот?
61 zak555
 
23.09.11
19:20
(60) это гомосятина
62 zak555
 
23.09.11
19:21
1ё000