Перейти к содержимому


Фотография
- - - - -

Необычная (умеет кто программировать в 1С?)

программирование нуб в программировании

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 23

#1 ZackXvid

ZackXvid

    Активный участник

  • Безумный
  • PipPipPip
  • 33 сообщений

Отправлено 16.01.2017 - 12:20

И всем привет) Вопрос из рода необычных, умеет кто программировать в 1С? Хочу открыть для себя новое и заняться 1С программированием, но категорически не знаю с чего начинать, скачал прогу обучающую 1С обучение (для справки 1С предприятие и все с ним связанные). да в интернете куча сайтов на эту тему, но там черт ногу сломит, хотел бы совет послушать на эту тему. Мое программирование на уровне создал в паскале цветной экран с бегающей картинкой)))


wFgmDs.png

 

 


#2 Берун

Берун

    Задрот

  • Безумный
  • PipPipPipPipPipPipPipPipPipPip
  • 2438 сообщений

Отправлено 16.01.2017 - 12:26

А ты в бухгалтерии шаришь? Не в 1с, а вообще, там где дебет-кредит и баланс.


Изображение

#3 ZackXvid

ZackXvid

    Активный участник

  • Безумный
  • PipPipPip
  • 33 сообщений

Отправлено 16.01.2017 - 12:56

А ты в бухгалтерии шаришь? Не в 1с, а вообще, там где дебет-кредит и баланс.

Пока нет, собираюсь приступить к изучению этих основ


wFgmDs.png

 

 


#4 Берун

Берун

    Задрот

  • Безумный
  • PipPipPipPipPipPipPipPipPipPip
  • 2438 сообщений

Отправлено 16.01.2017 - 14:25

Когда я искал что-то подобное, то нашел анекдот про самоучители по языкам программирования:

 

Это отвертка, а это шуруп. Отверткой можно вкручивать и выкручивать шуруп. А теперь, на основе полученных данных соберите синхрофазатрон.

 

Не имея никакого опыта в программировании, советую курсы по бухучету (у нас от биржи на халяву проводились). А потом курсы 1с.


Изображение

#5 Мультук

Мультук

    Задрот

  • Офицер
  • PipPipPipPipPipPipPipPipPipPip
  • 2607 сообщений

Награды

        

Отправлено 16.01.2017 - 18:34

По поводу 1С и курсов.

http://курсы-по-1с.рф/courses-catalog/

 

Там есть и бесплатные материалы, настоятельно советую начать с них.

http://курсы-по-1с.р...g1C-21days/lp1/

 

Бесплатный курс по бухгалтерии

 

 

Из форумов forum.mista.ru

 

В остальном как и в любом языке. Либо разбираемся как работает готовое, либо пишем что-то свое.

 

P.S.

Из местных в 1С уж точно пишу я и Малдруль.

Хотя его контора вроде пересаживалась на SAP.


Сообщение отредактировал Мультук: 16.01.2017 - 18:37

d3 - Scor, колдун wow - offline EVE - offline WoT - offline

#6 ZackXvid

ZackXvid

    Активный участник

  • Безумный
  • PipPipPip
  • 33 сообщений

Отправлено 16.01.2017 - 19:07

По поводу 1С и курсов.

http://курсы-по-1с.рф/courses-catalog/

 

Там есть и бесплатные материалы, настоятельно советую начать с них.

http://курсы-по-1с.р...g1C-21days/lp1/

 

Бесплатный курс по бухгалтерии

 

 

Из форумов forum.mista.ru

 

В остальном как и в любом языке. Либо разбираемся как работает готовое, либо пишем что-то свое.

 

P.S.

Из местных в 1С уж точно пишу я и Малдруль.

Хотя его контора вроде пересаживалась на SAP.

благодарю, возьмусь за обучение с самых низов, долгий и трудный путь впереди


wFgmDs.png

 

 


#7 Ризахоукай

Ризахоукай

    Безумный

  • Офицер
  • PipPipPipPipPipPipPipPipPip
  • 1235 сообщений

Награды

     

Отправлено 16.01.2017 - 20:28

Из местных в 1С уж точно пишу я и Малдруль.

Хотя его контора вроде пересаживалась на SAP.

Имея по работе опыт и с SAP (корпоративный стандарт), и с 1С (потому что а кто еще будет за нас отслеживать изменения в российском законодательстве)... табуретка, веревка и мыло обойдутся дешевле и будут проще в применении.


Ризахоукай, охотник

#8 onizzzuka

onizzzuka

    Задрот

  • Админ
  • PipPipPipPipPipPipPipPipPipPip
  • 2325 сообщений

Отправлено 16.01.2017 - 21:17

А программирование на чём-то повеселее не устроит, а? На чём угодно, в принципе, нынче спрос на всё есть. На 1С тоже спрос есть, но это же поедание кактусов, имхо.


Мейн: Хакоэн (шп, гнум, алхимия/инженерка)
Альты: Онидзука (маг фаер/фрост, хуман, портной/чантер), Тэнцзин (шаман рдд/хил, большой толстый панд, кузнец/ювелирка), Нъярлатхотеп (дк танк/мдд, хуман, кузнец/горняк), Гюнше (хант, ворген, инженерка/энчант)

--------------------------------------------------

Компот - это важно! Компот - это полезно! Компот имеет много применений и все годные! Без компота - тлен и депрессия. © Рейстмар

--------------------------------------------------

keep flying


#9 Рейстмар

Рейстмар

    Злок

  • Безумный
  • PipPipPipPipPipPipPipPip
  • 986 сообщений

Отправлено 16.01.2017 - 23:00

Слыхал, что джависты и пхпшники всегда и везде нужны, еще слыхал, что лысеют они в среднем позже 1С-гуру. Во времена, когда я сам злоупотреблял пхп, работы всегда хватало. Но если уважаемый Слоник уверен, что 1С лично ему полезнее, то почему нет.

 

Ах да, еще джаваскриптеры в моде, но там не угонишься за паровозом: что ни день, то новая технология.


Альтернативные личности

:hi:

#10 Фшёшам

Фшёшам

    Призрак форума

  • Офицер
  • PipPipPipPipPipPipPipPip
  • 784 сообщений

Награды

     

Отправлено 17.01.2017 - 05:28

Дайв инту питон жпег.

А вообще 1С не только для бухгалтерии, она для учёта всего подряд платформа. WMS, ERP, CRM, HRM, итд, итп.

I hate being bipolar. It's awesome.


#11 Мультук

Мультук

    Задрот

  • Офицер
  • PipPipPipPipPipPipPipPipPipPip
  • 2607 сообщений

Награды

        

Отправлено 17.01.2017 - 11:58

Жила-была в обработке функция. Долго жила.

 

// Функция переводит дату в формате 1С в международный текстовый формат вида 'YYYY-MM-DD hh:mm:ss'
// Параметры:  Дата1С - Дата в формате 1С
// Возвращаемое значение: Строка - Дата в международном текстовом формате
//
Функция ДатаВСтроку(Дата1С)
Результат = Формат(Год(Дата1С),"ЧГ=0")+ "-" +?(СтрДлина(Строка(Месяц(Дата1С))) < 2,"0" + Строка(Месяц(Дата1С)) , Строка(Месяц(Дата1С)))
    + "-" + ?(СтрДлина(Строка(День(Дата1С))) < 2, "0" + Строка(День(Дата1С)), Строка(День(Дата1С))) + " "
    + ?(СтрДлина(Строка(Час(Дата1С))) < 2, "0" + Строка(Час(Дата1С)), Строка(Час(Дата1С))) + ":"
    + ?(СтрДлина(Строка(Минута(Дата1С))) < 2, "0" + Строка(Минута(Дата1С)), Строка(Минута(Дата1С))) + ":"
    + ?(СтрДлина(Строка(Секунда(Дата1С))) <2, "0" + Строка(Секунда(Дата1С)), Строка(Секунда(Дата1С)));
    Возврат Результат;
КонецФункции

 

Вот думаю, заменить ее на

 

Функция ДатаВСтроку(Дата1С)

      возврат Формат(Дата1С, "DF='yyyy-MM-dd HH:mm:ss'");

КонецФункции

 

или пусть дальше живет?


d3 - Scor, колдун wow - offline EVE - offline WoT - offline

#12 Кутрапали

Кутрапали

    Прогер

  • Админ
  • PipPipPipPipPipPipPipPipPipPip
  • 6334 сообщений

Награды

           

Отправлено 17.01.2017 - 12:30

Больше индусского кода!


BTag: limpalex#2865 


#13 Пухляо

Пухляо

    Задрот

  • Приглашенные гости
  • 2049 сообщений

Отправлено 17.01.2017 - 12:39

Больше индусского кода!


(◕ ◡ ◕)

#14 Астроух

Астроух

    Вагоновожатый

  • Офицер
  • PipPipPipPipPipPipPipPipPipPip
  • 4826 сообщений

Награды

     

Отправлено 17.01.2017 - 12:55

Жила-была в обработке функция. Долго жила.

 

// Функция переводит дату в формате 1С в международный текстовый формат вида 'YYYY-MM-DD hh:mm:ss'
// Параметры:  Дата1С - Дата в формате 1С
// Возвращаемое значение: Строка - Дата в международном текстовом формате
//
Функция ДатаВСтроку(Дата1С)
Результат = Формат(Год(Дата1С),"ЧГ=0")+ "-" +?(СтрДлина(Строка(Месяц(Дата1С))) < 2,"0" + Строка(Месяц(Дата1С)) , Строка(Месяц(Дата1С)))
    + "-" + ?(СтрДлина(Строка(День(Дата1С))) < 2, "0" + Строка(День(Дата1С)), Строка(День(Дата1С))) + " "
    + ?(СтрДлина(Строка(Час(Дата1С))) < 2, "0" + Строка(Час(Дата1С)), Строка(Час(Дата1С))) + ":"
    + ?(СтрДлина(Строка(Минута(Дата1С))) < 2, "0" + Строка(Минута(Дата1С)), Строка(Минута(Дата1С))) + ":"
    + ?(СтрДлина(Строка(Секунда(Дата1С))) <2, "0" + Строка(Секунда(Дата1С)), Строка(Секунда(Дата1С)));
    Возврат Результат;
КонецФункции

 

Вот думаю, заменить ее на

 

Функция ДатаВСтроку(Дата1С)

      возврат Формат(Дата1С, "DF='yyyy-MM-dd HH:mm:ss'");

КонецФункции

 

или пусть дальше живет?

Работает? Не трогай!


Будь осторожен в своих желаниях, ведь неизвестно, кто может их услышать. ©Пратчетт
Логи на WL


ИзображениеИзображение
Сатет
Астроух
Аномалька
Астольфо
Тошико

#15 onizzzuka

onizzzuka

    Задрот

  • Админ
  • PipPipPipPipPipPipPipPipPipPip
  • 2325 сообщений

Отправлено 17.01.2017 - 13:54

Судя по старому коду, человек, его писавший, про Формат() был в курсе. А значит, были какие-то причины написать именно так. Хотя, может быть, он не был в курсе про "DF=" :)


Мейн: Хакоэн (шп, гнум, алхимия/инженерка)
Альты: Онидзука (маг фаер/фрост, хуман, портной/чантер), Тэнцзин (шаман рдд/хил, большой толстый панд, кузнец/ювелирка), Нъярлатхотеп (дк танк/мдд, хуман, кузнец/горняк), Гюнше (хант, ворген, инженерка/энчант)

--------------------------------------------------

Компот - это важно! Компот - это полезно! Компот имеет много применений и все годные! Без компота - тлен и депрессия. © Рейстмар

--------------------------------------------------

keep flying


#16 Кутрапали

Кутрапали

    Прогер

  • Админ
  • PipPipPipPipPipPipPipPipPipPip
  • 6334 сообщений

Награды

           

Отправлено 17.01.2017 - 14:32

Судя по старому коду, человек, его писавший, про Формат() был в курсе. А значит, были какие-то причины написать именно так. Хотя, может быть, он не был в курсе про "DF=" :)

Думаю человек написал без формата, получил в годе группировку разрядов и нагуглил как ее убрать. (Я сам с 1с не знаком, просто нагуглил, что делает флаг ЧГ=0). Стандартный метод решения проблем у тех кто учится походу дела.


BTag: limpalex#2865 


#17 Ризахоукай

Ризахоукай

    Безумный

  • Офицер
  • PipPipPipPipPipPipPipPipPip
  • 1235 сообщений

Награды

     

Отправлено 17.01.2017 - 14:45

Можно подумать, Формат с DF= внутри себя делает что-то другое. Так что замена функции не сильно ускорит выполнение, а читаемость основного кода и вовсе не изменится. До тех пор, пока не понадобится менять формат даты на лету - а по уму было бы хорошо уметь его задавать в настройках, а если не задан, то брать системный формат - можно ничего и не трогать.


Ризахоукай, охотник

#18 Мультук

Мультук

    Задрот

  • Офицер
  • PipPipPipPipPipPipPipPipPipPip
  • 2607 сообщений

Награды

        

Отправлено 17.01.2017 - 16:34

Думаю человек написал без формата, получил в годе группировку разрядов и нагуглил как ее убрать. (Я сам с 1с не знаком, просто нагуглил, что делает флаг ЧГ=0). Стандартный метод решения проблем у тех кто учится походу дела.

 

Еще одна конструкция. (1С, псевдокод)

 

стр = "";

Для й = 0 по 40 000 цикл

    стр = стр + "куча конкатенаций." + ПЕРЕВОД_СТРОКИ;       

конецЦикла;

текстовыйФайл.Записать(стр);

 

Коллега пожаловался, что медленно (20-30 мин) работает. Файл 4-8 Мб получался.

Переписали на

 

стр = "";

Для й = 0 по 40 000 цикл

    стр = "куча конкатенаций." + ПЕРЕВОД_СТРОКИ;      

   текстовыйФайл.Записать(стр);

конецЦикла;

 

а затем заменили текстовыйФайл, который суть есть TStringList (или как там оно у микрософт) на ЗаписьТекста (TFileStream), и о чудо, вместо 30 мин, 2-3 мин.

 

P.S.

На одном из форумов 1С народ реально выяснил, что если нужно конкатенировать большую строку из кучи мелких, то таки да, ее проще/дешевле записать в файл, а затем его прочитать.

Причем писали через объект ЗаписьXML


d3 - Scor, колдун wow - offline EVE - offline WoT - offline

#19 Кутрапали

Кутрапали

    Прогер

  • Админ
  • PipPipPipPipPipPipPipPipPipPip
  • 6334 сообщений

Награды

           

Отправлено 17.01.2017 - 16:47

А что никаких буферов нет? У нас есть StringBuilder например, который позволяет избежать создания в куче горы объектов (которые потом придется убивать). Его можно заранее проинициализировать куском памяти с запасом.


BTag: limpalex#2865 


#20 Ризахоукай

Ризахоукай

    Безумный

  • Офицер
  • PipPipPipPipPipPipPipPipPip
  • 1235 сообщений

Награды

     

Отправлено 17.01.2017 - 17:12

Раз 4-8 мегабайт - то это тип строки неограниченной длины. Они никогда быстро не работали, потому что не умеют. Да и использовать их надо только там, где без них ну совсем не обойтись.


Ризахоукай, охотник

#21 ZackXvid

ZackXvid

    Активный участник

  • Безумный
  • PipPipPip
  • 33 сообщений

Отправлено 17.01.2017 - 23:55

О боже, что это за язык)


wFgmDs.png

 

 


#22 Малдруль

Малдруль

    Монстр общения

  • Приглашенные гости
  • 500 сообщений

Отправлено 17.01.2017 - 23:57

И всем привет) Вопрос из рода необычных, умеет кто программировать в 1С? Хочу открыть для себя новое и заняться 1С программированием, но категорически не знаю с чего начинать, скачал прогу обучающую 1С обучение (для справки 1С предприятие и все с ним связанные). да в интернете куча сайтов на эту тему, но там черт ногу сломит, хотел бы совет послушать на эту тему. Мое программирование на уровне создал в паскале цветной экран с бегающей картинкой)))

Хрень полную придумал.

 

 

Еще одна конструкция. (1С, псевдокод)

 

стр = "";

Для й = 0 по 40 000 цикл

    стр = стр + "куча конкатенаций." + ПЕРЕВОД_СТРОКИ;       

конецЦикла;

текстовыйФайл.Записать(стр);

 

Коллега пожаловался, что медленно (20-30 мин) работает. Файл 4-8 Мб получался.

Переписали на

 

стр = "";

Для й = 0 по 40 000 цикл

    стр = "куча конкатенаций." + ПЕРЕВОД_СТРОКИ;      

   текстовыйФайл.Записать(стр);

конецЦикла;

 

а затем заменили текстовыйФайл, который суть есть TStringList (или как там оно у микрософт) на ЗаписьТекста (TFileStream), и о чудо, вместо 30 мин, 2-3 мин.

 

P.S.

На одном из форумов 1С народ реально выяснил, что если нужно конкатенировать большую строку из кучи мелких, то таки да, ее проще/дешевле записать в файл, а затем его прочитать.

Причем писали через объект ЗаписьXML

Таки зачем ее писать в файл? Самое простое - писать в ТекстовыйДокумент, который сам по себе все-таки ни разу не файл, но можно и в ЗаписьXML. А можно еще поддаться темной стороне силы aka Serginio1 и заюзать .Net

 

Вообще 1С малость не предназначена для работы со строками. Она все-таки для другого. Но идеологический аналог SrtingBuilder в ней это ТекстовыйДокумент.


Сообщение отредактировал Малдруль: 17.01.2017 - 23:58

xeJADKs.png

#23 Мультук

Мультук

    Задрот

  • Офицер
  • PipPipPipPipPipPipPipPipPipPip
  • 2607 сообщений

Награды

        

Отправлено 18.01.2017 - 06:39

Таки зачем ее писать в файл? Самое простое - писать в ТекстовыйДокумент, который сам по себе все-таки ни разу не файл, но можно и в ЗаписьXML. А можно еще поддаться темной стороне силы aka Serginio1 и заюзать .Net

 

Вообще 1С малость не предназначена для работы со строками. Она все-таки для другого. Но идеологический аналог SrtingBuilder в ней это ТекстовыйДокумент.

 

Там (в оригинальной задаче) нужна была выгрузка товаров, цен, скидок в Frontol. Так что на выходе в любом случае получался файл.

 

Поглядел посты Serginio1 на хабре. Много букв ). В моих задачах такое пока не требуется.


d3 - Scor, колдун wow - offline EVE - offline WoT - offline

#24 Трори

Трори

    Монстр общения

  • Безумный
  • PipPipPipPipPipPipPip
  • 700 сообщений

Отправлено 03.03.2017 - 08:07

Там (в оригинальной задаче) нужна была выгрузка товаров, цен, скидок в Frontol. Так что на выходе в любом случае получался файл.

 

Поглядел посты Serginio1 на хабре. Много букв ). В моих задачах такое пока не требуется.

Вы чего, всё ещё фронтол пользуете? = )