|   |   | 
| 
 | v7: Нашел вот такой веселый кусок кода. Что за вообще, подскажите плиз | ☑ | ||
|---|---|---|---|---|
| 0
    
        Double_Medved 16.09.13✎ 17:45 | 
        1с 7.7 ТиС, дописанная. Программист что-то там дописал, потом остатки конкретно поплыли и его уволили. В частности он переписывал обработку проведения КорректировкиПартий, и самолично делал сам этот документ. И вот что я там нашел:
 Для Номер = 1 По Метаданные.Регистр() Цикл ОчиститьДвижения("Регистр."+Метаданные.Регистр(Номер).Идентификатор); КонецЦикла; Подскажите, так и надо? Это нормальная ситуация в корректировке партий? Этот код удаляет все движения регистров или что вообще? | |||
| 8
    
        Злопчинский 16.09.13✎ 17:59 | 
        В типовй ТиС что-то яне припомню штатного документа "КорректировкаПартий"     | |||
| 9
    
        mikecool 16.09.13✎ 17:59 | 
        (0) использование этого куска приводит к "плавающим" остаткам, выпадению волос в подмышках, облысению ежиков... так что учти на будущее     | |||
| 10
    
        Злопчинский 16.09.13✎ 18:01 | 
        (0) чтобы остатки поплыли по вине программиста1С и его за это уволили? - ну в конторе очень сильный бардак должен быть.
 . скорее всего ему надоело сопли за всеми утирать и подгузники менять (что какбэ свидетельствует документ "корректировкаПартий"), а тямы/желания/возможности выпилить более-менее нормальный учет - у него не было... | |||
| 11
    
        Злопчинский 16.09.13✎ 18:02 | 
        (7) с учетом вопроса в (0) смотрите в хронике "дежурной части".. сегодня ночью.. не приходя в сознание.. умер программист 1С дубл-медведь...     | |||
| 12
    
        Сияющий Асинхраль 16.09.13✎ 18:05 | 
        (10) Да, когда был молодым, глупым, тоже разок пытался так остатки выровнять, пришел к выводу, что надо не корректировку использовать, а руки менеджерам повыдергивать, больше толку будет...     | |||
| 13
    
        Classic 16.09.13✎ 18:10 | 
        (10)
 Все-таки когда в базе бардак, есть смысл сделать подобный документ. Один раз | |||
| 14
    
        Злопчинский 16.09.13✎ 18:10 | 
        (12) я первым делом нахрен зарубаю работу задним числом. 90% проблем уходят... главное - после зарубления заднего числа - продержаться первую неделю.. ;-)     | |||
| 15
    
        Classic 16.09.13✎ 18:11 | 
        А вот когда подобный документ введен в систему, то ничего "раньше" менять уже нельзя. иначе партии "поплывут". похоже именно такое и произошло. А вс*алась нэвистка:)     | |||
| 16
    
        Злопчинский 16.09.13✎ 18:11 | 
        (13) возможно. но остатки от этого не едут... обычно...     | |||
| 17
    
        Zamestas 16.09.13✎ 18:14 | 
        (16) Видимо там не в ТиС'е проблема.     | |||
| 18
    
        Classic 16.09.13✎ 18:16 | 
        (16)
 Я имею ввиду, что этот документ как раз для фиксирования остатков партий на определенный момент и нужен. Чтоб не заносить остатки на какой-то выверенный после бардака период - они откоректируются данным документом. Дальнейшее использование данного документа исключить, как и любые операции. проведенные более ранним числом | |||
| 19
    
        Злопчинский 16.09.13✎ 18:23 | 
        (18) угу     | |||
| 20
    
        Злопчинский 16.09.13✎ 18:23 | 
        но имхается мне, что проблемы здесь не в программитсе 1С.. ;-)     | |||
| 21
    
        Double_Medved 16.09.13✎ 18:32 | 
        Да я не валю на другого, честно. Просто объясняю что я пришел когда все было криво и что-то дописано, и работаю с тем что есть. Если не разгребу - получу по башке, всне зависимости от того, как работал предыдущий программист, значит надо разгрести. Валить на других - согласен, это не правильно     | |||
| 22
    
        Double_Medved 16.09.13✎ 18:35 | 
        Вопрос возник что не смогли продать один товар, я глянул - а он списан документом корректировка партий, а в реальности на складе есть. Вот и подумал что в корректировке какая-то собака зарыта     | |||
| 23
    
        Double_Medved 16.09.13✎ 18:37 | 
        Также в отчете о движениях документа корректировка партий есть типа (+3 телевизора L1, -3 телевизора L1, и так 10 раз). Неволей задумаешься, что тут что-то нечисто     | |||
| 24
    
        Zamestas 16.09.13✎ 18:39 | 
        (22) Для начала нужно понять, для чего именно нужен был документ КорректировкиПартий.     | |||
| 25
    
        Злопчинский 16.09.13✎ 18:39 | 
        (22) значит корректировка партий корректирует не только партии, но и остатки. в случае если по партиям криво, но остатки ок (наприаер партий меньше чем остатков) - типовая ТиС все равно даст продать.     | |||
| 26
    
        Double_Medved 16.09.13✎ 18:41 | 
        (25) остатки она тоже затронула, в том и дело     | |||
| 27
    
        Zamestas 16.09.13✎ 18:41 | 
        (25) Вроде должна ругаться на невозможность распределить по партиям.     | |||
| 28
    
        Double_Medved 16.09.13✎ 18:42 | 
        (24) проблема в том что никто вообще в конторе не в курсе зачем была сделана корректировка партий, и делал ее сам программист, а не менеджер там и не бухгалтер     | |||
| 29
    
        Double_Medved 16.09.13✎ 18:42 | 
        Собственно позвольте представить саму обработку проведения, комментариев почти нет, и буду очень благодарен тому кто сможет вкратце объяснит что тут делается:
 Процедура ОбработкаПроведения(ВидыДвижений) Для Номер = 1 По Метаданные.Регистр() Цикл ОчиститьДвижения("Регистр."+Метаданные.Регистр(Номер).Идентификатор); КонецЦикла; РегПартий = СоздатьОбъект("Регистр.ПартииНаличие"); ТаблПеремещений = СоздатьОбъект("ТаблицаЗначений"); Док = СоздатьОбъект("Документ"); Табл = СоздатьОбъект("ТаблицаЗначений"); Табл.НоваяКолонка("Номенклатура"); Табл.НоваяКолонка("Партия"); Табл.НоваяКолонка("ПартияКод"); Табл.НоваяКолонка("Количество"); Если ТипЗначенияСтр(ЗначениеИзСтроки(СтрокаПеремещений))="ТаблицаЗначений" Тогда ТаблПеремещений.Загрузить(ЗначениеИзСтроки(СтрокаПеремещений)); Иначе СтатусВозврата(0); Возврат; КонецЕсли; ТаблПеремещений.Выбратьстроки(); Пока ТаблПеремещений.ПолучитьСтроку()=1 Цикл Док.НайтиДокумент(ТаблПеремещений.ПеремещениеТМЦ); РегПартий.ВыбратьДвиженияДокумента(Док.ТекущийДокумент()); Пока РегПартий.ПолучитьДвижение()=1 Цикл Если РегПартий.Приход=1 Тогда Табл.НоваяСтрока(); Табл.Номенклатура = РегПартий.Номенклатура; Табл.Партия = РегПартий.Партия; Табл.ПартияКод = СокрЛП(РегПартий.Номенклатура.Код)+"_"+ СокрЛП(РегПартий.Партия.Код); Табл.Количество = РегПартий.Количество; КонецЕсли; КонецЦикла; КонецЦикла; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ДатаДок по ДатаДок; |ФирмаЗ = Регистр.ПартииНаличие.Фирма; |МОЛ = Регистр.ПартииНаличие.МОЛ; |Номенклатура = Регистр.ПартииНаличие.Номенклатура; |Партия = Регистр.ПартииНаличие.Партия; |ДатаПартии = Регистр.ПартииНаличие.ДатаПартии; |СтатусПартии = Регистр.ПартииНаличие.СтатусПартии; |Количество = Регистр.ПартииНаличие.Количество; |СуммаУпр = Регистр.ПартииНаличие.СуммаУпр; |СуммаРуб = Регистр.ПартииНаличие.СуммаРуб; |СуммаБезНДС = Регистр.ПартииНаличие.СуммаБезНДС; |СуммаПлат = Регистр.ПартииНаличие.СуммаПлат; |Функция КокОстКоличество = КонОст(Количество); |Функция КокОстСуммаУпр = КонОст(СуммаУпр); |Функция КокОстСуммаРуб = КонОст(СуммаРуб); |Функция КокОстСуммаБезНДС = КонОст(СуммаБезНДС); |Функция КокОстСуммаПлат = КонОст(СуммаПлат); |Группировка ФирмаЗ без групп; |Группировка МОЛ без групп; |Группировка Номенклатура без групп; |Группировка Партия; |Группировка ДатаПартии; |Условие(Номенклатура в ГруппаНоменклатура); |Условие(СтатусПартии = Перечисление.СтатусыПартии.Т_Купленный); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; ТаблОст = СоздатьОбъект("ТаблицаЗначений"); ТаблОст.НоваяКолонка("Номенклатура"); ТаблОст.НоваяКолонка("ТаблМОЛ"); Пока Запрос.Группировка(1) = 1 Цикл Пока Запрос.Группировка(2) = 1 Цикл Пока Запрос.Группировка(3) = 1 Цикл Пока Запрос.Группировка(4) = 1 Цикл Пока Запрос.Группировка(5) = 1 Цикл КодПартии = СокрЛП(Запрос.Номенклатура.Код)+"_"+ СокрЛП(Запрос.Партия.Код); МСтрока = ""; Если Табл.НайтиЗначение(КодПартии,МСтрока,"ПартияКод")=0 Тогда Регистр.ПартииНаличие.Фирма = Запрос.ФирмаЗ; Регистр.ПартииНаличие.Мол = Запрос.Мол; Регистр.ПартииНаличие.Номенклатура = Запрос.Номенклатура; Регистр.ПартииНаличие.СтатусПартии = Перечисление.СтатусыПартии.Т_Купленный; Регистр.ПартииНаличие.Партия = Запрос.Партия; Регистр.ПартииНаличие.ДатаПартии = Запрос.ДатаПартии; Регистр.ПартииНаличие.Количество = Запрос.КокОстКоличество; Регистр.ПартииНаличие.СуммаУпр = Запрос.КокОстСуммаУпр; Регистр.ПартииНаличие.СуммаРуб = Запрос.КокОстСуммаРуб; Регистр.ПартииНаличие.СуммаБезНДС = Запрос.КокОстСуммаБезНДС; Регистр.ПартииНаличие.СуммаПлат = Запрос.КокОстСуммаПлат; Регистр.ПартииНаличие.КодОперации = Перечисление.КодыОпераций.Прочее; Регистр.ПартииНаличие.ДвижениеРасходВыполнить(); Иначе Табл.ПолучитьСтрокуПоНомеру(МСтрока); Если не(Табл.Количество = Запрос.КокОстКоличество) Тогда Сообщить(Табл.Номенклатура); Сообщить(Табл.Партия); КонецЕсли; МСтрока = ""; Если ТаблОст.НайтиЗначение(Запрос.Номенклатура,МСтрока,"Номенклатура")=0 Тогда ТаблМОЛ = СоздатьОбъект("ТаблицаЗначений"); ТаблМОЛ.НоваяКолонка("Количество"); ТаблМОЛ.НоваяКолонка("МОЛ"); ТаблОст.НоваяСтрока(); ТаблОст.Номенклатура= Запрос.Номенклатура; ТаблОст.ТаблМОЛ = ТаблМОЛ; Иначе ТаблОст.ПолучитьСтрокуПоНомеру(МСтрока); КонецЕсли; ТаблОст.ТаблМОЛ.НоваяСтрока(); ТаблОст.ТаблМОЛ.МОЛ = Запрос.МОЛ; ТаблОст.ТаблМОЛ.Количество = Запрос.КокОстКоличество; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ДатаДок по ДатаДок; |ФирмаЗ = Регистр.ОстаткиТМЦ.Фирма; |Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура; |Склад = Регистр.ОстаткиТМЦ.Склад; |ЦенаПрод = Регистр.ОстаткиТМЦ.ЦенаПрод; |Количество = Регистр.ОстаткиТМЦ.Количество; |Функция КокОстКоличество = КонОст(Количество); |Группировка ФирмаЗ без групп; |Группировка Номенклатура без групп; |Группировка ЦенаПрод; |Группировка Склад без групп; |Условие(Номенклатура в ГруппаНоменклатура); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; СпрСкл = СоздатьОбъект("Справочник.Склады"); Пока Запрос.Группировка(1) = 1 Цикл Пока Запрос.Группировка(2) = 1 Цикл Пока Запрос.Группировка(3) = 1 Цикл МСтрока = ""; Если ТаблОст.НайтиЗначение(Запрос.Номенклатура,МСтрока,"Номенклатура")=1 Тогда ТаблОст.ПолучитьСтрокуПоНомеру(МСтрока); ТаблОст.ТаблМОЛ.Свернуть("МОЛ","Количество"); ТаблОст.ТаблМОЛ.ВыбратьСтроки(); Пока ТаблОст.ТаблМОЛ.ПолучитьСтроку() = 1 Цикл Если ПустоеЗначение(ТаблОст.ТаблМОЛ.МОЛ)=1 Тогда СпрСкл.НайтиПоКоду("00015"); Иначе СпрСкл.НайтиПоРеквизиту("МОЛ",ТаблОст.ТаблМОЛ.МОЛ,1); КонецЕсли; Регистр.ОстаткиТМЦ.Фирма = Запрос.ФирмаЗ; Регистр.ОстаткиТМЦ.Склад = СпрСкл.ТекущийЭлемент(); Регистр.ОстаткиТМЦ.Номенклатура = Запрос.Номенклатура; Регистр.ОстаткиТМЦ.ЦенаПрод = Запрос.ЦенаПрод; Регистр.ОстаткиТМЦ.Количество = ТаблОст.ТаблМОЛ.Количество; Регистр.ОстаткиТМЦ.ДвижениеПриходВыполнить(); КонецЦикла; КонецЕсли; Пока Запрос.Группировка(4) = 1 Цикл Регистр.ОстаткиТМЦ.Фирма = Запрос.ФирмаЗ; Регистр.ОстаткиТМЦ.Склад = Запрос.Склад; Регистр.ОстаткиТМЦ.Номенклатура = Запрос.Номенклатура; Регистр.ОстаткиТМЦ.ЦенаПрод = Запрос.ЦенаПрод; Регистр.ОстаткиТМЦ.Количество = Запрос.Количество; Регистр.ОстаткиТМЦ.ДвижениеРасходВыполнить(); КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецПроцедуры //ОбработкаПроведения() | |||
| 30
    
        Classic 16.09.13✎ 18:42 | 
        (26)
 Поинтересуйся пойди зачем вводился данный документ в системы(кто был инициатором) и кто заносил данные в сам документ. потому как не разберешься. Наверняка там большинство движений правильные | |||
| 31
    
        Злопчинский 16.09.13✎ 18:43 | 
        (21) > Если не разгребу - получу по башке, всне зависимости от того, как работал предыдущий программист, значит надо разгрести.
 . бросай нахрен такой подход. . одно дело если ты разгребаешь кривой код и наследие прошлого программиста. Если ты начинаешь разгребать кривизну УЧЕТА, остатков и прочего аналогичного - не стесняйся, ломи ЗП по полной - такаие работы вообщем - НВЕДЕНИЕ ПОРЯДКА 9вспомни кино Криминальное чтиво) - должны стоить дорго. Делать их только за то, чтобы "..не получить по башке" - себя не уважать. . да, может быть ситуевина, когда работа 1сника была направлена тупо на один кодинг, а усилий на обсепечение порядка мало-мальского предыдущий прог не прилагал (тут хз, издалека нам не видно) - и теперь во всех траблах венять 1Сника... | |||
| 32
    
        Злопчинский 16.09.13✎ 18:44 | 
        (30) да стопудово 1Сник все это заносил/генерил. или ты думаешь что из стада офисных абизян есть реально способные люди выправлять учет если его запустили до такой степени..?     | |||
| 33
    
        Classic 16.09.13✎ 18:44 | 
        (32)
 Согласен, что одинэсник. Который оказался виноват в том, что еще и учет пытался наладить :) | |||
| 34
    
        Double_Medved 16.09.13✎ 18:45 | 
        (30) его делал сам программист предыдущий (и сам код, и сам по себе документ). Программист больше не работает и связи с ним нет. А больше никто не в курсе зачем был сделан документ. Тут нужен Шерлок Холмс, чтобы понять, зачем был сделан документ     | |||
| 35
    
        Double_Medved 16.09.13✎ 18:48 | 
        (33) да мне правда пофигу уже, кто виноват. Умные люди на этом форуме научили так относиться. Но вот подходит бухгалтер - выясняется что корректировка списала дорогой товар (тысячь на 50), который в реальности есть на складе. Типа это ошибка и надо узнать почему корректировка это списала. И вот я что-то хрен пойму почему она это списала и почему вообще она повлияла на остатки. Разве это нормально когда корректировка влияет на остатки?     | |||
| 36
    
        Zamestas 16.09.13✎ 18:48 | 
        (34) Я так понял - документ этот один? Или их несколько (чем отличаются)? + За какой он(и) период.     | |||
| 37
    
        Злопчинский 16.09.13✎ 18:48 | 
        (34) не нужен тут холмс. итак все понятно. такие документы становятся нужны тогда, когда в конторе бардак, прогу юзают как печмаш безо всякой оглядки на правила/методику.
 . возможен вариант когда в конторе развеситсая интеркампани, учетом и ведением которйо никто не занимался. и это с горем пополам тянул прог. в результате вылилось в ожидаемую бяку... . | |||
| 38
    
        Double_Medved 16.09.13✎ 18:49 | 
        (36) документ такой один проведенный и несколько помеченных на удаление     | |||
| 39
    
        zak555 16.09.13✎ 18:49 | 
        (0) для отладки     | |||
| 40
    
        Злопчинский 16.09.13✎ 18:49 | 
        (35) по БУ не менее раза в год должна быть инвентаризация. еслии ее не делали - ССЗБ.     | |||
| 41
    
        Double_Medved 16.09.13✎ 18:50 | 
        (36) документ почти двух годовалой давности. Такое дело что некоторые товары залеживаются на года и только сейчас выясняется что они списаны корректировкой. При этом как-то дико лезть в такой старый документ...     | |||
| 42
    
        Zamestas 16.09.13✎ 18:50 | 
        (36) От какого числа док?     | |||
| 43
    
        Double_Medved 16.09.13✎ 18:51 | 
        (40) что такое ССЗБ?     | |||
| 44
    
        Double_Medved 16.09.13✎ 18:51 | 
        (42) два года назад сделан     | |||
| 45
    
        Злопчинский 16.09.13✎ 18:51 | 
        (35) > Но вот подходит бухгалтер - выясняется что корректировка списала дорогой товар (тысячь на 50), который в реальности есть на складе.
 / 1 вежливо но настойчиво послать бухгалтера с атими вопросами в то место из которого мы все вышли... с вопросами что и почему - В СЛОЖИВШЕЙСЯ ситуации - (отпихивайся нахрен как можешь на люьые вопросы почему такие остатки ки то так сделал ипочему так вышло) - к людям, ответсвенным за товародвижение и УЧЕт - прог1С явно не из их числа. . иначе - зачиморишься вдребезги. | |||
| 46
    
        Злопчинский 16.09.13✎ 18:51 | 
        Сами Себе Злобные Буратины     | |||
| 47
    
        Double_Medved 16.09.13✎ 18:51 | 
        (42) 10.10.2010     | |||
| 48
    
        Песец 16.09.13✎ 18:52 | 
        (0) "Программист что-то там дописал, потом остатки конкретно поплыли ".
 Ага, все было в шоколаде, но откуда-то появился злой программист и все испортил. Беги оттуда. Судя по вопросу у тебя нет ни квалификации, ни опыта работы с бушками/манагерами. | |||
| 49
    
        Zamestas 16.09.13✎ 18:52 | 
        Такое дело что некоторые товары залеживаются на года и только сейчас выясняется что они списаны корректировкой. 
 100% - (37) | |||
| 50
    
        Злой Бобр 16.09.13✎ 18:53 | 
        (21) Крайним будешь полюбому. Наглядный пример твой бывший программист. Возможно он тоже пытался как мог навести порядок. Но несложилось.     | |||
| 51
    
        Double_Medved 16.09.13✎ 18:53 | 
        Чтобы выправить остатки (1с с реальностью не сходится, блть), я предложил сделать инвентаризацию но главный бухгалтер хочет  перерыть документы прошлых лет чтобы найти ошибки. Даже не знаю что по этому поводу сказать     | |||
| 52
    
        Zamestas 16.09.13✎ 18:55 | 
        (51) Дык флаг ей в руки - пусит роет. А инвентаризацию делать в любом случае надо будет + когда последняя была проведена?     | |||
| 53
    
        Злопчинский 16.09.13✎ 18:55 | 
        если товар на 50 тыс лежал два года и теперь его не смогли продать - и это прост офигеть какой ущерб для фирмы и реноме перед клиентами - то в конторе вообще полный мутняк. Люди вообще там судя по всему тотально мутные.
 . как могли впихнуть впродажу - попытаться продать - товар которого нет на остатке? - непоянтно!!! . если товар продают по факут - взяли с витрины/со склада/итд и теперь надо его "выписать" в программе - но не получается - но это офигеть как важно и надо продать - то что мешало ВРЕМЕННО на 5 минут отключить контроль остатков, провести докумер и вклбючить назад..? Непонятно!! . имхо - пипл в конторе мутный, учет не ведется, возможностей проги не знают, никто ничему не учил, а теперь хотят чтобы было все красиво... . нахрен!!! срочно нахрен!! если не нахрен - то только за большие деньги разгребать это гуано!! за существенно большую ЗП хотя бы на пару первых месяцев. | |||
| 54
    
        Zamestas 16.09.13✎ 18:55 | 
        *пусть роет     | |||
| 55
    
        Злопчинский 16.09.13✎ 18:56 | 
        (51) главному бузгалтеру тонко намекни - что ВЕСТИ УЧЕТ ПРАВИЛЬНО - гораздо дешевле во всех смыслах, чем потом копать и заниматься лизингом     | |||
| 56
    
        Песец 16.09.13✎ 18:57 | 
        (51) Да нивапрос: пусть поднимают первичку и набивают за  все прошлые года в чистую базу. Потом ты сравниваешь правильную базу с той что есть - и вот они ошибки!
 А что это даст спроси? Ну выяснят что пять лет назад манагер Вася Иванов накосячил, и какой с этого профит? | |||
| 57
    
        Double_Medved 16.09.13✎ 18:57 | 
        (53) "то что мешало ВРЕМЕННО на 5 минут отключить контроль остатков, провести докумер  и вклбючить назад..? Непонятно!! " Я был в полном афиге но у них до меня не стоял контроль отрицательных остатков (то есть стояло "не учитывать"), и они местами напродавали в минус!     | |||
| 58
    
        Злопчинский 16.09.13✎ 19:00 | 
        (57) напродовали? напродовали! значит товар был!! в учете - херня полная!!     | |||
| 59
    
        Zamestas 16.09.13✎ 19:01 | 
        (57) Когда последняя была инвентаризация?     | |||
| 60
    
        Double_Medved 16.09.13✎ 19:01 | 
        ТАМ такооой косяк... Реализация настроена так что в шапке указывается "главный склад", а в табличной части указываются серийные номера, и по ним 1с ищет реальное местоположение товара и списывает типа с "склада номер 1" и "склада номер 2". То бишь списание одним документом с нескольких складов!НО! БЛТЬ! было не обязательно заполнять серийные номера, их и не заполняли, в итоге без серийника 1с не могла найти реальное местоположение товара и от безисходности списывала с "главного склада", когда реально товар был на "складе номер 2", естественно, списывал в минус, БЛДЖАД!     | |||
| 61
    
        Double_Medved 16.09.13✎ 19:02 | 
        (59) 2 года назад     | |||
| 62
    
        Double_Medved 16.09.13✎ 19:02 | 
        (60) списывалось в минус да еще и с неверного склада!     | |||
| 63
    
        Песец 16.09.13✎ 19:09 | 
        (60) В реальности (физически) сколько складов?     | |||
| 64
    
        Double_Medved 16.09.13✎ 19:12 | 
        (63) 4 склада.     | |||
| 65
    
        Double_Medved 16.09.13✎ 19:12 | 
        Пойду-ка домой, потом обязательно прочитаю если кто-то напишет и надеюсь продолжить тему завтра, надеюсь на помощь форумцев в разбирании кода, которую неоднократно получал и я благодарен вам за это     | |||
| 66
    
        Zamestas 16.09.13✎ 19:15 | 
        (60) Поздравляю - решить проблему сможет написание весьма хитрой процедуры проведения реализации (а если есть поступление товара после реализации - то ооочень хитрую) и перепроведением доков за 2 года.     | |||
| 68
    
        Песец 16.09.13✎ 19:20 | 
        (64) И кто подписывал накладную? МОЛ один на всех складах что ли? По-видимому манагеры потребовали "вот мля сейчас покупаетель уйдет, мы на тебя все свесим, надо срочно напечатать, а потом обязательно заполним номера".
 Имхо, инвентаризация тмц до конца этой недели, до конца года инвентаризация расчетов. С 1 января начинать новую жизнь. Копаться в этом бардаке это зп раза в три хотя бы выше чем у тебя сейчас. | |||
| 69
    
        ХрюнМанюн 16.09.13✎ 19:21 | 
        Первый раз вижу что уволили за поправимую ошибку толкового прога, а взамен взяли неопытного и криворукого.     | |||
| 70
    
        Eugeneer 16.09.13✎ 19:22 | 
        Хотя по (29) правильно что уволили. 
 В семерке в обработке проведения использовать запрос - полный дибил только мог написать. | |||
| 72
    
        Злопчинский 16.09.13✎ 19:27 | 
        (70) женя, а как допустим решить задачу: есть документы реализации (обынче накладные). есть транспортные накладные, которые могут в себя включать несколько реализаций. требуется обсепечить контроль - чтобы одна реализация не смогла попасть более в чем одну транспортную накладную. Операции с транспортными накладными - могут быть все, какие возможны - удаление реализаций из транспортных накладных, добавление в транспортные накладные и т.д.
 . как бы решить красиво? . пок аничего более путного чем организовать регистр сведений и при проведении транспортной накладной фиксировать реализацию в транспортной накладной, а при проведении - выбирать итоги из регистра сведений... ?? | |||
| 73
    
        Eugeneer 16.09.13✎ 19:30 | 
        (72) нафига извращения. обычный запрос. 
 У тебя полный аналог работы счетфактур. когда при записи реализации идет проверка и тп на наличие существующей сф. Тот же принцип. | |||
| 74
    
        Eugeneer 16.09.13✎ 19:31 | 
        фунция с запросом в 10 строк возвращающая ссылку либо неопределено если нет ни одной транспортной и сикомой реализацией.     | |||
| 75
    
        Eugeneer 16.09.13✎ 19:32 | 
        Ну хоч регистр сделай. Ведь тоже решение.     | |||
| 76
    
        Злопчинский 16.09.13✎ 19:38 | 
        (73) не, идея по контролю СФ - не катит. сильно много писать во всяких местах, потому как ТНки могут генериться программно и единсвенный вменяемый гарнатированный способ - это контроль на то что реализация уже зантяа в другой Тнке - это контроль при проведении... а контроль при проведении - это регистр (в проведении писать флажки в справочники/документы - мне не нравится... еслои строить регистр сведений - то измерений не будет, соответсвенно итоги тупо не вытащить - только запросом - в модуле проведения...? регистр остатков заюзывать - хреново, надо обеспечивать закрытие... оборотный регистр - тож не пойдет... бяково-как-то...     | |||
| 77
    
        Сердитый Кош 16.09.13✎ 19:49 | 
        (57) Ну и что тут фигеть? Мне попадались такие главбухи которые просили отключить контроль, чтобы не налаживать криворукий учет. Удобнее им так. И ни какие предупреждения о последствиях не помогают. А потом через год случись что - ну первый раз она об этом слышит, святая невинность. И будет такие сказки новому программисту рассказывать...     | |||
| 78
    
        Double_Medved 16.09.13✎ 19:52 | 
        Ох за чтож меня криворуким то 100 раз обозвали. Код я там пока особо не правил, вот хотел по поводу того каким образом править посоветоваться на форуме. А тот код который я скинул - однако не мой.     | |||
| 79
    
        Double_Medved 16.09.13✎ 19:53 | 
        Спасибо тем кто подавал идеи, такие как (66)     | |||
| 80
    
        Zamestas 16.09.13✎ 20:12 | 
        (79) Ты не представляешь объем плясок в (66)...     | |||
| 81
    
        Злопчинский 16.09.13✎ 20:38 | 
        (80) пусть роет
 ;-) | |||
| 82
    
        mih_io 16.09.13✎ 20:54 | 
        Явно предыдущему программисту дали список остатка, сколько должно быть, он и поправил. Дальше опять кривой учет и остатки сбились все, но виноват конечно программер со своим чудным документов корректировки.
 (0) делайте инвентаризацию, не тупите. И ведите от неё нормально. | |||
| 83
    
        Злопчинский 16.09.13✎ 21:32 | 
        (82) не выйдет... "вести нормально" - это не просто завтра с утра начать все вести нормально - это целый комплекс оранизационно-технических мер. а. судя по всему, в конторе, как во многих отсутсвует лицо, отвечающее за согласованное действие пордразделений, разработку хотя бы! среднсрочной тактики... так что, не взлетит...     | |||
| 84
    
        mih_io 16.09.13✎ 23:07 | 
        (83) согласен конечно, плюс, что после инвентаризации хоть будут видны узкие места, хотя бы кто вновь косячит и в какую сторону начать двигаться.
 А то лапки свесили и во всем виноват "старый" программист ) | |||
| 85
    
        КапЛей 16.09.13✎ 23:27 | 
        в этой ветке полтора человека вменяемых. Пилять! кто бы мне раньше сказал бы что одним будет маня...     | |||
| 86
    
        Eugeneer 16.09.13✎ 23:29 | 
        (0) на прочитай мою статейку, как раз тебе пригодиться.
 http://infostart.ru/public/158093/ | |||
| 87
    
        Злопчинский 16.09.13✎ 23:29 | 
        (85) маня = 1 вменяемый, меня хоть на 0.1-02 - хватило..????!!! ;-)     | |||
| 88
    
        Злопчинский 16.09.13✎ 23:32 | 
        (86) ты думаешь осилит...?     | |||
| 89
    
        Злопчинский 16.09.13✎ 23:37 | 
        Кстати, я вот на своей базе прикидывал аналогичный расклад без ведения партионного учета (кредитным докам) по взаиморасчетам. На моих объемах - проще взаиморасчеты вести в "куче". апри необходимости по кредитным докам раскладывать уже в отчетах - считает быстро, напряга вообщем нет. Именно так делил свой учет на две "ветки" - рассчитывая по каждой ветке свои долги и формируюя входящие остатки по кредитным докам... как оказалось - везде где можно косячить - менеджеры косячат. если их не епсти со страшной силой... отгрузки/взаиморасчеты по одному банку, а оплаты - по другому банку - вот и висят зеркальные остатки , вроде и ноль. а вроде и не ноль.. бухия стонет это все выравнивать корректировками - опа полная короче     | |||
| 90
    
        Eugeneer 17.09.13✎ 00:20 | 
        (88) других вариантов нет. Не для него - для фирмы.
 Такие фирмы уже досконально изучены под микроскопом. Или делают - ну или..... Короче это попадос и конкретный для фирмы. Уже много раз все пройдено опытом. Либо делают причем с прямыми руками. | |||
| 91
    
        Злопчинский 17.09.13✎ 00:33 | 
        (90) эт понятно... но они ж хотят практически даром обычно... в результате все остаетяс примерно как и было...     | |||
| 92
    
        Bigbro 17.09.13✎ 06:14 | 
        Если директор конторы доступен и до него удастся донести ситуацию - то это и надо сделать. Максимально объяснить чьи обязанности в чем состоят, заручиться поддержкой, попросить подписать необходимые приказы/регламенты для наведения порядка. Если не удастся - проще уйти, потому как не имея поддуржки в самом верху бардак не переломить.     | |||
| 93
    
        VladZ 17.09.13✎ 06:42 | 
        (0) Рад за тебя. Тебе столько еще нового и интересного предстоит узнать!     | |||
| 94
    
        catena 17.09.13✎ 06:48 | 
        А что, очень хороший способ набраться опыта. И в учете разберешься, и с пользователями общаться научишься, при желании даже в коде можно научиться разбираться.     | |||
| 95
    
        Bigbro 17.09.13✎ 06:52 | 
        (94) мне кажется набираться опыта решая адекватные задачи бизнеса при работе в нормальной фирме, желательно при наличии более опытных коллег - гораздо более полезно, нежели разгребать бардак. потому как опыт конечно приобретешь, но практика показывает что ценность опыта по разгребанию бардака достаточно низкая, ибо порядок - более менее един, а вот бардак - у каждого уникален.     | |||
| 96
    
        VladZ 17.09.13✎ 06:56 | 
        (95) Поддерживаю! Учиться надо хорошему. Плохое - само прилипнет.     | |||
| 97
    
        catena 17.09.13✎ 07:04 | 
        (95)Работать в бардаке вредно, а вот приводить его в порядок всегда полезно. Когда вокруг всё хорошо, сидишь работаешь и нет необходимости вникать, что там вокруг происходит. А чтобы что-то наладить необходимо разобраться в самой сути процесса. Для меня самым бесценным опытом была работа с контрльно-ревизионным отделом, когда приходилось разгребать махинации и ошибки, налаживать нормальный учет в самых различных областях. Никакого доступа к "внутренностям", только отчеты.     | |||
| 98
    
        zak555 17.09.13✎ 07:35 | 
        (97) мозг     | |||
| 99
    
        varelchik 17.09.13✎ 10:21 | 
        (0) Интересно а зачем Цикл по МЕтаданным.Регистр()?
 Можно ведь просто ОчиститьДвижения(). | |||
| 100
    
        Ёпрст гуру 17.09.13✎ 10:24 | 
        (99) подумай еще раз     | |||
| 101
    
        Double_Medved 17.09.13✎ 10:30 | 
        Доброе утро, благо что директор признает что бардак, и всеми руками за то чтобы наказать виноватых огнем и мечем, разработать приказы по должностным обязательствам и заставлять подписывать или увольняться. разговаривая вчера допоздна на собрании с бухгалтерами и манагерами и т.д. Выяснил что например кладовщик делает примерно 90% складских реализаций (ну это же почти 100%, так ведь). Обнаружил что за последний месяц не сделано штук 5 документов на общую сумму в пару сотен тысяч. И они думают что же у них остатки не сходятся. Тут похоже проблема не в 1с, по крайней мере, не только в 1с.     | |||
| 102
    
        Ёпрст гуру 17.09.13✎ 10:32 | 
        (101) Сделать инвентаризацию на складах, забить останки в чистую типовую ТиС/Комплексную, забыть о проблеме.     | |||
| 103
    
        Ёпрст гуру 17.09.13✎ 10:33 | 
        или в УТ/УПП.. если приверженец снеговичка.     | |||
| 104
    
        varelchik 17.09.13✎ 10:42 | 
        (100)
 ОчиститьДвижения(<?>); Синтаксис: ОчиститьДвижения(<ВидыДвижений>) Назначение: Удалить движения документа. Параметры: <ВидыДвижений> - необязательный параметр. Если данный параметр не задан, то производится полная очистка всех движений. | |||
| 105
    
        arsik гуру 17.09.13✎ 10:47 | 
        Лучше в УТ - там и продажа одним документом с нескольких складов есть     | |||
| 106
    
        arsik гуру 17.09.13✎ 10:49 | 
        (104) ты забыл добавить
 ''Регистр.ХХХХХХ'' - движение конкретного регистра, где ХХХХХХ - конкретный вид регистра; ''Операция'' - бухгалтерская операция; ''Справочник'' - все изменения периодических реквизитов справочников; ''ЖурналРасчетов'' - все изменения в журналах расчетов. А нам нужно только регистров, и скорее всего удалить по регистру будет быстрее чем очистить | |||
| 107
    
        GStiv 17.09.13✎ 10:50 | 
        Все не читал, но когда пришел на предприятие была похожая проблемма, когда партии никто никогда не выравнивал, вот скорее всего и всего сделал предыдущий программист документ, в котором пересортировал партии (позакрыл плюс на минус)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |