- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
Если ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003726") Тогда //000003726 - Автолюкс
СлужбаДоставкиВСМС = "AvtoLux";
ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003727") Тогда //000003727 - Гюнсел
СлужбаДоставкиВСМС = "GUNSEL";
ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003725") Тогда //000003725 - Интайм
СлужбаДоставкиВСМС = "InTime";
ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003826") Тогда //000003826 - Мист экспресс
СлужбаДоставкиВСМС = "Meest-express";
ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003932") Тогда //000003932 - Киевские ведомости
СлужбаДоставкиВСМС = "Kievskie vedomosti"
ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003722") Тогда //000003722 - Новая почта
СлужбаДоставкиВСМС = "Nova Poshta";
ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003729") Тогда //000003729 - Ночной экспресс
СлужбаДоставкиВСМС = "Nochnoi express";
ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003728") Тогда //000003728 - САТ
СлужбаДоставкиВСМС = "CAT";
//.....
КонецЕсли;
Почти универсальный способ транслитизации наименования контрагента.
guest 10.09.2013 14:20 # 0
blackhearted 10.09.2013 18:02 # −4
bormand 10.09.2013 19:15 # +1
А может быть там и более удобные средства для таких случаев имеются.
bormand 10.09.2013 19:23 # +1
crastinus 10.09.2013 20:28 # 0
http://www.govnokod.ru/12501
Тогда можно просто вбить в таблицу и получить таблицу. В конфигурации Раруса так везде. Я опубликовал, потому что это прежде всего необычно. Если прикинуть, то вариант с массивом будет такой же огромный, как и этот код.
bormand 10.09.2013 21:08 # +1
Почему?
crastinus 11.09.2013 05:13 # +1
Но конфигурастам из 1С-ных контор на это наплевать.
bormand 11.09.2013 05:25 # 0
А что там так сильно рассеивается? Справочник в 1с это не просто таблица и форма для ее редактирования? Просто я под 1с ни разу не кодил, и не в курсе ситуации.
> конфигурастам
Классное слово, надо запомнить.
crastinus 11.09.2013 06:15 # 0
Да это таблица БД с формой.
Но когда делать правки по всей конфигурации с этим справочником. При обновлении конфигурации возникает проблема переноса этого справочника в новую конфигурацию.
Новая конфигурация представляет из себя чистый код, относящийся к новому законодательству, а у тебя куча документов с этим справочником. В этом случае нужно брать какой-нибудь windiff и править каждый модуль, это очень долго. Единственный безопасный вариант, это использовать справочник только в своих документах, тогда нужно просто поправить эти документы для текущего законодательства. Красивых способов в 1С нет.
>Классное слово, надо запомнить
Оно употребляется, потому что 1С очень простой язык. Часто человек на нем пишущий представляет из себя скорее продвинутого бухгалтера, нежели программиста)). Единственная серьзная особенность - запросы, которые скармливаются построителю отчетов.
bormand 11.09.2013 06:53 # 0
Не ну это само собой. Если я буду подпиливать изкоробочные документы и код, то я получу головную боль при портировании своего патча на новую версию. Имхо, такие операции нигде безболезненно не проходят, не только в 1с...
> Единственный безопасный вариант, это использовать справочник только в своих документах
Ну собственно добавление новых документов и справочников для них меня и интересовало.
P.S. Кстати, а модули и шаблоны для форм/документов хранятся в текстовых файлах? Или там свои форматы, с которыми без конфигурятора особо не поработаешь?
crastinus 11.09.2013 15:39 # 0
Именно так. В каждом файле-отчете лежат макеты+модуль+формы(к каждой форме лежат модули и сопутствующие данные).
bormand 11.09.2013 16:25 # +1
Жопа. Т.е. о git'ах и прочих системах контроля версий можно даже не мечтать...
crastinus 11.09.2013 17:06 # 0
https://github.com/kuntashov/1CUnit
bormand 11.09.2013 17:30 # +1
Ну это, имхо, кривовато: диффы то не посмотреть толком у бинарников, да и места такая репа будет жрать больше.
У текстовых файлов еще плюс есть - ненулевая вероятность на автомате наложить дельту между изкоробочной и своей версией на новую изкоробочную. Хотя тут все очень зависит от того, насколько сильно эту версию перепиливают между релизами.
anonimb84a2f6fd141 11.09.2013 19:08 # 0
Ага, и ненулевая вероятность потом ловить глюки. А если патчу лет 5?
bormand 11.09.2013 19:46 # +1
Все зависит от того, на сколько уплыла за это время базовая версия ;)
Согласись, если в базовой версии сделали какой-то мелкий фикс, для нетронутых нами модулей, и не испорчено API, то проще автоматом накатить патчсет, чем ебаться и переносить все дельты руками ;)
Да и никто не говорит, что после наложения патча надо сразу отдавать результат бухам. Чтение и тестирование никто не отменял.
Ну и я же не утверждаю, что это панацея. Просто во многих случаях это действительно удобно (хотя в моей сишной практике далеко не всегда канало).
anonimb84a2f6fd141 12.09.2013 04:26 # 0
И накатывание чужих патчей превращается из работы пользователя в работу программиста. just as planned, прыщебляди соснули.
bormand 12.09.2013 05:27 # +1
Ну а что ты хотел? Взялся за допилку конфы, к которой 1с выпускает изменения - страдай. Ты уже программист а не пользователь ;)
> накатывание чужих патчей
Да схуяли. Пользователь просто возьмет готовую конфу, подпиленную и проверенную для него программистом, да и поставит/обновит (а на практике к нему прибежит франчайзи, который ему конфу допиливал, и поставит все сам). Ну а если не проверенную - будет звонить программисту и заябывать его вопросами, пока тот не научится проверять ;)
Ты пойми: я же не предлагаю распространять допиленные конфигурации в патчсетах. Я просто говорю о том, что классические средства типа диффов и патчей всяко поудобней ручного просмотра форм и модулей, ручного поиска изменений в них, и ручного же слияния своих изменений и тех, которые сделали 1сники.
Пильщику конфигурации один хрен страдать. Просто с текстовыми файлами вместо проприетарного формата, имхо, он страдал бы чуть меньше.
crastinus 13.09.2013 18:30 # 0
Они не выпускают изменения. Они выпускают интерпретатор для документооборота, и все. 1С и рарус, примерно тоже самое что php и joomla.
>У текстовых файлов еще плюс есть - ненулевая вероятность на автомате наложить дельту между изкоробочной и своей версией на новую изкоробочную.
Я выше писал про windiff, если не лень, то можно копировать текст из разных конфигураций. Обычно изменения интересуют только в одной(м) обработке/документе, а это не накладно по времени.
bormand 12.09.2013 05:43 # +1
Критикуешь - предлагай. Предложи более удобный способ слияния местных изменений конфы, и изменений, которые за это время сделало 1с.
Варианты "не пилить конфу вообще, юзать как есть" и "не обновляться, а по 5 лет пилить на основе версии со времен мамонтов" не принимаются как копетанские и очевидные.
Естественно, что вся эта лабуда рассматривается не с позиции конечного пользователя (которому по-хорошему вообще нехер лезть в конфигурятор), а с позиции 1с-франчайзи, который делает свою конфу на основе стандартной, или мальчика-программиста, которому начальник поручил что-то подпилить в их 1ске.
kegdan 12.09.2013 05:51 # 0
bormand 12.09.2013 06:26 # 0
Блин, вот в моих словах уже всё нашли: и "предложение юзерам накатывать патчи самостоятельно" и "ругань 1с". Почему один я в них ничего из этого не вижу?..
kegdan 13.09.2013 19:36 # 0
guest 14.09.2013 22:24 # 0
по поводу мальчиков программистов дешевых, после которых звонят клиенты и просят хотя бы вернуть как было...бекапы это вообще отдельная тема для развговора
nixel 10.10.2013 16:31 # +1
crastinus 10.10.2013 16:39 # 0
nixel 10.10.2013 17:11 # +1
eth0 11.09.2013 19:37 # 0
Само собой, никому такие сложности не нужны, контроль версий часто сводится к "забэкапили на всякий, руками поправили/перенесли, сохранили, залили потребителю".
Потому, в нашей реальности, в шараге будет храниться где-то количество конфигураций по числу обслуживаемых объектов помножить на правки.
Грустно, но правда. В одной знакомой конторе именно так. Там ни небо, ни Будда не знают, что, где, как и зачем.
В восьмёрке что-то там иначе, но общая суть ада говна сохраняется.
mrbus 11.02.2014 19:17 # 0
Но штука местами ОООЧЕНЬ тормозная, остальными местами просто медлительная (10-20 секунд), и вылетает часто (приходится перезаходить в конфигуратор), в общем, как все в России - идея хорошая, реализация страдает...
eth0 11.09.2013 19:45 # 0
А вот все ссылки на него в конфигурации будут прибиты.
В любом случае, код из топика где-то лежит. Если это внешняя обработка, то пофиг на обновление базы, если внутри - его самого обновление и грохнет.
По-моему, так.
guest 13.05.2016 10:12 # 0
guest 14.09.2013 22:10 # 0
DBdev 10.09.2013 14:42 # +5
bormand 10.09.2013 15:23 # 0
Gun sell.
guest 14.09.2013 22:08 # +3
mrbus 11.02.2014 19:21 # 0
guest 13.05.2016 10:15 # 0
guest 14.09.2013 22:14 # +1
spivti 17.09.2013 13:29 # −2
kegdan 17.09.2013 14:03 # 0
rull9ss 17.09.2013 14:07 # 0
kegdan 17.09.2013 14:07 # +2
guest 28.01.2014 12:44 # −1
rull9ss 28.01.2014 16:18 # +1