Имя: Пароль:
1C
 
А давайте создадим библиотеку алгоритмов
0 Стрелок
 
01.11.08
22:16
Не так давно в очередной раз расписывал начинающему 1С-нику алгоритм обновления конфигурации в случае внесения изменений в исходную.

Потом подумал - наверняка у каждого, кто долго и успешно занимается 1С есть такие вот накатанные схемы алгоритмов. Может поделимся в ветке? вдруг она будет того стОить и её отправят в БЗ. а потом можно будет просто ссылки давать.

Ситуаций, которые вызывают осложнения (и не только у новичков) предостаточно. Вот некоторые

1. как изменить подчинённость справочника если в нём есть записи?
2. как счёт-группу, созданную юзером сделать опять счётом и без перепроведения базы (чтобы ничего не поменялось в оборотах кроме номера счёта)?
3. как перепровести документы так, чтобы изменился (заполнился, очистился) только реквизит регистра (операции), а измерения (суммы), в т.ч. и расчитываемые при проведении не поменялись
4. как быстро восстановить автонумерацию документов, элементов справочника, так чтобы при этом сохранились номера уже выписанных.

и т.д.

я не претендую на гениальность. я не Гений ;)

просто реально людям будет проще решать вопросы. да и не прийдётся раз в неделю отвечать на вопрос "в номере документа всё время пишет "задница". как восстановить автонумерацию, заранее спасибо"

как идея?
1 ТелепатБот
 
гуру
01.11.08
22:16
2 insider
 
01.11.08
22:28
(0) идея хорошая, но чаще всего люди "не умеют" юзать поиск и читать мануалы :)
3 Стрелок
 
01.11.08
22:33
(2) гораздо проще отправить в БЗ или кинуть ссылку на страничку с такими алгоритмами, чем в сотый раз прояснять картину по пунктам.... если там будет чего непонятно - переспросят. но думаю у даже начинающего программиста хватит мозгов чтобы понять схемы и последовательность операций
4 Мимохожий Однако
 
01.11.08
22:34
(0)ИМХО, уже есть в инете.
Однако: Сначала кодер помучается сам, а потом начнет что-нибудь искать. Или долго ищет реализацию алгоритма, потом плюет и быстро ваяет сам.
5 Стрелок
 
01.11.08
22:35
(4) реализация не нужна. максимум - короткие наброски кода. а вот схема. не знаю. может привычка, но до всех схем я доходил сам. иногда долго и методом научного тыка.
6 insider
 
01.11.08
22:35
(3) не спорю :)
некоторые просто упорно задают одни и те же вопросы, даже если ответ уже есть на сайте, например
но идея все равно хорошая. предлагаю название: "хождение по граблям" :)
7 insider
 
01.11.08
22:36
(5) наверное многие так :)
8 Стрелок
 
01.11.08
22:36
(+5) опять же - чаще всего в последнее время на форуме делают наоборот. вначале подолбают вопросом а уж потом разбираются в том хламе что накидали в виде ответов.
9 Кузнецов Максим
 
01.11.08
22:41
(0) а как перепровести документ, чтобы сумма, рассчитываемая при проведении, не поменялась?
10 Стрелок
 
01.11.08
22:44
ну так что? начнём? заодно сравним схемы ;)))

вот первая. задача № 2. просто буквально на этой неделе два раза исправлял такую ошибку

итак, юзеры в режиме предприятия ввели субсчета на счёте-негруппе. После этого он стал счётом группой. в результате - старые документы не перепроводятся, новые не хотят работать, т.к. в коде жёстко прописан счёт. что делать?

для примера возьмём счёт 311 (Украина). Это счёт "расчётные счета в национальной валюте". Юзхеры сощдали 3111 и 3112. Счёт 3110 появился автоматически. Были сделаны проводки (банковские выписки) по этим новым счетам. Но при вводе операций с валютой и инкассации - 1С стала выкидывать ошибки (не программные).

Решение

делаем всё в три этапа
1. создаём в конфигураторе счёт на том уровне, где был исходный (в той же группе). В нашем примере создаём 314. С теми же субконто что и исходный естественно
2. В режиме предприятия с помощью обработки RepVal.ert (замена значений) заменяем в документах неправильные счета на правильный БЕЗ УСТАНОВКИ ГАЛКИ "ПРОВЕСТИ ДОКУМЕНТЫ"
3. пишем обработку в 10-20 строк, которая перебирает документы. При получении документа, открывается его операция и перебираются проводки. Если в дебете или кредите проводки обнаружены "неправльные" счета - они заменяются на "правильный". После прохождения по проводкам операция записывается
4. удаляются неправильные счета

почему нельзя перепроводить документы при замене значений? да потому что многие документы получают параметры проводок при проведении. При перепроведении эти параметры могут меняться, а бухгалтера уже сдали отчёты и закрыли период. Поэтому используем прямую запись в проводки операции по документу.

Если есть возможность ограничить выборку документов по виду - ещё лучше, но для успокоения лучше проверить все.

Делать это лучше естественно в монопольном режиме и с открытием транзакции
11 Стрелок
 
01.11.08
22:50
Задача № 3

Перепроведение документа без изменения сумм, расчитанных при прошлом проведении

реальная задача была не так давно. Идея алгоритма не совсем моя. На неё натолкнули на форуме.

Решение

1. в кончигураторе снимаем галку "удалять движения автоматически" у документа нужного вида
2. в модуле проведения в ОбработкаПроведения стави селектор по параметру, передаваемому через Провести(Парам)
По значению. этого параметра выполняюися следующие действия
1. если это бухгалтерия - создаётся объект "операция" и читаются проводки текущего документа. Все проводки записываются в ТЗ. Затем удаляются программно движения в операции. Перебором строк ТЗ формируются новые проводки. По ходу формирования устанавливаем в субконто (или где там надо) новые данные. Операция записывается
2. если это оперативный учёт - чуть сложнее. Узнаём какой регистр надо подправить. Создаём ТЗ под этот регистр. Дальше всё то же самое. Перебираем движения текущего документа, получаем параметры записей в регистре сделанные ранее и записываем их в ТЗ. Очищаем движения. Перебором строк в ТЗ вновь формируем движения изменяя то что нам надо.
12 Стрелок
 
01.11.08
22:51
"кончигураторе" = "конфигураторе"
13 Jolly Roger
 
01.11.08
22:51
Дело гения живет и процветает...
14 Стрелок
 
01.11.08
22:52
(13) так и знал ;)

минимум один да найдётся.

слушай - если до тебя туго дошло то что написано в сабже - твои проблемы. шёл мимо - иди дальше
15 Стрелок
 
01.11.08
22:57
(+11) последний этап - документы перепроводим своей обработкой простейшей, передавая в обработку проведения документа тот самый параметр. В обработке проведения документа, если параметр не передаётся, всё работает как обычно.

Не забудьте поставить флажок "Автоматически удалять движения" на место после обработки документов
16 ildus
 
01.11.08
22:57
(11) за это руки надо отрывать
17 Стрелок
 
01.11.08
22:58
(16) почему? поясни
18 ildus
 
01.11.08
22:59
(17) ПЕРЕПРОВЕДЕНИЕ документа БЕЗ изменения сумм, расчитанных при прошлом проведении
19 КонецЦикла
 
01.11.08
23:00
(0) Подумал что это ветка Гениталия... насторожился...
20 Стрелок
 
01.11.08
23:00
(18) что тебя насторожило?
(19) успокойся и спи дальше ;)
21 Serjant
 
01.11.08
23:07
(10) Не взлетит если есть хоть одна проводка по "неправильному" субсчету. Раньше за решение такой задачьки "специалиста" зачитывали. Ты не сдал....:)
22 Стрелок
 
01.11.08
23:12
(21) проверь. всё работает. кстати - поясни что ты имеешь в виду? ну есть проводка. мы её исправляем на "правильный" счёт. и записываем. что не так?
23 Стрелок
 
01.11.08
23:14
(21) внимательно прочитай начало 10-го поста. у меня клиенты ухитрились две недели проработать на "неправильных" субсчетах и понасоздавать дкоументво с проводками. которые прекрасно изменились и выправились ;)
24 1сМура
 
01.11.08
23:15
Рекомендовать оптимальные коды - это задача фирмы 1с. Они первую очеред заинтересованы продвиженим  программного продукта.Но в место этого документируют  для человекам киборгам. Спасибо Мисте что обясняют просто и легко.
25 Стрелок
 
01.11.08
23:15
хотя - чего это я. может я и не прав и мои схемы не есть "академические" и "утверждённые 1С". Предалагйте свои варианты. с удовольствием посмотрим я думаю все вместе и обсудим заодно. Задачи то не уникальные. если программер не ловит мух на работе - такие задачи у него возникают. хоть и не часто
26 Стрелок
 
01.11.08
23:16
(24) это к чему? идея гуано?
27 Serjant
 
01.11.08
23:27
(22) Не знаю как у тебя с RepVal.ert это сработало, надо посмотреть на ИТСках может поправили код. Не верю!
28 Стрелок
 
01.11.08
23:28
(27) невнимательно читаешь что ли? репвалом я заменяю значения ТОЛЬКО в документах не перевпроводя их после замены. в операциях и проводках - своей обработкой, алгоритм работы которой описан в том же посте.
29 Serjant
 
01.11.08
23:40
(28) Да чёт не досмотрел, как увидел эту недообработку "реплвал", так понял зачем такой геморой, легче самому поиск ссылок на объекты и их замену организовать. Но я неправ, (10) сработает.
30 Serjant
 
01.11.08
23:43
Кстати кто ещё, кроме меня :) , отправлял на 1Сру исправления для RepVal.ert?
31 Стрелок
 
01.11.08
23:44
(30) я его просто переделал и всё ;)
32 Стрелок
 
01.11.08
23:44
для себя в смысле
33 Злопчинский
 
02.11.08
01:15
простая задача-1:
- работали на экране 1024-768 или больше...
- перешли на меньший экран (в терминале например)
- как вытащить подвисшие за пределами экрана панели (календарь, калькулятор, плавающие панели, плавающее окно сообщений);
34 Asmody
 
модератор
02.11.08
01:24
(0) задумка чудесная. только реализовывать ее лучше не в ветке (она закроется и утонет), а в КЗ
35 Стрелок
 
02.11.08
01:35
(34) Материал надо вначале собрать. Обсудить. это имхо лучше в виде ветки. только чистите её от хлама. Поднимать буду. Чего вспомню своего - ещё напишу.
Сразу в КЗ - нет смысла

(33) я знаю - ты это.. пиши не стесняйся. делай как я короче ;)
36 romix
 
модератор
02.11.08
01:42
(34) Э-э-э предлагаю поставить на Мисту вики-движок....
С авторизацией только не знаю как лучше решить, чтобы не приходилось заводить отдельные логины и пароли тут и там...
37 romix
 
модератор
02.11.08
01:43
Ветку полностью не читал, но сразу поддерживаю идею Стрелка.
38 Стрелок
 
02.11.08
01:44
(36) прикольно.... только надо отслеживать чтобы миста в вики не превратилась ;)

а то понапишут всякого... в заблуд только вводить будут ;)
39 Стрелок
 
02.11.08
01:47
(+38) ещё бы добавить такое, чтобы можно было свои сообщения исправлять. А то прочитал ещё раз - много ошибок связанных с набором текста.
40 vde69
 
02.11.08
10:04
(38) только угодай что будет Гений делать?

интересно мнение по этому вопросу!
41 Стрелок
 
02.11.08
10:07
(40) а что он будет делать? он же по 8-ке специализируется.
42 Мелкий бес
 
02.11.08
10:07
(0)идея неприемлемая - при наличии шпаргалок на все случаи в среде 1С-ков резко увеличится доля грузчиков, студентов-недоучек и домохозяек
43 Стрелок
 
02.11.08
10:14
(42) да ладно...... человек ни белмеса не смыслящий ничего всё равно не поймёт.
44 Мелкий бес
 
02.11.08
10:18
(43)знания должны быть получены самостоятельно, на их основе сформированы умения, в результате практики трансформированные в устойчивые навыки
готов ли ты променять свой путь освоения 1С на сборник готовых рецептов ?
45 Стрелок
 
02.11.08
10:22
(44) вот блин... ну раз такой логике следовать - то нах этот форум вообще нужен?

есть просто задачи, которые решаются неявными способами. Дойти до которых можно через опыт, трах и время. Это время можно сэкономить. Желающие - могут осваивать сами премудрости. Спешашие - по ссылке пошли, посмотрели....

как вы не врубитесь. это не только для "молодых".

ЗЫ. Лучше бы выкладывали интересные схемы разрешения проблемных вопросов
46 Asmody
 
модератор
02.11.08
10:26
(36) если вики-двиг опенсорс, то прикрутить какую-либо авторизацию - дело кода. только сначала авторизацию самой мисты поправить надо.
(38) в КЗ это можно делать. она и задумывалась как вики
47 Мелкий бес
 
02.11.08
10:27
(45) форум - для получения ответов на правильно сформулированные вопросы и ОФФ
48 vde69
 
02.11.08
10:28
(45) тогда нужна система, типа "мастер".

то есть интерактивные вопросы с вариантами ответов (тапа как в винде "устранение проблеммы")

а про Гения - ты зря так думаешь, во первых и на 7 он могет, а во вторых я образно, ведь начнут пихать всякую фигню, весь синтаксис помошник можно впендюрить туда
49 vde69
 
02.11.08
10:31
(48)+ развивая идею:

нужна система НЕ древовидной иерархии, тоесть, что-бы цепочка приводящая к ответу могла быть разная
50 Стрелок
 
02.11.08
10:31
(47) про ОФФ особенно в последнее время я заметил....

"полная и правильная форпмулировка вопроса = 50% ответа" - фраза расхожая.

Ответь мне на чётко поставленный вопрос :

"Как изменить подчинённость справочника, если в нём есть введённые элементы"
51 Стрелок
 
02.11.08
10:32
(49( имхо слишком сложно и запутанно. будем только это и делать - систему разрабатывать
57 Guk
 
02.11.08
10:42
+(52) Так же, автор замечен не только как гениальный специалист по 1С, но и как исключительно добрый, вежливый человек и коллега...
58 Стрелок
 
02.11.08
10:43
блин люди как люди нет. появится такое чмо и начинает вонять
59 Мелкий бес
 
02.11.08
10:44
(50) для ответов на вопросы у меня есть другой позывной :)
60 vde69
 
модератор
02.11.08
10:45
хватит, ветка тематическая, за флуд буду банить
61 dangerouscoder
 
02.11.08
10:51
(0) Предлагаю создать справочную систему подобную ЕСИС и каждую неделю выкладывать новые сборки
Единственный гемор который вижу это индексация алгоритмов и факов
62 Стрелок
 
02.11.08
10:55
"каждую неделю выкладывать новые сборки" - достаточно предусмотреть схему когда любой может добавить свой алгоритм

придумать классификацию и всё-таки древовидную структуру фака
63 dangerouscoder
 
02.11.08
11:16
(62) Дерево не проблемно построить по набору связных ключевых слов по типу "королевство delphi"
а потом собрать все это дело с книгами и справочной системой в один файл ИМХО удобно когда под рукой нет инета
64 Стрелок
 
02.11.08
11:18
народ. хватит обсуждать как будет выглядить то чего ещё нет. выкладывайте алгоритмы
65 zxcvb
 
02.11.08
11:40
(0)
Зачем?
Есть же уже http://www.forum.mista.ru/index.php?kb=1 и http://www.kb.mista.ru/
И поиск там наверное работает...

(62)
И фак кто этот фак читать будет.
http://funnypicture.zoda.ru/bd/2007/10/06/ded248a83bceb515b72ca50d06a96e93.jpg
идеалист...
66 Гений 1С
 
гуру
02.11.08
11:43
У меня есть библиотека продвинутых функций. Это конечно не библиотека алголов, но все же.
67 Стрелок
 
02.11.08
11:44
(65) я не встречал подборку алгоритмов решения задач подобных сабжу. если есть - кинь ссылку. Если есть - ветку в топку.
68 Стрелок
 
02.11.08
11:44
(66) знаю
69 zxcvb
 
02.11.08
11:47
Если и нужна - то библиотека бланков. Всяких там МХ и прочей полуэкзотики... с индексом по формальному их названию. Вот это часто нужно.
70 Стрелок
 
02.11.08
11:49
(69) согласен - инициируй

ЗЫ. сам ищё торговые отчёты типа ТОРГ-12 (кажется). клиент всунул кучу банков на ..дцати страницах. информации (цифр) хрен да нихрена а текста набирать чтобы бланк был 1:1 заколебаешься. оттягиваю исполнение по полной
71 Стрелок
 
02.11.08
11:54
что у меня по бланкам есть
1. весь комплект документов СТО
2. путевые листы (внутренние, загранка)


это то что вспомнил навскидку
72 Злобный Фей
 
02.11.08
12:15
Идея хреновая. Если бы не v7, то подумал на гениталия... Но дитер вроде не дурак. Нахрена?
73 Стрелок
 
02.11.08
12:19
(72) я уже и сам сомневаюсь в адекватности идеи судя по реакции некоторых посетителей на неё... ну и фик с ней. в топку так в топку.... будем сидеть и держать ноу-хау в себе. я всё сказал
74 у лю 427
 
02.11.08
14:54
(72) дитер не дурак... Он толпоопппп......
75 Песец
 
02.11.08
15:09
(0) "Все уже украдено до нас" (с)

Читайте
http://www.sinor.ru/~my1c/knowhow.html#SPR

В частности, идея решения на (50) вот здесь
http://www.sinor.ru/%7Emy1c/knowhow/pod_spr.html
76 The gray Cardinal
 
02.11.08
15:31
(65) А почему в базе знаний только 9 страниц?
77 Guk
 
02.11.08
16:45
(75) Это слишком просто. Это просто фак. Ответы на вопросы, которые лет восемь назад интересовали людей. А у дитора эти вопросы - ноу хау. Разницу чувствуешь? То то...
78 Песец
 
02.11.08
22:45
(0) "...много хорошего и нового, но то что новое - то не хорошо, а то что хорошее - не ново."
(с) Как-то так, не могу вспомнить кто автор.
79 sam_sam
 
02.11.08
23:00
(0) бессмысленная затея.
то что ты сейчас сделаешь через 2 года уже никому не надо будет.
Если чел разобраться самостоятельно не может, как обновлять конфу, гони его в шею.
80 zxcvb
 
03.11.08
00:04
(76) Потому как похоже, что это никому не нужно. Мне вот бланки нужны, может быть будут, когда-нибудь...
И Дитер соглашается, но сам делать не хочет. Не такой уж идеалист, этот карась...
81 The gray Cardinal
 
03.11.08
00:15
(80) По-моему, это как-то с тормозами и глюками форума связано. База знаний реально (была) большая, но она почему-то не отображается.
И кстати, жалко очень. Т.к. идея эта ОЧЕНЬ хорошая. Уверен, что многие сказали бы спасибо. Это та же самая вики получается, но которая заполняется "автоматом": кто-то дал удачный ответ, щелчок мыши модератора, и готова микро-статья. Это ведь блестящее ноу-хау получается - самопополняющаяся энциклопедия :).
83 Ацкий Сотона
 
03.11.08
01:11
(74) +1
А за ввод юзерами нового субчета руки поотрывать, в том числе и внедрителям.
Дебилы.
Не знаю, как в хохлосраче, но у нас есть такое понятие как субконто (аналитика)
84 Ацкий Сотона
 
03.11.08
01:46
(81) Ее почистили, всякие генитальные типа Гения и Ромикса запакостили
85 The gray Cardinal
 
03.11.08
14:35
(84) Не думаю. Там раньше за сотню страниц было, а теперь - девять.
AdBlock убивает бесплатный контент. 1Сергей