|
v7: Нашел вот такой веселый кусок кода. Что за вообще, подскажите плиз | ☑ | ||
---|---|---|---|---|
0
Double_Medved
16.09.13
✎
17:45
|
1с 7.7 ТиС, дописанная. Программист что-то там дописал, потом остатки конкретно поплыли и его уволили. В частности он переписывал обработку проведения КорректировкиПартий, и самолично делал сам этот документ. И вот что я там нашел:
Для Номер = 1 По Метаданные.Регистр() Цикл ОчиститьДвижения("Регистр."+Метаданные.Регистр(Номер).Идентификатор); КонецЦикла; Подскажите, так и надо? Это нормальная ситуация в корректировке партий? Этот код удаляет все движения регистров или что вообще? |
|||
1
Эльниньо
16.09.13
✎
17:49
|
Такое пишут, когда убрана галочка "Автоматическое удаление движений".
|
|||
2
adelaide
16.09.13
✎
17:49
|
||||
3
adelaide
16.09.13
✎
17:50
|
Описание:
Метод ОчиститьДвижения удаляет существующие движения документа. Если метод не вызывается при проведении документа, то существующие движения документа не стираются вообще. Если метод не вызывается при проведении документа, то существующие движения после проведения стираются. Использование данного метода позволяет: допроводить документ, т. е. доделывать движения в добавок к уже существующим; делать движения, анализируя ранее сделанные и уже существующие; выполнять распроведение документа, анализируя существующие движения; не очищать существующие движения при перепроведении, если это не нужно. Замечание. Данный метод доступен только при отключенном в конфигурации флаге "Автоматическое удаление движений". Замечание. Данный метод доступен только в контексте Модуле формы документа (см. Виды программных модулей). Действие данного метода относится только к текущему документу, который доступен в локальном контексте Модуля формы документа. Смысл использования данного метода сводится к тому, что помимо проводок документ меняет и периодические реквизиты. А значит при отмене проведения документа изменения периодических реквизитов нужно вернуть. |
|||
4
Double_Medved
16.09.13
✎
17:50
|
То есть удаляются движения только этого документа?
|
|||
5
Double_Medved
16.09.13
✎
17:52
|
Спасибо, понятно
|
|||
6
Lazy Stranger
16.09.13
✎
17:53
|
Вообще-то эта конструкция в каждом документе типовой ТиС 9.Х сидит, предыдущий программист тут непричём.
|
|||
7
КонецЦикла
16.09.13
✎
17:56
|
Есть такая нехорошая особенность - валить все на ушедших. Остатки могли поплыть и по другой причине :)
Он каждую ночь сидел равнял пока работал чтобы никто не заметил? |
|||
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
|
Все не читал, но когда пришел на предприятие была похожая проблемма, когда партии никто никогда не выравнивал, вот скорее всего и всего сделал предыдущий программист документ, в котором пересортировал партии (позакрыл плюс на минус)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |