|
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
|
Все не читал, но когда пришел на предприятие была похожая проблемма, когда партии никто никогда не выравнивал, вот скорее всего и всего сделал предыдущий программист документ, в котором пересортировал партии (позакрыл плюс на минус)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |