Имя: Пароль:
1C
1C 7.7
v7: Пропал код, что дделать
🠗 (mishaPH 27.12.2011 08:11)
0 MixanM
 
27.12.11
07:15
столкнулся с такой ффигней, вчера выключи на работе комп, сегодня его запустил, открыл внешнюю обработку а она с№;%а люби ее конь, пустая. Кто знает как востаннавливать? или кодить по новой?
1 Mikeware
 
27.12.11
07:17
баян. Делай по новой. Тебе полезно. Тем более, что там куйня была...
2 skunk
 
27.12.11
07:18
скоро ты узнаешь про волшебную галочку автосинтаксис при сохранении ... не точно ... ну вообщем как-то так
3 Морозов Александр
 
27.12.11
07:18
есть такая фишка... а еще есть другая фишка - про проверки синтаксис контроля очищается модуль. Если не сохранился перед этим...пипец

а так то да... кодить однако по новому
4 MixanM
 
27.12.11
07:19
(1) хех, успокоил, да вообще т там код был, я его тут не публиковал, но с вашими телепатическими способностями спорить -  не буду
5 skunk
 
27.12.11
07:31
ну раз про галочку незнал .... то тут и телпатом быть не надо ... что-бы оценить код
6 guitar_player
 
27.12.11
07:32
(4) а спорить и не имеет смысла, тк. на мисте каждый уважающий человек считает, что его код это верх искусства, а все что делают другие - "куйня".
7 skunk
 
27.12.11
07:37
(6)нагло врешь
8 Mikeware
 
27.12.11
07:47
(5) да не в галочке дело... достаточно вспомнить (взглянуть) предыдущие темы ТС, чтоб понять - ему надо тренироваться и тренироваться...
9 MixanM
 
27.12.11
07:49
вообщем, для товарисчей (8) и (5) мой быдлокод :

Функция ПолучитьКодХеш(пДокумент)
   
   Если ПустоеЗначение(пДокумент) = 1 Тогда
       Возврат 0;
   КонецЕсли;
   
   лСтрЦифры    = "0123456789";
   
   лПарам1    = ДатаЧисло(пДокумент.ДатаДок);
   лПарам2    = ДатаМесяц(пДокумент.ДатаДок);
   лПарам3    = ДатаГод(пДокумент.ДатаДок);
   
   лНомерДок    = пДокумент.НомерДок;
   
   Для р = 1 По СтрДлина(лНомерДок) Цикл
       лБуква    = Сред(лНомерДок, р, 1);
       Если Найти(лСтрЦифры, лБуква) = 0 Тогда
           лНомерДок    = СтрЗаменить(лНомерДок, лБуква, "з");
       КонецЕсли;
   КонецЦикла;
   лНомерДок    = СтрЗаменить(лНомерДок, "з", "");
   лПарам4    = Число(лНомерДок);
   
   лПарам5    = ?(Метаданные.Документ(пДокумент.Вид()).РеквизитШапки("Склад").Выбран() = 1, Число(пДокумент.Склад.Код), 0);
   лПарам6    = ?(Метаданные.Документ(пДокумент.Вид()).РеквизитШапки("Клиент").Выбран() = 1, Число(пДокумент.Клиент.Код), 0);
   лПарам7    = ?(Метаданные.Документ(пДокумент.Вид()).РеквизитШапки("Субклиент").Выбран() = 1, Число(пДокумент.Субклиент.Код), 0);
   
   лПарам8    = Число(пДокумент.КоличествоСтрок());
   лПарам9    = ?(Метаданные.Документ(пДокумент.Вид()).РеквизитТабличнойЧасти("Сумма").Выбран() = 1, Число(пДокумент.Итог("Сумма")), 0);
   Если лПарам9 = 0 Тогда
       лПарам9    = ?(Метаданные.Документ(пДокумент.Вид()).РеквизитТабличнойЧасти("Всего").Выбран() = 1, Число(пДокумент.Итог("Всего")), 0);
   КонецЕсли;
   лПарамА    = ?(Метаданные.Документ(пДокумент.Вид()).РеквизитТабличнойЧасти("НДС").Выбран() = 1, Число(пДокумент.Итог("НДС")), 0);
   Если лПарамА = 0 Тогда
       лПарамА    = ?(Метаданные.Документ(пДокумент.Вид()).РеквизитТабличнойЧасти("Количество").Выбран() = 1, Число(пДокумент.Итог("Количество")), 0);
   КонецЕсли;
   
   лХешКод    = лПарам1 + лПарам2 + лПарам3 + лПарам4 + лПарам5 +
               лПарам6 + лПарам7 + лПарам8 + лПарам9 + лПарамА;
   
   Возврат лХешКод;
   
КонецФункции    //ПолучитьКодХеш()
10 MixanM
 
27.12.11
07:50
нашел из ранее сохраненного в папке внешних форм, но к сожаленью, это не все, не хватате строк, 200-300 =(
11 skunk
 
27.12.11
07:52
(9)что это?
12 GROOVY
 
27.12.11
07:55
(10) Скопируй из (9) :)
13 MixanM
 
27.12.11
07:56
(11) часть утраченного было кода, т.к. товарищи (8) и (5) нагоняют пургу , вот выложил, дабы реабилитороваться - что утраченный код, все таки должон быть восстановлен, и не очень он и хреновый
14 MixanM
 
27.12.11
07:56
(12) да не, этО не все, это только одна функция, а мне там еще 3 процедуры надо,  и морду у формы поменять всю =(
15 ParaWiz
 
27.12.11
07:56
(9) бросай пить - Метаданные.Документ(пДокумент.Вид()).РеквизитШапки("Склад").Выбран() это что ? О_о
16 0xFFFFFF
 
27.12.11
08:00
(9) открой для себя глобальную функцию глЕстьРеквизитШапки
17 0xFFFFFF
 
27.12.11
08:01
(9) И вообще что она делает - получает "уникальный код" документа?
Тогда открой для себя ЗначениеВСтрокуВнутр.
18 miki
 
27.12.11
08:01
(9)
ты бы итоги по колонкам в попытку-исключение завернул, а то ведь итог по колонке может и не храниться, несмотря на наличие самой колонки.
19 Mikeware
 
27.12.11
08:01
(11)Это - пипец...
20 MixanM
 
27.12.11
08:02
(15) как это бросай пить??? О_о, а в (9) это вполне рабочий код, и менять не собираюсь ибо : Первое правило программиста : если работает - не лезь !
21 ParaWiz
 
27.12.11
08:03
(20) тогда бросай выкладывать свой код на мисту ...
22 MixanM
 
27.12.11
08:04
так робяты, я не для критики сюда код выклал, у мя проблема, а вы кудато съехали с плоскости сабжа. Если код вам не приятен - я готов выслушать всю критику, т.к. она обоснованна, но сейчас не до этого, возможно позже я вернусь к этому допилу, но сейчас нужно наполнить бокал водой, а не рассуждать о "вода не такого цвета, а вот если был бы спирт то да, а вот если ее нагреть то была бы теплая вода и т.д."
23 MixanM
 
27.12.11
08:06
(21)я выложил чась кода - дабы вы пронялись глубоким сокровенным смыслом - что этот код имеет право на существование, сейчас это костыли, в дальнейшем привратятся в плюшки...в дальшнейшем, как звучит то...
24 1Сергей
 
27.12.11
08:06
(22) тебе уже ответили, восстановить невозможно. Есть слабая надежда, если обработка копировалась, то восстановить какой-нибудь восстанавливалкой потёртых файлов. Но, скорее всего, уже всё
25 MixanM
 
27.12.11
08:06
лан я понял, что кодить по новой, всем спасибо
26 Aleksey
 
27.12.11
08:07
(15) Код из обычной типовой 1С, например ТиС? Есть претензии?
27 ParaWiz
 
27.12.11
08:08
(22) если не для критики то для чего ?
28 Mikeware
 
27.12.11
08:08
(23) я б не сказал, что "такой код имеет право на существование".
Все-таки старайся сначала думать, а только потом - делать...
29 1Сергей
 
27.12.11
08:10
(28) да, ладн... норм код
30 filh
 
27.12.11
08:10
(0) хватит мистить, называй все своими словами, ничего не делал, как выкрутиться перед начальством.
31 ParaWiz
 
27.12.11
08:11
(26) хмм в тисе как бы для этих целей есть

Функция глЕстьРеквизитШапки(ИмяРеквизита, ВидДокумента) Экспорт    
   
   
   Если ПустоеЗначение(ИмяРеквизита) = 1 Тогда
       Возврат 0;
       
   ИначеЕсли Метаданные.ОбщийРеквизитДокумента(ИмяРеквизита).Выбран() = 1 Тогда
       Возврат 1;
       
   ИначеЕсли ПустоеЗначение(ВидДокумента) = 1 Тогда
       Возврат 0;
       
   ИначеЕсли Метаданные.Документ(ВидДокумента).РеквизитШапки(ИмяРеквизита).Выбран() = 1 Тогда
       Возврат 1;
       
   Иначе
       Возврат 0;
   КонецЕсли;
   
КонецФункции //глЕстьРеквизитШапки()
32 skunk
 
27.12.11
08:12
(13)ты скажи что данный код у тебя делает ... (а код на самом деле пурга полная ... если пытаешься получить уникальность документа ... то уникальность тебе твоя хэш не дает ... и почему не использовать просто гуид)
33 1Сергей
 
27.12.11
08:14
(31) ему там надо получать код элемента, так что для его задачи подойдёт и так
34 1Сергей
 
27.12.11
08:16
(9) я бы параметры обрезал СокрЛП и разделял каким-нибудь символом (например, "#"). А то, стоит в одном справочнике изменить длину кода и получишь огромный болт
35 skunk
 
27.12.11
08:17
(34)ты понял что делаеть данная хэша?
36 1Сергей
 
27.12.11
08:22
(35) ну, это не совсем хэш. но, в принципе, в результате функция собирает все данные документа в одну строку
37 Mikeware
 
27.12.11
08:23
(35) судя по всему, ТС не понимает даже значение слова "hash"
38 MixanM
 
27.12.11
08:33
Народ хва холиварить, код работает - остальное по..
(30) У меня нет начальства, просто обидно что бздря пропал труд целого дня
(32) Весь код делает выгрузку по продажам из внешней программы
(37) Я очень рад вашим глубоким познаниям, но честно говря, я начал изучать\юзаь одинэс с два месяца назад, до этого только на питоне и делфях писал, зато могу вас порадовать своими глубокими познаниями в беспроводных сетях, и устройства двигателя VQ20... к чему сказал, - кажому  - свое, вот будет  у меня ваш опыт кодинга в 1с, может я так же буду зеленых наставлять... про код сказал, менят не собираюсьЮ, работает и х. с ним
39 MixanM
 
27.12.11
08:34
Где моддер, утопите эту ветку, а то я похож на тролля
40 skunk
 
27.12.11
08:36
(38)я не спрашивал за весь код ... я спросил за конкретную функцию
41 zuza
 
27.12.11
12:42
(0) перехватывает сохранения ERT и хранит все версии (на случай, например, порчи ERT)
держи:
http://x-romix.narod.ru/Backup_Ert.rar