|
v7: Контроль выполнения заказов на уровне производства | ☑ | ||
---|---|---|---|---|
0
Касандер72
06.06.12
✎
10:22
|
Итак, версия 7.7 на скуле 2005, исходная - похоже на ТиС - но от него уже мало осталось.
С некоторого времени трикотаж начал пользоваться спросом, и стала очень рентабельной работа под заказ - клиент получает то что хочет, мы уверенно рассчитываем на прибыль. Естественно, встал вопрос о контроле выпуска продукции по заказам - решили как-то её различать - то есть на лейбах заказанной продукции печатать "рамку". "Ручками" отмечать и высчитывать сколько осталось надоело, да и геморно - заказы большие, да и исполняются в течение длительного времени, да и человеческий фактор слишком уж влиятелен. Итак в конфе делал документ. позволяющий вводить заказы покупателей, который при проведении ложит всю инфу в отдельный регистр приходом. Здесь никаких проблем. Расходная часть по регистру должна производится документом "Упаковка изделий", в каждой строке которого информация об отдельной упаковке. Встал вопрос в реализации механизма автоматического определения "заказанной" продукции, исходя из данных регистра заказов. Первый вариант (0) анализировать остаток в регистре после каждой проводки - для 1С-ки как оказалось весьма проблематичен по времени и нагрузке. Второй вариант - производить анализ непосредственно перед проведением проблематичен физически, из-за того, что процесс очень интенсивный и многоканальный - велика вероятность накладок - двойного учета заказов. Вот вроде бы и все. Всех благодарю за идеи и советы. |
|||
1
Касандер72
06.06.12
✎
10:37
|
Вот пример кода в модуле проведения реализации первого варианта:
ВсеРегистры = СоздатьОбъект("Регистры"); РегЗаказов = ВсеРегистры.ЗаказыПроизводства; ДатаТА = ПолучитьДатуТА(); ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл РегЗаказов.УстановитьЗначениеФильтра("Номенклатура",Номенклатура,1); РегЗаказов.УстановитьЗначениеФильтра("Размер",Размер,1); РегЗаказов.УстановитьЗначениеФильтра("Расцветка",Расцветка,1); РегЗаказов.ВременныйРасчет(1); ВсеРегистры.РассчитатьРегистрыНа(ДатаТА); ТекОстатки = РегЗаказов.СводныйОстаток(Номенклатура,Размер,Расцветка,"Количество"); Если ТекОстатки > 0 Тогда Заказанная = 1; СписКолтво = ?(ТекОстатки-Количество>0,Количество,ТекОстатки) КонецЕсли; Регистр.ЗаказыПроизводства.Номенклатура = Номенклатура; Регистр.ЗаказыПроизводства.Размер = Размер; Регистр.ЗаказыПроизводства.Расцветка = Расцветка; Регистр.ЗаказыПроизводства.Количество = СписКолтво; Регистр.ЗаказыПроизводства.ДвижениеРасходВыполнить(); КонецЦикла; |
|||
2
Андрей_Андреич
naïve
06.06.12
✎
10:42
|
Рассчитывать итоги на ТА в процессе подбора и проводить документ построчно. При грамотной реализации - никаких тормозов и дублей. Если быстродействие не устроит - прямые запросы.
Это с прогерской кочки зрения. А нафик оно нужно - ужо с руководством думайте. |
|||
3
Андрей_Андреич
naïve
06.06.12
✎
10:51
|
Молчит белорусский партизан...
|
|||
4
Касандер72
06.06.12
✎
10:52
|
(2) подробнее о процессе подбора, плиз
немного подробннее о документе - данные в него заливаются из ТСД и определяются по штрихкодам вплоть до упаковщика и объекта упаковки - юзвери жмут только кнопки записать и провести |
|||
5
Касандер72
06.06.12
✎
10:54
|
(4) сори, первой жмут кнопку "Загрузить" (данные из ТСД), ну и бывает - "Очистить" или удаляют строки - когда в одну упаковку попытаются запихнуть различные по характеристикам изделия - это недопустимо
|
|||
6
Андрей_Андреич
naïve
06.06.12
✎
10:55
|
(4) Тогда я не понял процесса - я думал наоборот пикают сканером и добавляются строки документа
|
|||
7
Андрей_Андреич
naïve
06.06.12
✎
10:58
|
работа идет в реальном времени - никаких временных расчетов не надо. и фильтров тоже.
|
|||
8
Андрей_Андреич
naïve
06.06.12
✎
10:59
|
короче - добивайся работы на ТА - оно в 10 раз быстрее
|
|||
9
Касандер72
06.06.12
✎
10:59
|
(6) каждое изделие имеет этикетку с уникальным штрихкодом - они пикают по ним а затем по маркеру упаковки - с обезличенным штрихкодом - и так несколько раз. Заливают в док - при считывании с ТСД - программа сама определяет составы и характеристики упаковок. После проведения документа - распечатываются этикетки упаковок и наклеиваются на сами упаковки по маркерам
|
|||
10
Касандер72
06.06.12
✎
11:00
|
(8) что такое ТА? и с чем его едят? подробнее плиз
|
|||
11
Андрей_Андреич
naïve
06.06.12
✎
11:01
|
(10) Точка актуальности, т.е. работа в реальном времени.
|
|||
12
Касандер72
06.06.12
✎
11:02
|
(7) без рассчета регистра ТекОстатки постоянно равны одному значению:
ТекОстатки = РегЗаказов.СводныйОстаток(Номенклатура,Размер,Расцветка,"Количество"); а мне необходимо знать это после каждой проводки |
|||
13
Касандер72
06.06.12
✎
11:04
|
(11) они и работают в реальном времени) только 12 конвейеров колбасят со свистом параллельно)
вообщем кто первым пимпочку нажал - тот и первый) |
|||
14
Андрей_Андреич
naïve
06.06.12
✎
11:05
|
Стандартно при проведенни проверяется ИтогиАктуальны() и если неактуальны - выполняется временный расчет итогов на докумет. В приведенном коде маразм полный - итоги каждый раз рассчитываются на начало дня, что ГАРАНТИРОВАННО приводит к дублям, т.к. вся сегодняшняя работа игнорируется.
|
|||
15
Андрей_Андреич
naïve
06.06.12
✎
11:07
|
Размеров и расцветок дофига?
|
|||
16
Касандер72
06.06.12
✎
11:08
|
(14) В одном документе может быть 10 одинаковых упаковок из которых 5 под заказ попадают, а остальные - не должны - поэтому смысла в проверке нет - после каждой проводки итоги меняются
|
|||
17
Касандер72
06.06.12
✎
11:09
|
(15) около 20 размеров и 20 расцветок у каждой модели в среднем, а моделей - тыщ 5
|
|||
18
Касандер72
06.06.12
✎
11:11
|
и необязательно одним документом одна модель упаковывается - в один док несколько упаковщиков могут слить инфу с ТСД - распечатать лейбы и разделить их между собой
|
|||
19
Андрей_Андреич
naïve
06.06.12
✎
11:14
|
(16) Первым делом выгрузи итоги в таблицу значений, предварительно установив фильтр по номенклатуре (сверни таблицу документа по номенклатуре и в список значений).
В полученной таблице придется искать твою комбинацию и отматывать при проведении счетчик (минусовать из ТЗ вручную). Как оптимально искать в ТЗ - разные варианты есть. |
|||
20
Касандер72
06.06.12
✎
11:18
|
(19) это - второй вариант, но с ним проблемы - из-за интенсивности - одинаковые изделия пакуются на разных конвейерах - до сервака более 800 метров через ... тернии вообщем - может быть накладка: пока на одном анализируется ТЗ - на другом считывание может произойти. У нас даже один и тот-же док умудрялись открыть на разных компах одновременно - потом гемор с закрытием ещё тот был
|
|||
21
chelentano
06.06.12
✎
11:18
|
метод Актуальность(<ФлагАктуальности>), не?
Данный метод можно использовать только в модуле проведения документа. Если флаг установлен, то все последующие движения регистров будут изменять итоги временного расчета, и ,значит, итоги регистров временного расчета будут все время (при проведении документа) находиться в актуальном состоянии |
|||
22
Касандер72
06.06.12
✎
11:19
|
(21) а вот это уже интересно - щас попробую
|
|||
23
Андрей_Андреич
naïve
06.06.12
✎
11:21
|
(22) Это тебует временного расчета, да еще и пересчета после каждого движения. Тупиковый путь. Лучше не пробуй - поверь, что напишешь за 5 минут и работать оно будет, но тормоза.
|
|||
24
Касандер72
06.06.12
✎
11:22
|
(21) примерчик кода не кинешь сюды плиз - лениво по инету ползать, искать
|
|||
25
chelentano
06.06.12
✎
11:23
|
(24) в любой типовой
|
|||
26
Касандер72
06.06.12
✎
11:24
|
(23) а ну да, признак актуальности не спасает
|
|||
27
Андрей_Андреич
naïve
06.06.12
✎
11:24
|
(24) А вот это уже наглость - ничего не знать да еще лениться. Синтакс-помощник не открывал?
|
|||
28
Касандер72
06.06.12
✎
11:26
|
(25) давно уже не юзаем типовых) из-за специфики - у нас бы номенклатура была бы .......
(27) давно открыл и прочитал - не совсем врубился - пример применения доступнее и нагляднее |
|||
29
Касандер72
06.06.12
✎
11:28
|
Может, кто знает, если на бухитогах реализовать - там нужно перерасчитывать остаток после каждой проводки - или автомат идет - может быстрее будет?
|
|||
30
Андрей_Андреич
naïve
06.06.12
✎
11:33
|
(29) Не надо бухитоги. Оно регистры на то и называются "Оперативный учет".
|
|||
31
chelentano
06.06.12
✎
11:40
|
(29) в типовой ТиС глянь как сделано
|
|||
32
kyrgyz
06.06.12
✎
11:40
|
(0) Я бы все-таки подумал бы и советовал бы в сторону оптимизации бизнес процесса.
А вот если часть упаковщиц будут работать по определенным заказам. И только тот кто выбрал заказ тот и отвечает за него. Все делается на основании заказа а вот остальные работают на общем основании. |
|||
33
Касандер72
06.06.12
✎
11:45
|
(32) думали - простой конвейера кто оплатит? да и распределением где что упаковывать - ещё тот гемор ...
каждый конвейер должен работать без остановки - паковать готовую продукцию |
|||
34
Андрей_Андреич
naïve
06.06.12
✎
11:50
|
Что-то кругом фигня полная в алгоритме. А свернуть для проведения таблицу документа по номенклатуре, размеру и цвету разве нельзя? Тогда можно прямиком получать сводный остаток, поскольку списывается все количество в документе за один раз.
|
|||
35
Касандер72
06.06.12
✎
11:51
|
(30) вот пример из модуля проведения реализации 2-го варианта:
МультиСчетчик = СоздатьОбъект("ТаблицаЗначений"); ВыгрузитьТабличнуюЧасть(МультиСчетчик); МультиСчетчик.Свернуть("Номенклатура,Обмер,Сорт","Количество"); МультиСчетчик.ВыбратьСтроки(); Пока МультиСчетчик.ПолучитьСтроку() = 1 Цикл МультиСчетчик.Количество = Регистр.ЗаказыПроизводства.СводныйОстаток( МультиСчетчик.Номенклатура, МультиСчетчик.Обмер,МультиСчетчик.Цвет,"Количество"); КонецЦикла; ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл МультиСчетчик.ВыбратьСтроки(); Пока МультиСчетчик.ПолучитьСтроку() = 1 Цикл Если МультиСчетчик.Номенклатура = Номенклатура Тогда Если МультиСчетчик.Обмер = Обмер Тогда Если МультиСчетчик.Цвет = Цвет Тогда Если МультиСчетчик.Количество > 0 Тогда Заказанная = 1; СписКолтво = ?(МультиСчетчик.Количество-Количество>0,Количество,ТекОстатки); КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; Регистр.ЗаказыПроизводства.Номенклатура = Номенклатура; Регистр.ЗаказыПроизводства.Размер = Обмер; Регистр.ЗаказыПроизводства.Расцветка = Цвет; Регистр.ЗаказыПроизводства.Количество = Количество; Регистр.ЗаказыПроизводства.ДвижениеРасходВыполнить(); КонецЦикла; |
|||
36
Касандер72
06.06.12
✎
11:52
|
(34) в документе допустим 15 упаковок, из них нужно отметить под заказ только 10! - и отпечатать на лейбе отличительный признак
|
|||
37
Касандер72
06.06.12
✎
11:54
|
(35) в примере неточность:
*Регистр.ЗаказыПроизводства.Количество = СписКолтво; |
|||
38
Касандер72
06.06.12
✎
11:57
|
Сорки, только оттестил, так лучше:
МультиСчетчик = СоздатьОбъект("ТаблицаЗначений"); ВыгрузитьТабличнуюЧасть(МультиСчетчик); МультиСчетчик.Свернуть("Номенклатура,Обмер,Сорт","Количество"); МультиСчетчик.ВыбратьСтроки(); Пока МультиСчетчик.ПолучитьСтроку() = 1 Цикл МультиСчетчик.Количество = Регистр.ЗаказыПроизводства.СводныйОстаток( МультиСчетчик.Номенклатура, МультиСчетчик.Обмер,МультиСчетчик.Цвет,"Количество"); КонецЦикла; ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл МультиСчетчик.ВыбратьСтроки(); Пока МультиСчетчик.ПолучитьСтроку() = 1 Цикл Если МультиСчетчик.Номенклатура = Номенклатура Тогда Если МультиСчетчик.Обмер = Обмер Тогда Если МультиСчетчик.Цвет = Цвет Тогда Если МультиСчетчик.Количество > 0 Тогда Заказанная = 1; СписКолтво = ?(МультиСчетчик.Количество-Количество>0,Количество,ТекОстатки); Регистр.ЗаказыПроизводства.Номенклатура = Номенклатура; Регистр.ЗаказыПроизводства.Размер = Обмер; Регистр.ЗаказыПроизводства.Расцветка = Цвет; Регистр.ЗаказыПроизводства.Количество = СписКолтво; Регистр.ЗаказыПроизводства.ДвижениеРасходВыполнить(); Продолжить; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; |
|||
39
Касандер72
06.06.12
✎
12:00
|
*(38) ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл МультиСчетчик.ВыбратьСтроки(); Пока МультиСчетчик.ПолучитьСтроку() = 1 Цикл Если МультиСчетчик.Номенклатура = Номенклатура Тогда Если МультиСчетчик.Обмер = Обмер Тогда Если МультиСчетчик.Цвет = Цвет Тогда Если МультиСчетчик.Количество > 0 Тогда Заказанная = 1; Регистр.ЗаказыПроизводства.Номенклатура = Номенклатура; Регистр.ЗаказыПроизводства.Размер = Обмер; Регистр.ЗаказыПроизводства.Расцветка = Цвет; Если МультиСчетчик.Количество - Количество > 0 Тогда Регистр.ЗаказыПроизводства.Количество = Количество; Иначе Регистр.ЗаказыПроизводства.Количество = МультиСчетчик.Количество; КонецЕсли; Регистр.ЗаказыПроизводства.ДвижениеРасходВыполнить(); Продолжить; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; |
|||
40
Злопчинский
06.06.12
✎
12:06
|
Прочитал сверху и дальше читать не стал. ибо, по видимому бред. автор опять бежит фиг знает куда в каие-то документы определение каокет- хня полная.
. инфы недостаточно. . непонятно. как налажен выпуск продукции..? из чего исходит? как принимается в производство? ничего не понятно. . рассмотрим гипотетический вариант: . Покупатель1 заказал товар1 1000шт товар2 3000шт товар3 5000шт. . Покупатель2 товар1 100шт товар2 2000шт товар3 1500шт . Предположим что товар1 - штатная упаковка 10шт товар2 - 30шт товар3 - 40шт. . итого необходимо на выходе производства получить товар1 - 1100 шт., 110 кор. товар2 - 5000 шт, 166,67 коробок = выпуск делается под упаковки = 167 кор. товар3 - 6500 шт, 162.5 = 163 кор. . Требуемый заказ покупателя - известен. зафиксирован в программе. . "поточная" линия (швейный цех или что там) выпускает указанный товар, какая-то "роботозированная" (людьми или автоматами) упаковочная линия упаковывает выпущенные товары в стандартные упаковки, отмаркированные стандартным видом. . упакованные товары попадают на некий "маркировочный" конвеер (еще до выхода на склад). на конвеере - упакованный товар, едет мимо сканера. проехал мимо сканер - вылезла лейбла с номером заказа покупателя и иными ид.данными заказа покупателя. стоит человекоробот и клеит лейбак на упаковку. Скольок лейбаков для какого заказа для данного товара напечатать - известно: берется из заявки покупателя. . если несколько упаковочных линий - чуть сложнее, но сути не меняет. . упакованный И УЖЕ ОТМАРКИРОВАННЫЙ зачявками покупателей упаковки поступают на склад. где такие же человеко робот производят ОТБОР в контейнеры по заявкам покупателей, жмакая и пикая лейбак заявки покупателя на упаковке. . что еще? . . |
|||
41
Андрей_Андреич
naïve
06.06.12
✎
12:11
|
МультиСчетчик = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(МультиСчетчик); МультиСчетчик.Свернуть("Номенклатура,Обмер,Сорт","Количество"); Мультисчетчик. НоваяКолонка("Код"); МультиСчетчик.ВыбратьСтроки(); Пока МультиСчетчик.ПолучитьСтроку() = 1 Цикл МультиСчетчик.Количество=Мин(МультиСчетчик.Количество, Регистр.ЗаказыПроизводства.СводныйОстаток( МультиСчетчик.Номенклатура, МультиСчетчик.Обмер,МультиСчетчик.Цвет,"Количество")); МультиСчетчик.Код=МультиСчетчик.Номенклатура.Код+МультиСчетчик.Обмер.Код+МультиСчетчик.Цвет.Код; Если МультиСчетчик.Количество>0 Тогда Регистр.ЗаказыПроизводства.Номенклатура = МультиСчетчик.Номенклатура; Регистр.ЗаказыПроизводства.Размер = МультиСчетчик.Обмер; Регистр.ЗаказыПроизводства.Расцветка = МультиСчетчик.Цвет; Регистр.ЗаказыПроизводства.Количество = МультиСчетчик.Количество; КонецЕсли; КонецЦикла; ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл Ном=0; Если МультиСчетчик.НайтиЗначение(Номенклатура.Код+Обмер.Код+Цвет.Код,Ном,"Код")=1 Тогда МультиСчетчик.ПолучитьСтрокуПоНомеру(Ном); Если МультиСчетчик.Количество>0 Тогда Заказанная=1; // Как я понял, весь сыр-бор из-за этой строчки МультиСчетчик.Количество=МультиСчетчик.Количество-Количество; КонецЕсли; КонецЕсли; КонецЦикла; |
|||
42
Андрей_Андреич
naïve
06.06.12
✎
12:12
|
В (41) забыл после заполнения регистра Движениерасход выполнить
|
|||
43
Андрей_Андреич
naïve
06.06.12
✎
12:14
|
фигня - через пару годиков научится. только учиться особо негде уже - влом азы 15летней давности по новой разжевывать
|
|||
44
Касандер72
06.06.12
✎
12:16
|
(40) мимо ...
Сначала отпечатываются этикетки изделий с уникальными штрихкодами и на участке ОТК цеплаются на изделия, а затем передаются на упаковочные конвейера. Также отпечатываются "безликие" нумераторы упаковок и наклеиваются на пустые упаковочные пакеты. На упаковочном конвейере действия упаковщика: - пик по ШК изделия - пик по ШК изделия - пик по ШК изделия - пик по ШК упаковки - пик по ШК изделия - пик по ШК изделия - пик по ШК изделия - пик по ШК изделия - пик по ШК упаковки - пик по ШК изделия - пик по ШК изделия - пик по ШК изделия - пик по ШК изделия - пик по ШК упаковки инфа с ТСД заливается в документ: "Упаковка изделий" - результат: 3 строки: 1 3-я упаковка и 2 4-ых упаковки потом, после проведения дока распечатываются этикетки упаковок и расклеиваются на них по номерам задача: если есть заказ на 6 подходящих изделий - пометить две упаковки как заказные, а одна - обычная |
|||
45
Злопчинский
06.06.12
✎
12:17
|
какие принципиальные проблемы?
. если упаковочно-маркировочных линий несколько - проблемы не меняет, если уйти от кривых многострочных документов. Есть заявка покупателя - из нее формируем ОТДЕЛЬНОЕ "задание" на маркировку. . каждый факт пикания упаковки и маркировки его лейбаком - занимает при нормальной реализации примерно от 0.002 сек до 0.02 сек (больше времени будет этикетка из принтера вылазить) - у меня примерно такие временные показатели. . каждый жмак сканером уменьшает счетчик требуемых лейбаков в "ЗАДАНИИ" на маркировку. Никаких временных расчето и сводных итогов, расчетов на ТА и прочей шняги. Сформировал "задание" на маркировку - выставил счетчик количества лейбаков по покупателю на товар. Разные покупатели - по умолчанию - распределять лейбирование на разные линии. товар1 покупателя1 лейбируется на линии1, товар1 покупателя2 - лейбируется на линии2. Лейбирование одного товара одного покупателя на разных линиях допускать только когда нет такого товара для другого покупателя. . ПО СУТИ: инфы выданной автором недостаточно. нормальную систему можно сделать написав ЗНАЯ КОНКРЕТНЫЕ ЧАСТНОСТИ ОРГАНИЗАЦИИ И ИСПОЛНЕНИЯ ПРОИЗВОДСТВЕННОГО ПРОЦЕССА. эта инфа отсутсвует. |
|||
46
Касандер72
06.06.12
✎
12:18
|
(43) спс, затестю - гляну - мож быстрее будет
|
|||
47
Злопчинский
06.06.12
✎
12:19
|
(44) - (40) никак не противоречит чето ты написал.
еще бы пояснил что такое "одна 3-я упаковка и две 4-х упаковки" |
|||
48
Андрей_Андреич
naïve
06.06.12
✎
12:20
|
(44) В (41) как раз разделено на 2 части
1. Проведение по регистру сводно по свернутой таблице с запоминанием результатов в ТЗ 2. Перебор строк документа с заполнением колонки "заказано" со "списанием" количества из ТЗ. |
|||
49
Злопчинский
06.06.12
✎
12:20
|
Нахрена что-то заливать в документ "упаковка изделия".? изделия всегда выходят упакованными в коробки. это - аксиома-атом и подтверждать это - не надо.
. все что надо - на упакованный товар лепить лейбаки по заявкам покупателей. |
|||
50
Злопчинский
06.06.12
✎
12:21
|
для чего считать заказанная или не заказанная - хз, непонятно.
|
|||
51
Касандер72
06.06.12
✎
12:23
|
(45) принципиальная проблема - скорость проведения дока - и без этого доки в очереди толкуться
о принтерах: у нас ДатаМаксы и Принтрониксы: 100 за минуту вылетает со свистом распределении между покупателями пока нет - важно визуально для кладовщика видеть куда совать упаковку - в хранилище или в отборочный контейнер. (47) 3-ая упаковка - упаковка с 3-мя изделиями, 4-ая - содержит 4 изделия |
|||
52
Касандер72
06.06.12
✎
12:24
|
(49) у нас изделия упаковывают в пакеты на конвейерах) развивай воображение
|
|||
53
Злопчинский
06.06.12
✎
12:26
|
+(49) по налепленным лейбакам - быстро отбирать товар еще на входе в склад.
. но это все равно гуано будет. если процесс практически непрерывный - все надо не так организовывать. инфы - недостатчоно. неясен темп поступленяи на склад, неясно количество одновременных заказов покупателей. - а от этого зависит весьма много - если 2-3-4 крупных заказа - проблем гораздо меньше. Если куча мелких заказов - совсем другой коленкор. . навскидку: попытка ре ализовать позаказное производство без детальной проработки - не взлетит.. или будет лететь как шар братьев Монгольфьер - куда ветер подует. . у меня, например, если бы не было ШТУЧНОГО отбора - вообще можно было бы замутить чисто роботизированиу линию сборки, вопрос только в деньгах на техническое оснащение. |
|||
54
Касандер72
06.06.12
✎
12:28
|
+(49) такие аксиомы и стандартные конфы у нас уже давно не работают:
ручками вложил изделия в упаковку, отпикав их ТСД-кой, заклеил пакет, залил в док инфу - распечатал лейбы для упаковок и расклеил) |
|||
55
Злопчинский
06.06.12
✎
12:28
|
(51) упаковка с тремя изделиями - в упаковке 3 штуки одного товара, 4-я упаковка - в упаковке 4 штуки одного товара?
|
|||
56
Злопчинский
06.06.12
✎
12:29
|
(52) это у вас там воображение гуляет видимо весьма сильно.
. у вас и на стадии производства "упаковка" и уде на складе "упаковка" упаковок в мешки. . вы e'; сначала стерминологией определитесь и ясностью изложения-описания. ;-) |
|||
57
Касандер72
06.06.12
✎
12:30
|
(53) на конвеерах упаковка - интенсивная, передача на склад - непрерывная, большими партиями 1000-2000
(55) истинно так |
|||
58
Злопчинский
06.06.12
✎
12:31
|
(51) какие нафиг скорости проведеняи доков где-то на потоке? в многострочных доках - ФИКСИРОВАТЬ ТОЛЬКО РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ РАБОТЫ, но не саму работу/этапы от которых зависит следующая работа этап. Формировать "элементарные задания", выдавать их на "исполнение", В ОЧЕРЕДИ УЖЕ ИСПОЛНЕННЫХ формировать результаты и сливать в доки.
|
|||
59
Касандер72
06.06.12
✎
12:31
|
(56) у нас не воображение гуляет а два года уже все работает)
на фабрике - изделия в упаковки, на складе: упаковки - в мешки (пакеты, коробки) |
|||
60
Андрей_Андреич
naïve
06.06.12
✎
12:32
|
(57) А этот учет вообще в отдельной базе вести - сливать в нее инфу из основной смысл имеет?
|
|||
61
Злопчинский
06.06.12
✎
12:32
|
нафига тебе какие-то проведеняи доков в производственном прцесее - никак не пойму. что ты в них высчитываешь/фиксируешь?
|
|||
62
Касандер72
06.06.12
✎
12:33
|
(58) вначале так пробовали - уйма операторов нужна - а сейчас обычные бабульки-работяги с ТСД-ками носятся - и не поверишь: не отобрать!
|
|||
63
Касандер72
06.06.12
✎
12:34
|
(61) система контролирует остатки продукции на любом маркированном объекте - чтобы знать где чего и сколько лежит
|
|||
64
Злопчинский
06.06.12
✎
12:34
|
(59) ну так и излагай ясно, на фабоике - процесс "упаковки", на складе - процесс "комплектации"
. а то утебя и там упаковка и там упаковка.. теперь на фабрику хотите вынести лейбирование под заказы... трындец полный.. причем имхо явно видно что еще толком не продуман процесс изменений, не "посчитан!" по уму, а уже взялись мутузиться с доками, проведениями и прчей хней.. неудивительно что тормозит и прочее с доками и что там еще... |
|||
65
Злопчинский
06.06.12
✎
12:36
|
внятного описани ТЕХПРОЦЕССА - так и не дождались. Как будто в школе не учились
Дано: Требуется: . "дано" - максимально "плоский" список-изложение имеющегося. Без "если пришло то, то туда", " а когда вот это то вот так , но может быть и так" - это не дано, а вольное изложение... ;-) . короче - пока все не сильно интересно... |
|||
66
Злопчинский
06.06.12
✎
12:39
|
(62) ты меня что, реально УДИВИЛ? нисколько. у меня точно так же - любая обезьяна с улицы через 20 минут может работать самостотельно с ТСД. и останется эта обезъяна или нет - определяется только аккуратностью исполнения выданных заданий.
. и точно так же маркировщицы (ибо у меня лейбируется не только упаковки, но и штуки товара под конкретных покупателей) - когда нет работы по лейбированию - тоже собирают товар и довольны как слонихи - ибо это позволило им поиметь допденежку к зарплате, а нам - избежать лишку народа на складе. |
|||
67
Андрей_Андреич
naïve
06.06.12
✎
12:40
|
(65) Ну Вы с ТС нудные! Даже вникать не хочу - дир всю плешь проел с такой же фигней. ТС - ты просил оптимизировать - я тебе нарисовал. Делай и проверяй. А про бизнеспроцессы тогда отдельную ветку заводи.
|
|||
68
Касандер72
06.06.12
✎
12:40
|
(65) внятного описания техпроцесса, или сочинения на тему "что я хочу" - даже я не видел)))
не строй иллюзий - у нас госпредприятие, и как правило толпа недоучек, криворуких и прочих инвалидов и при этом нужно что-то сделать из ничего) и чтобы всем хорошо было) |
|||
69
Злопчинский
06.06.12
✎
12:40
|
на самом деле если у вас куча ТСД с которыми носится персонал - то вообще проблема не ясна. Обратитесь к тем, кто вам систему вашу работающую ставил (и видимо более-менее упешно) если уже "2 года работает" - пусть так же по уму и текущие ваши хотелкит прикрутит.. ;-)
|
|||
70
Злопчинский
06.06.12
✎
12:42
|
(67) ненудным развязным и расхлябанным - можно на шашлыках за городом быть... а впроизводственном прцесе - даже маленьком - нудность и вынос мозга - одна из составляющихх ключей успешности ;-)
|
|||
71
Касандер72
06.06.12
✎
12:43
|
(67) СПС ОГРОМНЫЙ, напомнил, я и забыл что с составным индексом быстрее будет - все время приходится между задачами переключаться (я ещё штрихкодирование на прядильной фабрике запускаю - правда на 8,2 - полегче)
|
|||
72
Злопчинский
06.06.12
✎
12:44
|
МультиСчетчик.НайтиЗначение по ТЗ в цикле по выбору строк - тотальная бяка. особенно ттам где надо быстрое проведение.
переделывайте алгоритм так, чтоб ы выбор строк совпадал с линейным движением по ТЗ. |
|||
73
Злопчинский
06.06.12
✎
12:44
|
код - модифицировать с использованием объекта "ИндексированнаяТаблица"
|
|||
74
Касандер72
06.06.12
✎
12:45
|
(72) это ты зря - шуршит куда прикольнее чем перебор - не веришь попробуй - я юзал
|
|||
75
Мимохожий Однако
06.06.12
✎
12:45
|
Любопытная дискуссия.
|
|||
76
Злопчинский
06.06.12
✎
12:45
|
(68) знакомая ситуация ;-) и еще желательно - даром.. ;=_)
|
|||
77
Злопчинский
06.06.12
✎
12:46
|
(74) все зависит от частностей. загони в ТЗ побольше строк и включи отладчик с замером - и повтыкай на что жрется время...
|
|||
78
Касандер72
06.06.12
✎
12:47
|
(73) млин, а где я тебе потом замену найду? чтобы слинять отсюда? может у вас и дохера 1С-ников, кто 1С++ юзал, а у нас обычного днем с огнем не сыщешь: скулевые запросы освоить не могут (
|
|||
79
Андрей_Андреич
naïve
06.06.12
✎
12:47
|
(72) Да - это будет приятнее намного. Только тогда придется определиться, что при проведении документа сортировка строк сменится. Допустимо или нет - не знаю.
(77) Один фик жрать больше всего будет чтение из регистров и запись. |
|||
80
Mikeware
06.06.12
✎
12:50
|
"тупой и еще тупее", часть вторая - "это одно и то же лицо".
Про сам процесс Злоп уже сказал - четкого и внятного описания нет (подсказываю: писать его надо так, чтобы понять написанное мог человек с начальным образованием на нерусском языке) про код: нафига рассчитывать каждый раз, если все равно проведение выполняется в транзакции, и данные измениться другими документами не могут - можно просто слить в начале все остатки в ТЗ, и крутить ТЗ в момент проведения.... |
|||
81
Злопчинский
06.06.12
✎
12:50
|
(68) > внятного описания техпроцесса, или сочинения на тему "что я хочу" - даже я не видел)))
не строй иллюзий - у нас госпредприятие, и как правило толпа недоучек, криворуких и прочих инвалидов . а ты думаешь где-то принципиально иначе? у меня то же самое. реально нужен грамтоные люди на ключевые точки. остальнон - тупая работа по тупым заданиям. никакого принятия решений и инициативы (по возможности) людям с ТСД. . и как всегда - прежде чем программить - долго и нудно рисуем квадратики, стрелочки и прочее "бизнеспроцессирование". . фронт работ есть всегда - без работы не останемся. |
|||
82
Касандер72
06.06.12
✎
12:51
|
(79) запись - да, сводный остаток - быстро, ещё же нужно признак заказа в справочник штрихкодов упаковок занести для следилки: вот думаю может сделать периодическим и через УстановитьЗначение()
|
|||
83
Злопчинский
06.06.12
✎
12:51
|
(80) вот и я про то же самое...
|
|||
84
Андрей_Андреич
naïve
06.06.12
✎
12:52
|
(81) Только каждую работу во фронт превращать не надо. Ох и азартен ты, Парамоша!
|
|||
85
Злопчинский
06.06.12
✎
12:52
|
(78) а за "тарелку супа" иного и не будет. я например и сам не силен в 1С++, но когда надо - я делаю просто - прощу помощт в КОНКРЕТНОЙ задаче или просто предлагаю задачку+денежку. Пока все успешно решается...
|
|||
86
Андрей_Андреич
naïve
06.06.12
✎
12:53
|
(82) Это ты что сейчас сказал?
|
|||
87
Злопчинский
06.06.12
✎
12:53
|
(84) работать надо там где - интересно! а что может быть интереснее и захватывающее чем вызывающие насилие и ковровое бомбометание?
|
|||
88
Касандер72
06.06.12
✎
12:55
|
(81) некогда нудно рисовать квадратики,
до грамотных на ключевых точках - своему боссу полчаса разжевывал, дир фабрики - уже дергаться начала, идеальная организация работы программиста - енто хорошо, но на практике ... представь что на крупных предприятиях - узкая специализация - и требовать от каждого буха знания плана счетов - дохлый номер |
|||
89
Злопчинский
06.06.12
✎
12:55
|
(79) неа, чтение и запись времени жрать много не будут. потому что там где это жрется - это должны быть ПОДГОТОВИТЕЛЬНЫЕ действия, которые НЕКРИТИЧНЫ к реалтайму. а писать в регистры надо уже ГОТОВОЕ ПО ФАКТУ. особенно таки где ТСД и жмаки по ШК.
. |
|||
90
Mikeware
06.06.12
✎
12:56
|
(88)
"- мужик, ты топор-то наточи!!! -- некогда точить, мне рубить надо!"© |
|||
91
Андрей_Андреич
naïve
06.06.12
✎
12:57
|
(89) Думаешь у меня на компе капслока нету? :)
|
|||
92
Злопчинский
06.06.12
✎
12:57
|
(88) согласен совершенно.
но в "бухгалтерии" есть "ГЛАВБУХ", который знает как должно быть, почему, как этого добиться - в том числе не только техническими но и организационными мерами. если "ГБ" - нет. пиши пропало. если сторонний "аудитор" - а это дело весьма тонкое - ибо у ниего задача не сделать тебе хорошо а нарубить бабала себе. |
|||
93
Mikeware
06.06.12
✎
12:57
|
(83) угу, прочитал уже. Просто я еще по телефону разговариваю, на почту отвечаю и в мизде миздоболю...
|
|||
94
Касандер72
06.06.12
✎
12:57
|
(90) ну как-то так ...)
|
|||
95
Касандер72
06.06.12
✎
12:58
|
(92) это ты щас неподумвши сказал ))))
|
|||
96
Злопчинский
06.06.12
✎
12:59
|
(92) согласие по (88) не включает в себя согласие с "некогда рисовать квадратики".
- Надо, Федя, надо. . у меня например в конторе - ща реальные тяжелые затыки (славбогу не на моем участке ответсвенности), а почему - да тоже все некогда было "рисовать", все быстрее рубить надо было... нарубили.. хз знает чего.. ;-) |
|||
97
Злопчинский
06.06.12
✎
13:00
|
+(89) - уходите нафиг от концепции многострочных документов в ОПЕРАТВИТНОЙ работе. там где надо что-то РЕГСИТРИРОВАТЬ и регистрировать быстро - однострочный документ-атом. а там где надо что-то собрать/сконсолидировать - уже работат "как обычно".. ;-) как-то так...
|
|||
98
Mikeware
06.06.12
✎
13:02
|
(96) а я сдуру разрешил управление бизнес-процессами (в программе, у меня оно онлайновое) финдиру.. он накуролесил. сделал изменения "для своих", но вот про конечные результаты "в целом" не продумал... получилась куча двойных вывозов, и прочей фигни...
|
|||
99
Андрей_Андреич
naïve
06.06.12
✎
13:02
|
Все-таки согласен, что начинать надо с организации работ.
Для ускорения проведения документов предлагаю всем бабкам, бегающим с ТСД, намазать пятки скипидаром или выдать роликовые коньки. |
|||
100
Mikeware
06.06.12
✎
13:02
|
(97) не согласен. атомарная операция - не значит "одна строка"
|
|||
101
Касандер72
06.06.12
✎
13:02
|
(98) а при наших объемах инфы не заипаемся атомами оперить?
|
|||
102
Mikeware
06.06.12
✎
13:03
|
(99) можно просто тампаксы скипидаром смачивать...
|
|||
103
Касандер72
06.06.12
✎
13:03
|
(99) не прокатит - они и так возле компов кучкуются - очереди ждут
|
|||
104
Андрей_Андреич
naïve
06.06.12
✎
13:03
|
(97) Что это было?
|
|||
105
Mikeware
06.06.12
✎
13:04
|
(101) смотря как организуешь.....
|
|||
106
Касандер72
06.06.12
✎
13:05
|
Прикол хотите, могу кинуть сюда модуль проведения нашей накладной - который превратился в такой из-за быстрых хотелок руководства - только потом на здоровье не жалиться)
|
|||
107
Mikeware
06.06.12
✎
13:08
|
(106) НЕНАДА!!! твоих примеров кода хватило...
|
|||
108
Андрей_Андреич
naïve
06.06.12
✎
13:08
|
(105) Ну только если делать по аналогии чеки за день = отчет ККМ - тогда да. Но это же все думать надо, а автору некогда.
Кстати, ТС - мотай в Москву и срочно. На таком месте только здоровье угробишь - ни денег, ни квалификации не наработаешь. |
|||
109
Касандер72
06.06.12
✎
13:09
|
Ощутите себя суперменами в 1С-ке - его делало несколько поколений прогеров (внутренние функции не разворачиваю - места не хватит):
Процедура ОбработкаПроведения() Далее Процедура ОбработкаУдаленияПроведения() Далее //************************************************************************************* Процедура ОбработкаПроведения() текКурс = Валюта.Курс.Получить(ДатаДок); текОкр = Константа.ОсновнаяВалюта.ОкрСумм.Получить(ДатаДок); ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл // ЗАПИСЬ В РЕГИСТР ПРОДАЖ Регистр.новПродажи.Номенклатура = Номенклатура; Регистр.новПродажи.Размер = Обмер; Регистр.новПродажи.Цвет = Цвет; Регистр.новПродажи.Сорт = Сорт; Регистр.новПродажи.Валюта = Валюта; Регистр.новПродажи.Скидка = Скидка; Регистр.новПродажи.Склад = Склад; Регистр.новПродажи.Контрагент = Контрагент; Регистр.новПродажи.ВидПоставки = ВидПоставки; Регистр.новПродажи.ЦельПриобретения = ЦельП; Регистр.новПродажи.ПроданоИзделий = Итого; Регистр.новПродажи.ПроданоЕдиниц = ИтогоШт; Регистр.новПродажи.ПроданоСтоимость = Сумма; Регистр.новПродажи.ПроданоСуммаНДС = СуммаНДС; Регистр.новПродажи.ПроданоВсегоСНДС = СуммаСНДС; Регистр.новПродажи.РеализИзделий = Итого; Регистр.новПродажи.РеализЕдиниц = ИтогоШт; Регистр.новПродажи.РеализСтоимость = Сумма; Регистр.новПродажи.РеализСуммаНДС = СуммаНДС; Регистр.новПродажи.РеализВсегоСНДС = СуммаСНДС; Регистр.новПродажи.ПриказНаСкидки = ПриказНаОптовыеСкидки; Регистр.новПродажи.ДвижениеВыполнить(); // расчет сумм в основной валюте по курсу Если не (Валюта = Константа.ОсновнаяВалюта) Тогда Регистр.новПродажи.Номенклатура = Номенклатура; Регистр.новПродажи.Размер = Обмер; Регистр.новПродажи.Цвет = Цвет; Регистр.новПродажи.Сорт = Сорт; Регистр.новПродажи.Валюта = Константа.ОсновнаяВалюта; Регистр.новПродажи.Скидка = Скидка; Регистр.новПродажи.Склад = Склад; Регистр.новПродажи.Контрагент = Контрагент; Регистр.новПродажи.ВидПоставки = ВидПоставки; Регистр.новПродажи.ЦельПриобретения = ЦельП; Регистр.новПродажи.ПроданоИзделий = Итого; Регистр.новПродажи.ПроданоЕдиниц = ИтогоШт; Регистр.новПродажи.ПроданоСтоимость = Окр(Сумма*текКурс,текОкр,1); Регистр.новПродажи.ПроданоСуммаНДС = Окр(СуммаНДС*текКурс,текОкр,1); Регистр.новПродажи.ПроданоВсегоСНДС = Окр(СуммаСНДС*текКурс,текОкр,1); Регистр.новПродажи.РеализИзделий = Итого; Регистр.новПродажи.РеализЕдиниц = ИтогоШт; Регистр.новПродажи.РеализСтоимость = Окр(Сумма*текКурс,текОкр,1); Регистр.новПродажи.РеализСуммаНДС = Окр(СуммаНДС*текКурс,текОкр,1); Регистр.новПродажи.РеализВсегоСНДС = Окр(СуммаСНДС*текКурс,текОкр,1); Регистр.новПродажи.ПриказНаСкидки = ПриказНаОптовыеСкидки; Регистр.новПродажи.ДвижениеВыполнить(); КонецЕсли; // ЗАПИСЬ В РЕГИСТР ОСТАТКОВ Регистр.ОстаткиТоваров.ПривязыватьСтроку(НомерСтроки); Регистр.ОстаткиТоваров.Номенклатура = Номенклатура; Регистр.ОстаткиТоваров.КатегорияКачества = Номенклатура.Категория; Регистр.ОстаткиТоваров.Сорт = Сорт; Регистр.ОстаткиТоваров.Обмер = Обмер; Регистр.ОстаткиТоваров.Цвет = Цвет; Регистр.ОстаткиТоваров.Единица = Единица; Регистр.ОстаткиТоваров.Склад = Склад; Регистр.ОстаткиТоваров.Остаток = Количество; Регистр.ОстаткиТоваров.Количество = Итого; Регистр.ОстаткиТоваров.КоличествоШт = ИтогоШт; Регистр.ОстаткиТоваров.ДляОтчётов = ОтгрузкаНаСкладХранения; Если ОтгрузкаНаСкладХранения = 1 Тогда Регистр.ОстаткиТоваров.Оператив = Перечисление.Оперативы.ОтгрузкаСоСкладаВнешнему; ИначеЕсли Склад.СкладХранения = 1 Тогда Регистр.ОстаткиТоваров.Оператив = Перечисление.Оперативы.ОтгрузкаВнешнегоПокупателю; Иначе//Если Склад.СкладХранения = 0 Тогда Регистр.ОстаткиТоваров.Оператив = Перечисление.Оперативы.ОтгрузкаСоСкладаПокупателю; КонецЕсли; Регистр.ОстаткиТоваров.ДвижениеРасходВыполнить(); // ЕСЛИ ОТГРУЗКА НА ВНЕШНИЙ СКЛАД Если ОтгрузкаНаСкладХранения = 1 Тогда Регистр.ОстаткиТоваров.ПривязыватьСтроку(НомерСтроки); Регистр.ОстаткиТоваров.Номенклатура = Номенклатура; Регистр.ОстаткиТоваров.Сорт = Сорт; Регистр.ОстаткиТоваров.Обмер = Обмер; Регистр.ОстаткиТоваров.Единица = Единица; Регистр.ОстаткиТоваров.Склад = СкладБ; Регистр.ОстаткиТоваров.КатегорияКачества = Номенклатура.Категория; Регистр.ОстаткиТоваров.Цвет = Цвет; Регистр.ОстаткиТоваров.Остаток = Количество; Регистр.ОстаткиТоваров.Количество = Итого; Регистр.ОстаткиТоваров.КоличествоШт = ИтогоШТ; Регистр.ОстаткиТоваров.ДляОтчётов = 1; Регистр.ОстаткиТоваров.Оператив = Перечисление.Оперативы.ОтгрузкаСоСкладаВнешнему; Регистр.ОстаткиТоваров.ДвижениеПриходВыполнить(); КонецЕсли; КонецЦикла; // ПРОВЕДЕНИЕ ПО РЕГИСТРУ ОБОРОТОВ тазОбороты = СоздатьОбъект("ТаблицаЗначений"); ВыгрузитьТабличнуюЧасть(тазОбороты,"Номенклатура,Сорт,Обмер,Цвет,Итого,ИтогоШт"); тазОбороты.Свернуть("Номенклатура,Сорт,Обмер,Цвет","Итого,ИтогоШт"); тазОбороты.ВыбратьСтроки(); Пока тазОбороты.ПолучитьСтроку() = 1 Цикл Регистр.ОборотыСклада.Номенклатура = тазОбороты.Номенклатура; Регистр.ОборотыСклада.Сорт = тазОбороты.Сорт; Регистр.ОборотыСклада.Размер = тазОбороты.Обмер; Регистр.ОборотыСклада.Цвет = тазОбороты.Цвет; Регистр.ОборотыСклада.Склад = Склад; Регистр.ОборотыСклада.Изделий = тазОбороты.Итого; Регистр.ОборотыСклада.Единиц = тазОбороты.ИтогоШт; Регистр.ОборотыСклада.ДвижениеРасходВыполнить(); Если ОтгрузкаНаСкладХранения = 1 Тогда Регистр.ОборотыСклада.Номенклатура = тазОбороты.Номенклатура; Регистр.ОборотыСклада.Сорт = тазОбороты.Сорт; Регистр.ОборотыСклада.Размер = тазОбороты.Обмер; Регистр.ОборотыСклада.Цвет = тазОбороты.Цвет; Регистр.ОборотыСклада.Склад = СкладБ; Регистр.ОборотыСклада.Изделий = тазОбороты.Итого; Регистр.ОборотыСклада.Единиц = тазОбороты.ИтогоШт; Регистр.ОборотыСклада.ДвижениеПриходВыполнить(); КонецЕсли; КонецЦикла; // ЗАПИСЬ В РЕЗЕРВ ПО СТАРОЙ СХЕМЕ //Если флРасчётПоНовойСхеме = 0 Тогда // докОснование = СоздатьОбъект("Документ"); // Если докОснование.НайтиДокумент(ДокументОснование) = 1 Тогда // докОснование.ВыбратьСтроки(); // Пока докОснование.ПолучитьСтроку() = 1 Цикл // Регистр.Резерв.ПривязыватьСтроку(докОснование.НомерСтроки); // Регистр.Резерв.Номенклатура = докОснование.Номенклатура; // Регистр.Резерв.Сорт = докОснование.Сорт; // Регистр.Резерв.Склад = докОснование.Склад; // Регистр.Резерв.Количество = докОснование.Итого; // Регистр.Резерв.КоличествоШт = докОснование.ИтогоШт; // Регистр.Резерв.ДвижениеРасходВыполнить(); // КонецЦикла; // КонецЕсли; //КонецЕсли; // ПРОВЕДЕНИЕ ОПЕРАЦИИ БУХГАЛТЕРСКИХ ИТОГОВ Если (ДатаДок>=Константа.ДатаНачалаВЭС) и не(Контрагент.Принадлежность=Перечисление.Принадлежность.РезидентРБ) Тогда СчВЗ=СчетПоКоду("64.2"); Сч62=СчетПоКоду("62.2"); СумОп=Окр(Итог("СуммаСНДС")*Валюта.Курс.Получить(ДатаДок)/Валюта.Кратность.Получить(ДатаДок),0,1); глСформироватьПроводки(Контекст,Сч62,СчетПоКоду("46.2"),Валюта,,СумОп,Итог("СуммаСНДС"),Контрагент,ТекущийДокумент(),Перечисление.ОплатаЗа.Трикотаж,,,,"Реализация товаров",""); Ит=СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты,Контрагент,2); Ит.ИспользоватьСубконто(ВидыСубконто.ОплатаЗа,Перечисление.ОплатаЗа.Трикотаж,2); Ит.ИспользоватьСубконто(ВидыСубконто.Документ,,1); Ит.ВЫполнитьЗапрос(,,СчВЗ,,Валюта); Ит.ВыбратьСубконто(3); ОстСумма=Итог("СуммаСНДС"); Пока (Ит.ПолучитьСубконто(3)=1)и(ОстСумма>0) Цикл Если Ит.СКК(2)>0 Тогда Если Ит.СКК(2)>ОстСумма Тогда СумОп=Окр(ОстСумма*Валюта.Курс.Получить(Ит.Субконто(3).ДатаДок)/Валюта.Кратность.Получить(Ит.Субконто(3).ДатаДок),0,1); глСформироватьПроводки(Контекст,СчВЗ,Сч62,Валюта,,СумОп,ОстСумма,Контрагент,Ит.Субконто(3),Перечисление.ОплатаЗа.Трикотаж,Контрагент,ТекущийДокумент(),Перечисление.ОплатаЗа.Трикотаж,"Оплата от клиента",""); ОстСумма=0; Иначе СумОп=Окр(Ит.СКК(2)*Валюта.Курс.Получить(Ит.Субконто(3).ДатаДок)/Валюта.Кратность.Получить(Ит.Субконто(3).ДатаДок),0,1); глСформироватьПроводки(Контекст,СчВЗ,Сч62,Валюта,,СумОп,Ит.СКК(2),Контрагент,Ит.Субконто(3),Перечисление.ОплатаЗа.Трикотаж,Контрагент,ТекущийДокумент(),Перечисление.ОплатаЗа.Трикотаж,"Оплата от клиента",""); ОстСумма=ОстСумма-Ит.СКК(2); КонецЕсли; КонецЕсли; КонецЦикла; Операция.СуммаОперации=Итог("СуммаСНДС"); Операция.Содержание="Продажа товаров"; Операция.Записать(); КонецЕсли; // ЗАПИСЬ В РЕГИСТР РЕАЛИЗАЦИИ текРегион = ?(Контрагент.Резидент=1,СокрЛП(Контрагент.Область),СокрЛП(Контрагент.НасПункт.Страна)); текОтчетГруппа = ?(Контрагент.Резидент=1,СокрЛП(Контрагент.ФормаСоб),СокрЛП(ВидОплаты)); тазРеализации = СоздатьОбъект("ТаблицаЗначений"); ВыгрузитьТабличнуюЧасть(тазРеализации); тазРеализации.Свернуть("СекцияИзделия,Возраст,СтавкаНДС","Итого,ИтогоШт,Сумма,СуммаНДС,СуммаСНДС"); тазРеализации.ВыбратьСтроки(); Пока тазРеализации.ПолучитьСтроку() = 1 Цикл Регистр.новРеализация.ВидДокумента = Перечисление.ВидыДокументов.Накладная; Регистр.новРеализация.Склад = Склад; Регистр.новРеализация.ВидПоставки = ВидПоставки; Регистр.новРеализация.ЦельПриобретения = ЦельП; Регистр.новРеализация.Регион = текРегион; Регистр.новРеализация.ОтчетГруппа = текОтчетГруппа; Регистр.новРеализация.Контрагент = Контрагент; Регистр.новРеализация.Секция = тазРеализации.СекцияИзделия; Регистр.новРеализация.Возраст = тазРеализации.Возраст; Регистр.новРеализация.СтавкаНДС = тазРеализации.СтавкаНДС.Ставка; Регистр.новРеализация.Валюта = Валюта; Регистр.новРеализация.Единиц = тазРеализации.ИтогоШт; Регистр.новРеализация.Изделий = тазРеализации.Итого; Регистр.новРеализация.Стоимость = тазРеализации.Сумма; Регистр.новРеализация.СуммаНДС = тазРеализации.СуммаНДС; Регистр.новРеализация.ВсегоСНДС = тазРеализации.СуммаСНДС; Регистр.новРеализация.ДвижениеВыполнить(); Если не (Валюта = Константа.ОсновнаяВалюта) Тогда Регистр.новРеализация.ВидДокумента = Перечисление.ВидыДокументов.Накладная; Регистр.новРеализация.Склад = Склад; Регистр.новРеализация.ВидПоставки = ВидПоставки; Регистр.новРеализация.ЦельПриобретения = ЦельП; Регистр.новРеализация.Регион = текРегион; Регистр.новРеализация.ОтчетГруппа = текОтчетГруппа; Регистр.новРеализация.Контрагент = Контрагент; Регистр.новРеализация.Секция = тазРеализации.СекцияИзделия; Регистр.новРеализация.Возраст = тазРеализации.Возраст; Регистр.новРеализация.СтавкаНДС = тазРеализации.СтавкаНДС.Ставка; Регистр.новРеализация.Валюта = Константа.ОсновнаяВалюта; Регистр.новРеализация.Единиц = тазРеализации.ИтогоШт; Регистр.новРеализация.Изделий = тазРеализации.Итого; Регистр.новРеализация.Стоимость = Окр(тазРеализации.Сумма*текКурс,текОкр,1); Регистр.новРеализация.СуммаНДС = Окр(тазРеализации.СуммаНДС*текКурс,текОкр,1); Регистр.новРеализация.ВсегоСНДС = Окр(тазРеализации.СуммаСНДС*текКурс,текОкр,1); Регистр.новРеализация.ДвижениеВыполнить(); КонецЕсли; КонецЦикла; тазРеализации.НоваяКолонка("ДляСвертки"); тазРеализации.Свернуть("ДляСвертки","Итого,ИтогоШт,Сумма,СуммаНДС,СуммаСНДС"); тазРеализации.ВыбратьСтроки(); Пока тазРеализации.ПолучитьСтроку() = 1 Цикл Регистр.новРеализация.ВидДокумента = Перечисление.ВидыДокументов.Накладная; Регистр.новРеализация.Склад = Склад; Регистр.новРеализация.ВидПоставки = ВидПоставки; Регистр.новРеализация.ЦельПриобретения = ЦельП; Регистр.новРеализация.Регион = текРегион; Регистр.новРеализация.ОтчетГруппа = текОтчетГруппа; Регистр.новРеализация.Контрагент = Контрагент; Регистр.новРеализация.Секция = ПолучитьПустоеЗначение("Перечисление.Секция"); Регистр.новРеализация.Возраст = ПолучитьПустоеЗначение("Перечисление.Возраст"); Регистр.новРеализация.СтавкаНДС = -1; Регистр.новРеализация.Валюта = Валюта; Регистр.новРеализация.Единиц = тазРеализации.ИтогоШт; Регистр.новРеализация.Изделий = тазРеализации.Итого; Регистр.новРеализация.Стоимость = тазРеализации.Сумма; Регистр.новРеализация.СуммаНДС = тазРеализации.СуммаНДС; Регистр.новРеализация.ВсегоСНДС = тазРеализации.СуммаСНДС; Регистр.новРеализация.ДвижениеВыполнить(); Если не (Валюта = Константа.ОсновнаяВалюта) Тогда Регистр.новРеализация.ВидДокумента = Перечисление.ВидыДокументов.Накладная; Регистр.новРеализация.Склад = Склад; Регистр.новРеализация.ВидПоставки = ВидПоставки; Регистр.новРеализация.ЦельПриобретения = ЦельП; Регистр.новРеализация.Регион = текРегион; Регистр.новРеализация.ОтчетГруппа = текОтчетГруппа; Регистр.новРеализация.Контрагент = Контрагент; Регистр.новРеализация.Секция = ПолучитьПустоеЗначение("Перечисление.Секция"); Регистр.новРеализация.Возраст = ПолучитьПустоеЗначение("Перечисление.Возраст"); Регистр.новРеализация.СтавкаНДС = -1; Регистр.новРеализация.Валюта = Константа.ОсновнаяВалюта; Регистр.новРеализация.Единиц = тазРеализации.ИтогоШт; Регистр.новРеализация.Изделий = тазРеализации.Итого; Регистр.новРеализация.Стоимость = Окр(тазРеализации.Сумма*текКурс,текОкр,1); Регистр.новРеализация.СуммаНДС = Окр(тазРеализации.СуммаНДС*текКурс,текОкр,1); Регистр.новРеализация.ВсегоСНДС = Окр(тазРеализации.СуммаСНДС*текКурс,текОкр,1); Регистр.новРеализация.ДвижениеВыполнить(); КонецЕсли; КонецЦикла; тазРасхода = СоздатьОбъект("ТаблицаЗначений"); тазРасхода.НоваяКолонка("Номенклатура","Справочник.Номенклатура"); тазРасхода.НоваяКолонка("Обмер","Справочник.Размеры"); тазРасхода.НоваяКолонка("Цвет","Справочник.Цвета"); тазРасхода.НоваяКолонка("Сорт","Перечисление.Сорт"); тазРасхода.НоваяКолонка("Комплект","Число",2,0); тазРасхода.НоваяКолонка("ОбъектКонтроля","Справочник.ОбъектыКонтроля"); тазРасхода.НоваяКолонка("Упаковок","Число",10,0); тазРасхода.НоваяКолонка("Изделий","Число",10,0); тазРасхода.НоваяКолонка("Единиц","Число",10,0); // РЕГИСТРАЦИЯ ПЕРЕМЕЩЕНИЯ ИЗДЕЛИЙ докДетализация = СоздатьОбъект("Документ.НакладнаяНаОтгрузку2"); БезУпаковки = ПолучитьПустоеЗначение("Справочник.ШтрихкодыУпаковок"); Если ПустоеЗначение(Детализация) = 0 Тогда докДетализация.НайтиДокумент(Детализация); Если докДетализация.Выбран() = 1 Тогда докДетализация.ВыбратьСтроки(); Пока докДетализация.ПолучитьСтроку() = 1 Цикл Если докДетализация.ТипЕдиницы = Перечисление.Составляющие.Изделие Тогда тазРасхода.НоваяСтрока(); тазРасхода.Номенклатура = докДетализация.ШтрихкодЕдиницы.Номенклатура; тазРасхода.Обмер = докДетализация.ШтрихкодЕдиницы.Обмер; тазРасхода.Цвет = докДетализация.ШтрихкодЕдиницы.Цвет; тазРасхода.Сорт = докДетализация.ШтрихкодЕдиницы.Сорт; тазРасхода.Комплект = 1; тазРасхода.ОбъектКонтроля = докДетализация.ШтрихкодЕдиницы.ОбъектКонтроля; тазРасхода.Упаковок = 1; тазРасхода.Изделий = 1; тазРасхода.Единиц = докДетализация.ШтрихкодЕдиницы.Номенклатура.Количество; глРасшитьУпаковкуИзделия(докДетализация.ШтрихкодЕдиницы,ТекущийДокумент()); глПеремещениеИзделия(докДетализация.ШтрихкодЕдиницы,Перечисление.ОперацииСизделиями.ОтгрузкаПокупателю,докДетализация.ОбъектОтгрузки,ТекущийДокумент(),БезУпаковки); ИначеЕсли докДетализация.ТипЕдиницы = Перечисление.Составляющие.Упаковка Тогда тазРасхода.НоваяСтрока(); тазРасхода.Номенклатура = докДетализация.ШтрихкодЕдиницы.Номенклатура; тазРасхода.Обмер = докДетализация.ШтрихкодЕдиницы.Обмер; тазРасхода.Цвет = докДетализация.ШтрихкодЕдиницы.Цвет; тазРасхода.Сорт = докДетализация.ШтрихкодЕдиницы.Сорт; тазРасхода.Комплект = докДетализация.ШтрихкодЕдиницы.Количество; тазРасхода.ОбъектКонтроля = глОбъектКонтроляУпаковки(докДетализация.ШтрихкодЕдиницы); тазРасхода.Упаковок = 1; тазРасхода.Изделий = докДетализация.ШтрихкодЕдиницы.Количество; тазРасхода.Единиц = докДетализация.ШтрихкодЕдиницы.Количество * докДетализация.ШтрихкодЕдиницы.Номенклатура.Количество; глПеремещениеУпаковки(докДетализация.ШтрихкодЕдиницы,Перечисление.ОперацииСизделиями.ОтгрузкаПокупателю,докДетализация.ОбъектОтгрузки,ТекущийДокумент()); КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; Если (ТекущаяДата() - ДатаДок)>=30 Тогда глЗаписатьПодозрительныйДок(ТекущийДокумент()); КонецЕсли; тазРасхода.Свернуть("Номенклатура,Обмер,Цвет,Сорт,Комплект,ОбъектКонтроля","Упаковок,Изделий,Единиц"); тазРасхода.ВыбратьСтроки(); Пока тазРасхода.ПолучитьСтроку() = 1 Цикл Регистр.новОстатки.Номенклатура = тазРасхода.Номенклатура; Регистр.новОстатки.Обмер = тазРасхода.Обмер; Регистр.новОстатки.Цвет = тазРасхода.Цвет; Регистр.новОстатки.Сорт = тазРасхода.Сорт; Регистр.новОстатки.Комплект = тазРасхода.Комплект; Регистр.новОстатки.ОбъектКонтроля = тазРасхода.ОбъектКонтроля; Регистр.новОстатки.Упаковок = тазРасхода.Упаковок; Регистр.новОстатки.Изделий = тазРасхода.Изделий; Регистр.новОстатки.Единиц = тазРасхода.Единиц; Регистр.новОстатки.ДвижениеРасходВыполнить(); Если тазРасхода.ОбъектКонтроля.ПризнакРезерва = 1 Тогда Регистр.новРезерв.Номенклатура = тазРасхода.Номенклатура; Регистр.новРезерв.Сорт = тазРасхода.Сорт; Регистр.новРезерв.Размер = тазРасхода.Обмер; Регистр.новРезерв.Цвет = тазРасхода.Цвет; Регистр.новРезерв.Склад = тазРасхода.ОбъектКонтроля.Склад; Регистр.новРезерв.Упаковок = тазРасхода.Упаковок; Регистр.новРезерв.Изделий = тазРасхода.Изделий; Регистр.новРезерв.Единиц = тазРасхода.Единиц; Регистр.новРезерв.ДвижениеРасходВыполнить(); КонецЕсли; КонецЦикла; // создание файла *.DBF //ДБФ = СоздатьОбъект("XBase"); // //ДБФ.ДобавитьПоле("vozr",2,20,0); //ДБФ.ДобавитьПоле("stnds",1,5,2); //ДБФ.ДобавитьПоле("itogo",1,18,0); //ДБФ.ДобавитьПоле("summa",1,18,0); //ДБФ.ДобавитьПоле("sumnds",1,18,0); //ДБФ.ДобавитьПоле("sumsnds",1,18,0); //ДБФ.ДобавитьПоле("kolvo",1,18,0); //ДБФ.ДобавитьПоле("massa",1,12,3); // //ДБФ.ДобавитьПоле("ynpgo",2,9,0); // Грузоотправитель //ДБФ.ДобавитьПоле("ynpgp",2,9,0); // Грузополучатель //ДБФ.ДобавитьПоле("zak",2,9,0); // Заказчик автомобильной перевозки (плательщик) // //ДБФ.СоздатьФайл("D:\1CDB\PolesieTTN\N" + Прав(СокрЛП(Строка(НомерДок)),6) + ".DBF"); // //Если ДБФ.Открыта()=0 Тогда // Сообщить("Не удалось создать ДБФ файл!"); //КонецЕсли; // //тазИтогов = СоздатьОбъект("ТаблицаЗначений"); //ВыгрузитьТабличнуюЧасть(тазИтогов); //тазИтогов.Свернуть("Возраст,СтавкаНДС","Итого,Сумма,СуммаНДС,СуммаСНДС,Количество,Масса"); //тазИтогов.Сортировать("+Возраст,+СтавкаНДС"); // //тазИтогов.ВыбратьСтроки(); //Пока тазИтогов.ПолучитьСтроку()=1 Цикл // Состояние("Выполняется выгрузка в ДБФ."); // ДБФ.Добавить(); // // Если тазИтогов.Возраст = Перечисление.Возраст.Взрослый Тогда // ДБФ.vozr = "Взрослый"; // ИначеЕсли тазИтогов.Возраст = Перечисление.Возраст.Детский Тогда // ДБФ.vozr = "Детский"; // Иначе // ДБФ.vozr = "Прочий"; // КонецЕсли; // // ДБФ.stnds = тазИтогов.СтавкаНДС.Ставка; // ДБФ.itogo = тазИтогов.Итого; // ДБФ.summa = тазИтогов.Сумма; // ДБФ.sumnds = тазИтогов.СуммаНДС; // ДБФ.sumsnds = тазИтогов.СуммаСНДС; // ДБФ.kolvo = тазИтогов.Количество; // ДБФ.massa = тазИтогов.Масса; // ДБФ.ynpgo = СокрЛП(Отправитель.ОбщийУН); // ДБФ.ynpgp = СокрЛП(Контрагент.ОбщийУН); // ДБФ.zak = СокрЛП(Заказчик.ОбщийУН); // ДБФ.Записать(); //КонецЦикла; // //Если флТранспортныеРасходы = 1 Тогда // ДБФ.Добавить(); // ДБФ.vozr = "ТранспортныеРасходы"; // ДБФ.stnds = ТРСтавкаНДС; // ДБФ.summa = ТРСтоимость; // ДБФ.sumnds = ТРСуммаНДС; // ДБФ.sumsnds = ТРСуммаСНДС; // ДБФ.ynpgo = СокрЛП(Отправитель.ОбщийУН); // ДБФ.ynpgp = СокрЛП(Контрагент.ОбщийУН); // ДБФ.zak = СокрЛП(Заказчик.ОбщийУН); // ДБФ.Записать(); //КонецЕсли; // //ДБФ.Добавить(); //ДБФ.vozr = "Итого"; //ДБФ.itogo = тазИтогов.Итог("Итого"); //ДБФ.summa = тазИтогов.Итог("Сумма") + ТРСтоимость; //ДБФ.sumnds = тазИтогов.Итог("СуммаНДС")+ТРСуммаНДС; //ДБФ.sumsnds = тазИтогов.Итог("СуммаСНДС")+ТРСуммаСНДС; //ДБФ.kolvo = тазИтогов.Итог("Количество"); //ДБФ.massa = тазИтогов.Итог("Масса"); //ДБФ.ynpgo = СокрЛП(Отправитель.ОбщийУН); //ДБФ.ynpgp = СокрЛП(Контрагент.ОбщийУН); //ДБФ.zak = СокрЛП(Заказчик.ОбщийУН); //ДБФ.Записать(); // //ДБФ.ЗакрытьФайл(); //-создание файла *.DBF КонецПроцедуры // ОбработкаПроведения() //************************************************************************************* Процедура ОбработкаУдаленияПроведения() Если НаУчете = 1 Тогда Если (НазваниеНабораПрав()<>"Администратор") и (НазваниеНабораПрав()<>"БухгалтерияСклада") Тогда Предупреждение("Данная Накладная взята на учет Бухгалтером склада !" +РазделительСтрок+"Для отмены проведения необходимо снять её с учёта."); СтатусВозврата(0); Возврат; КонецЕсли; КонецЕсли; докДетализация = СоздатьОбъект("Документ.НакладнаяНаОтгрузку2"); БезУпаковки = ПолучитьПустоеЗначение("Справочник.ШтрихкодыУпаковок"); Если ПустоеЗначение(Детализация) = 0 Тогда докДетализация.НайтиДокумент(Детализация); Если докДетализация.Выбран() = 1 Тогда докДетализация.ВыбратьСтроки(); Пока докДетализация.ПолучитьСтроку() = 1 Цикл Если докДетализация.ТипЕдиницы = Перечисление.Составляющие.Изделие Тогда глПеремещениеИзделия(докДетализация.ШтрихкодЕдиницы,Перечисление.ОперацииСизделиями.ОтменаОтгрузки,докДетализация.ОбъектОтгрузки,ТекущийДокумент(),БезУпаковки); ИначеЕсли докДетализация.ТипЕдиницы = Перечисление.Составляющие.Упаковка Тогда глПеремещениеУпаковки(докДетализация.ШтрихкодЕдиницы,Перечисление.ОперацииСизделиями.ОтменаОтгрузки,докДетализация.ОбъектОтгрузки,ТекущийДокумент()); КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; КонецПроцедуры // ОбработкаУдаленияПроведения() //************************************************************************************* |
|||
110
Касандер72
06.06.12
✎
13:10
|
Ну надеюсь теперь ветку на пятничную можно переименовать)))
|
|||
111
Андрей_Андреич
naïve
06.06.12
✎
13:13
|
(110) И что ты чужим кодом хвастаешься? Кстати, код как код. У меня своего такого мегабайты.
|
|||
112
Касандер72
06.06.12
✎
13:15
|
(111) не совсем чужой - большая часть моя - что мог подмодерил насколько руки дошли
а модуль формы документа мне удалось сократить до 11000 строк) |
|||
113
Mikeware
06.06.12
✎
13:18
|
тазОбороты, глЗаписатьПодозрительныйДокумент... забавно..
реализации вместе с перемещениями. обороты склада... такое ощущение, что это не белоруссия, а казахстан, причем центр чуйской долины... |
|||
114
Злопчинский
06.06.12
✎
13:19
|
(100) все зависит от частности/конкретики. где-то атм = 1 строка, а где-то 1 день или квартал ;-)
|
|||
115
Злопчинский
06.06.12
✎
13:19
|
(113) угу..
|
|||
116
Касандер72
06.06.12
✎
13:21
|
(113) да по фигу каково название - досталось по наследству
а подозреные документы - фигня, к справочнику контрагентов - та ещё следилка прикручена))) |
|||
117
Mikeware
06.06.12
✎
13:23
|
(116) следилок у всех достаточно.
повесь триггер на 1сДжорн, и будет тебе счастье... |
|||
118
Злопчинский
06.06.12
✎
13:23
|
(111) присоединяюсь.. вообще это тотальная болезнь "сделать быстро"... - таковы реалии нашего сейчас. главное - все-таки делать быстро - но сбалансировано - где надо - можно и схалтурить , но в некоторых моментах - стоять насмерть. я вот от конторы был отвалился месяцев на 8 - вообще не появлялся, да и сисадмин мой тоже - срулили на другой проект. ну и что - контора успешно пережила и нигде не застопорилась. все работало тикитак.
. теперь вот очередные вкусности надо делать, причем тривиальные... которые реально ДОЛЖНЫ БЫТЬ. их сейчас нет - косяки и прут из этих участков. |
|||
119
Злопчинский
06.06.12
✎
13:26
|
а вообще должен быть баланс: или 19 обезьян +1 прогтарелкосуп по 20 тыс = 400тыс или 10 обезьян по 20 тыс +1 программист за 100 и 100 - в профите...
;-) |
|||
120
Касандер72
06.06.12
✎
13:26
|
(118) когда что-то расчитываешь, моделируешь рассчитываешь на нормальных юзверей ...
на практике - такое ощущение что основная задача - заставить пргера написать поболее контролек, бьющих по рукам - низя! |
|||
121
Касандер72
06.06.12
✎
13:30
|
(117) подробнее плиз - что-то знакомое
|
|||
122
Mikeware
06.06.12
✎
13:32
|
(120) Это диалектика. Либо вменяемые пользователи, которым не нужно бить по рукам, которые понимают что и как делать. ЛИбо экономия на зарплате мартышек за счет зарплаты вменяемых программистов - и, главное, постановщиков (бизнес-аналлитиков).
|
|||
123
Касандер72
06.06.12
✎
13:35
|
(122) мечтаю увидеть на предприятии бизнес-аналитика .... или хотя бы систематехника толкового ... сеть в полной ....
|
|||
124
Злопчинский
06.06.12
✎
13:37
|
(120) вот ты и подобрался к главной мысле наконец. у обезъян не должно быть альтернатив! бери больше - кидай дальше - отдыхай пока летит. ВСЕ. что барть, куда кидать - определяет не обезъяна.
. поэтому я и гворю - каждая операция - должна быть элементарной (атом). иметь четкое начало-конец и конкретный измеритель этой операции. операция должна выполняться единственным способом. без альтернатив. без инициативы. за одной элементалью - другая элементаль. тупой конвеер. легко модифицируемый, легкозаменяемый исполнителями. . упаковка - отдельно. лейбирование - отдельно. отбор лебированных. отдельно. комплектация отдельно после отбора лейбированных. итд. . но! все зависит от частногстей и конкретики. Проработка и организация вопроса может быть такая. что упаковка и лейбирование - одна элементаль. |
|||
125
Злопчинский
06.06.12
✎
13:39
|
(122) у меян пока вменяемых пользователей удается найти только на конкретные свои участки, да и то с трудом. на связи с другими участками (а без этого никаки) - жпс полный. ни мотивации, ни хотения, ни подвижек. болото. отсутвует вменяемый хороший средний класс. где его взять - ХЗ. растить самим - это определенные вложения и деньги на "воспитателя" тоже нужны.. ;-). Это только ТС за тс работает ;-)
|
|||
126
Злопчинский
06.06.12
✎
13:40
|
(123) а ты там кто - фикси или приходящий?
|
|||
127
Злопчинский
06.06.12
✎
13:41
|
дучше тебя техпроцесс во всей его взаимосвязи кто-нит знает? не только на общем идейном уровне, но и включая средний уровени сиполнения 'mnb[ процессов?
|
|||
128
Касандер72
06.06.12
✎
13:51
|
(125) смотрящий скорее
(127) нет, я непосредственно ошиваюсь, на каждом автоматизируемом участке - изучаю работу, склеиваю схему передачи данных - но до конца - как до Москвы раком |
|||
129
Касандер72
06.06.12
✎
13:53
|
+(128) зачастую спец тупо показывает что он делает в проге - приходится код колупать
например просить у товароведа накладную выписать (маленькую) вручную - глухой номер |
|||
130
FN
06.06.12
✎
14:00
|
жесть...
а самое печальное что ТС потом в резюме напишет что-то типа "автоматизировал супер-пупер завод, база 60ГБ, персонал 10000 и все с ТСД" - вуаля - готовый спец с зп "отстатыщь" :( |
|||
131
Касандер72
06.06.12
✎
14:00
|
+(129) в общем работа либо разработческого либо изобретательского характера - типа нужно велосипед изобрести, при чем универсальный,или делаю математические наработки, которые потом часто используются.
Черновую работу юнатам обычно даем потренться - потом ползаешь за ними - косяки правишь ))) |
|||
132
Андрей_Андреич
naïve
06.06.12
✎
14:01
|
(131) У Вас еще и юннаты есть?
|
|||
133
Зеленый Кот
06.06.12
✎
14:01
|
какая интересная тема
|
|||
134
Касандер72
06.06.12
✎
14:03
|
(132) угум текучка страшная - больше года - пару чел
|
|||
135
Касандер72
06.06.12
✎
14:03
|
+(134) юнаты - работающие меньше года - 90% состава
|
|||
136
Касандер72
06.06.12
✎
14:06
|
(130) до автоматизации далеко - народу захотелось, чтобы штрихкодики "как у всех были" и гемора с ними - вот и побаловались, периодически им скучно становиться - вот и придумывают что-нить лишенное логики - чтобы поиздевываться бывает спецом кривенько и ложим)
|
|||
137
Злопчинский
06.06.12
✎
15:52
|
открою страшную тайну: универсальное не бывает эффективным. Универсальное - впролне может устраивать. но до эффективности - очень далеко. так что - чем более специализированным будет решение - тем он лучше будет делать требуемое.
|
|||
138
Касандер72
06.06.12
✎
15:56
|
(137) попробуй енто в глобальник вставить:
глСписокЭлементов = СоздатьОбъект("СписокЗначений"); Функция глОпределитьСписокЭлементов3(перСправочник,перВладелец,перСписокПолей,перПорядок) Экспорт Фраги = ""; Если ВвестиСтроку(Фраги," УКАЖИТЕ ФРАГМЕНТЫ ДЛЯ ПОИСКА: ",50,0) < 1 Тогда Возврат 0; ИначеЕсли ПустаяСтрока(Фраги) = 1 Тогда Возврат 0; КонецЕсли; Фраги = Врег(СокрЛП(Фраги))+","; Фраги = СтрЗаменить(Фраги," ",","); Фраги = СтрЗаменить(Фраги,Симв(10),","); Фраги = СтрЗаменить(Фраги,Симв(13),","); Пока Найти(Фраги,",,") > 0 Цикл Фраги = СтрЗаменить(Фраги,",,",","); КонецЦикла; Фраг1 = ""; Запятая = Найти(Фраги,","); Если Запятая > 0 Тогда Фраг1 = Лев(Фраги,Запятая-1); Фраги = Сред(Фраги,Запятая+1); КонецЕсли; Фраг2 = ""; Запятая = Найти(Фраги,","); Если Запятая > 0 Тогда Фраг2 = Лев(Фраги,Запятая-1); Фраги = Сред(Фраги,Запятая+1); КонецЕсли; Фраг3 = ""; Запятая = Найти(Фраги,","); Если Запятая > 0 Тогда Фраг3 = Лев(Фраги,Запятая-1); Фраги = Сред(Фраги,Запятая+1); КонецЕсли; Фраг4 = ""; Запятая = Найти(Фраги,","); Если Запятая > 0 Тогда Фраг4 = Лев(Фраги,Запятая-1); Фраги = Сред(Фраги,Запятая+1); КонецЕсли; Фраг5 = ""; Запятая = Найти(Фраги,","); Если Запятая > 0 Тогда Фраг5 = Лев(Фраги,Запятая-1); Фраги = Сред(Фраги,Запятая+1); КонецЕсли; Поля = перСписокПолей + ","; Поле1 = ""; Запятая = Найти(Поля,","); Если Запятая > 0 Тогда Поле1 = Лев(Поля,Запятая-1); Поля = Сред(Поля,Запятая+1); КонецЕсли; Поле2 = ""; Запятая = Найти(Поля,","); Если Запятая > 0 Тогда Поле2 = Лев(Поля,Запятая-1); Поля = Сред(Поля,Запятая+1); КонецЕсли; Поле3 = ""; Запятая = Найти(Поля,","); Если Запятая > 0 Тогда Поле3 = Лев(Поля,Запятая-1); Поля = Сред(Поля,Запятая+1); КонецЕсли; Поле4 = ""; Запятая = Найти(Поля,","); Если Запятая > 0 Тогда Поле4 = Лев(Поля,Запятая-1); Поля = Сред(Поля,Запятая+1); КонецЕсли; Поле5 = ""; Запятая = Найти(Поля,","); Если Запятая > 0 Тогда Поле5 = Лев(Поля,Запятая-1); Поля = Сред(Поля,Запятая+1); КонецЕсли; глЗапрос = СоздатьОбъект("Запрос"); глТекст = "Обрабатывать Все; |Указатель = Справочник."+перСправочник+".ТекущийЭлемент;"; Если ПустоеЗначение(перВладелец) = 0 Тогда глТекст = глТекст + РазделительСтрок + "искВладелец = Справочник."+перСправочник+".Владелец; Условие(искВладелец=перВладелец);"; КонецЕсли; Если ПустоеЗначение(Поле1) = 0 Тогда глТекст = глТекст + РазделительСтрок + "Поиска1 = Справочник."+перСправочник+"."+Поле1+";"; КонецЕсли; Если ПустоеЗначение(Поле2) = 0 Тогда глТекст = глТекст + РазделительСтрок + "Поиска2 = Справочник."+перСправочник+"."+Поле2+";"; КонецЕсли; Если ПустоеЗначение(Поле3) = 0 Тогда глТекст = глТекст + РазделительСтрок + "Поиска3 = Справочник."+перСправочник+"."+Поле3+";"; КонецЕсли; Если ПустоеЗначение(Поле4) = 0 Тогда глТекст = глТекст + РазделительСтрок + "Поиска4 = Справочник."+перСправочник+"."+Поле4+";"; КонецЕсли; Если ПустоеЗначение(Поле5) = 0 Тогда глТекст = глТекст + РазделительСтрок + "Поиска5 = Справочник."+перСправочник+"."+Поле5+";"; КонецЕсли; Если ПустоеЗначение(Фраг1) = 0 Тогда глТекст = глТекст + РазделительСтрок + "Условие("; Если ПустоеЗначение(Поле1) = 0 Тогда глТекст = глТекст + "(Найти(Врег(Поиска1),Фраг1)>0)"; КонецЕсли; Если ПустоеЗначение(Поле2) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска2),Фраг1)>0)"; КонецЕсли; Если ПустоеЗначение(Поле3) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска3),Фраг1)>0)"; КонецЕсли; Если ПустоеЗначение(Поле4) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска4),Фраг1)>0)"; КонецЕсли; Если ПустоеЗначение(Поле5) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска5),Фраг1)>0)"; КонецЕсли; глТекст = глТекст + ");"; КонецЕсли; Если ПустоеЗначение(Фраг2) = 0 Тогда глТекст = глТекст + РазделительСтрок + "Условие("; Если ПустоеЗначение(Поле1) = 0 Тогда глТекст = глТекст + "(Найти(Врег(Поиска1),Фраг2)>0)"; КонецЕсли; Если ПустоеЗначение(Поле2) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска2),Фраг2)>0)"; КонецЕсли; Если ПустоеЗначение(Поле3) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска3),Фраг2)>0)"; КонецЕсли; Если ПустоеЗначение(Поле4) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска4),Фраг2)>0)"; КонецЕсли; Если ПустоеЗначение(Поле5) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска5),Фраг2)>0)"; КонецЕсли; глТекст = глТекст + ");"; КонецЕсли; Если ПустоеЗначение(Фраг3) = 0 Тогда глТекст = глТекст + РазделительСтрок + "Условие("; Если ПустоеЗначение(Поле1) = 0 Тогда глТекст = глТекст + "(Найти(Врег(Поиска1),Фраг3)>0)"; КонецЕсли; Если ПустоеЗначение(Поле2) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска2),Фраг3)>0)"; КонецЕсли; Если ПустоеЗначение(Поле3) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска3),Фраг3)>0)"; КонецЕсли; Если ПустоеЗначение(Поле4) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска4),Фраг3)>0)"; КонецЕсли; Если ПустоеЗначение(Поле5) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска5),Фраг3)>0)"; КонецЕсли; глТекст = глТекст + ");"; КонецЕсли; Если ПустоеЗначение(Фраг4) = 0 Тогда глТекст = глТекст + РазделительСтрок + "Условие("; Если ПустоеЗначение(Поле1) = 0 Тогда глТекст = глТекст + "(Найти(Врег(Поиска1),Фраг4)>0)"; КонецЕсли; Если ПустоеЗначение(Поле2) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска2),Фраг4)>0)"; КонецЕсли; Если ПустоеЗначение(Поле3) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска3),Фраг4)>0)"; КонецЕсли; Если ПустоеЗначение(Поле4) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска4),Фраг4)>0)"; КонецЕсли; Если ПустоеЗначение(Поле5) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска5),Фраг4)>0)"; КонецЕсли; глТекст = глТекст + ");"; КонецЕсли; Если ПустоеЗначение(Фраг5) = 0 Тогда глТекст = глТекст + РазделительСтрок + "Условие("; Если ПустоеЗначение(Поле1) = 0 Тогда глТекст = глТекст + "(Найти(Врег(Поиска1),Фраг5)>0)"; КонецЕсли; Если ПустоеЗначение(Поле2) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска2),Фраг5)>0)"; КонецЕсли; Если ПустоеЗначение(Поле3) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска3),Фраг5)>0)"; КонецЕсли; Если ПустоеЗначение(Поле4) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска4),Фраг5)>0)"; КонецЕсли; Если ПустоеЗначение(Поле5) = 0 Тогда глТекст = глТекст + "или(Найти(Врег(Поиска5),Фраг5)>0)"; КонецЕсли; глТекст = глТекст + ");"; КонецЕсли; Порядки = перПорядок + ","; Порядок1 = ""; Запятая = Найти(Порядки,","); Если Запятая > 0 Тогда Порядок1 = Лев(Порядки,Запятая-1); Порядки = Сред(Порядки,Запятая+1); КонецЕсли; Порядок2 = ""; Запятая = Найти(Порядки,","); Если Запятая > 0 Тогда Порядок2 = Лев(Порядки,Запятая-1); Порядки = Сред(Порядки,Запятая+1); КонецЕсли; Порядок3 = ""; Запятая = Найти(Порядки,","); Если Запятая > 0 Тогда Порядок3 = Лев(Порядки,Запятая-1); Порядки = Сред(Порядки,Запятая+1); КонецЕсли; глТекст = глТекст + РазделительСтрок + "Группировка Указатель"; Если ПустоеЗначение(Порядок1) = 0 Тогда глТекст = глТекст + " упорядочить по Указатель." + Порядок1; КонецЕсли; Если ПустоеЗначение(Порядок2) = 0 Тогда глТекст = глТекст + ", Указатель." + Порядок2; КонецЕсли; Если ПустоеЗначение(Порядок3) = 0 Тогда глТекст = глТекст +", Указатель." + Порядок3; КонецЕсли; глТекст = глТекст + " без групп;"; Если глЗапрос.Выполнить(глТекст) = 1 Тогда глСписокЭлементов.УдалитьВсе(); Пока глЗапрос.Группировка(1) = 1 Цикл глСписокЭлементов.ДобавитьЗначение(глЗапрос.Указатель); КонецЦикла; КонецЕсли; Возврат глСписокЭлементов.РазмерСписка(); КонецФункции // глОпределитьСписокЭлементов3(перСправочник,перВладелец,перСписокПолей,перПорядок) Экспорт |
|||
139
Злопчинский
06.06.12
✎
15:58
|
(138 ) это не велосипед - это штампованная гайка ;-)
да и та - с браком.. Указатель." + Порядок3; |
|||
140
Касандер72
06.06.12
✎
15:59
|
затем на форме списка справочника "Контрагенты" сделай кнопку "Найти по фрагментам"
иприкрути к ней процедуру: Процедура НайтиПоФрагментам() Если глОпределитьСписокЭлементов("Контрагенты","Наименование,ЮрАдрес") = 0 Тогда Предупреждение("Контрагенты с указанными параметрами не обнаружены !",1); Иначе ИерархическийСписок(0,0); УстановитьОтбор(,); ИспользоватьСписокЭлементов(глСписокЭлементов); КонецЕсли; КонецПроцедуры // НайтиПоФрагментам() |
|||
141
Касандер72
06.06.12
✎
16:01
|
(139) попробуй юзануть - разберешься прикручивай к остальным справочникам
|
|||
142
Mikeware
06.06.12
✎
16:03
|
(137) собственно, конфигурации фирмы 1с - это прямая иллюстрация. Вроде и могут все, но хиленько.
|
|||
143
Mikeware
06.06.12
✎
16:06
|
(138) это что?
|
|||
144
Касандер72
06.06.12
✎
16:08
|
(143) универсальная процедура фрагментального поисковика - легко прикручивается к любому справочнику - ищет не только по фрагментам содержащимся в поле, но и по полю реквизита справочника
|
|||
145
Касандер72
06.06.12
✎
16:10
|
+(144) можно и так передавать параметры:
глОпределитьСписокЭлементов("РассчетныеСчета","Наименование,Банк.Адрес") самый быстрый вариант, который удалось мне придумать - актуален на больших справочниках |
|||
146
Касандер72
06.06.12
✎
16:12
|
(139) в чем брак? подскажи - исправлю
|
|||
147
Касандер72
06.06.12
✎
16:14
|
ЭТО Я К ТОМУ ЧТО УНИВЕРСАЛЬНЫМ ЛУЧШЕ СДЕЛАТЬ ОТДЕЛЬНЫЙ МЕХАНИЗМ, А КОНФУ В ЦЕЛОМ - ПРОГИБАТЬ ПОД ЦЕЛЬ ИЛИ РЕАЛЬНОСТЬ
|
|||
148
Mikeware
06.06.12
✎
16:15
|
||||
149
Mikeware
06.06.12
✎
16:16
|
||||
150
Касандер72
06.06.12
✎
16:17
|
(14) не совсем - нашим показалась практичнее: простота - залог успеха - юзани - тогда поймешь
|
|||
151
Касандер72
06.06.12
✎
16:19
|
(148,149) она ищет содержаться ли указанные фрагменты в указанных полях
|
|||
152
Mikeware
06.06.12
✎
16:24
|
(151) тут почти то же самое. ТОже поиск по фрагментам. Только прямо при вводе с клавиатуры в поле ввода. Собственно, доделать поиск по нескольким полям - тоже не проблема.
|
|||
153
Изучаю1С8
06.06.12
✎
16:25
|
(148)(149) Лихо, а на dbf можно замутить такое?
|
|||
154
Mikeware
06.06.12
✎
16:27
|
(153) Не заморачивался. поэтому сходу не отвечу.
Ну и нет у меня баз файловых. |
|||
155
Изучаю1С8
06.06.12
✎
16:27
|
Смахивает кстати на класс Рик Центра
|
|||
156
Mikeware
06.06.12
✎
16:27
|
(155) он и есть.
|
|||
157
Изучаю1С8
06.06.12
✎
16:28
|
(156) Напомни а он платный?
|
|||
158
Mikeware
06.06.12
✎
16:29
|
(157) нет, конечно. Лежит на сайте у них, в свободном доступе.
|
|||
159
Mikeware
06.06.12
✎
16:29
|
+(158) "все украдено до нас".
|
|||
160
Изучаю1С8
06.06.12
✎
16:30
|
Хорошо, пойду стырю.. Может на ПрямойЗапрос передалаю.
|
|||
161
Касандер72
06.06.12
✎
16:33
|
(152) не совсем: своей я могу искать по полю реквизита-ссылки на справочник.
а у тебя 1) линейный по текущему строчному реквизиту а во 2) слишком наворочено для юзверей-простолюдинов |
|||
162
Изучаю1С8
06.06.12
✎
16:37
|
(161) Там не строчный реквизит вообще то, там справочник.
|
|||
163
Mikeware
06.06.12
✎
16:40
|
(161) я ж тебе говорю, добавить список реквизитов для поиска - не проблема совершенно.
ну и 1. и 2. - это одно и то же. просто во втором случае добавлено выведение остатков http://s019.radikal.ru/i626/1206/aa/09af90aa4364.jpg |
|||
164
Злопчинский
06.06.12
✎
16:41
|
(148) а мне такую можно получить? на дбф будет работать? дайте две!!!
|
|||
165
Mikeware
06.06.12
✎
16:43
|
(161) "для юзверей-простолюдинов" слишком наворочено вводить с клавиатуры ключевые слова (отрывки слов)? Хаметь, дополнительно нажимать ничего не надо. Хотя можещь нажатием на штатную боковую "педаль" открыть справочник в штатной форме, и лазить там....
|
|||
166
Касандер72
06.06.12
✎
16:43
|
(163) дело не в этом: твоей мартышку обучать долго) мы предлагали такое - туго впитывают - пришлось упростить)
|
|||
167
Изучаю1С8
06.06.12
✎
16:43
|
||||
168
Mikeware
06.06.12
✎
16:44
|
(164) за дбф не скажу. А лежит оно на сайте конторы Олега Садовникова, совершенно бесплатно, в открытом доступе...
|
|||
169
Изучаю1С8
06.06.12
✎
16:45
|
(164) На двф похоже не будет работать надо допиливать.
|
|||
170
Mikeware
06.06.12
✎
16:46
|
(166) обучать не надо. надо сказать - встань на поле, и нажимай буквы, которые помнишь из названия контры (номенклатуры, договора, ЦФО, статьи затрат... ).
|
|||
171
Злопчинский
06.06.12
✎
16:48
|
А кому написать денюжек чтобы переточили под ДБФ..?
|
|||
172
Mikeware
06.06.12
✎
16:49
|
(171) Попробуй Алексею Дирксу напиши. вроде, он был идеологом.
|
|||
173
Изучаю1С8
06.06.12
✎
16:49
|
(171) А сам чего ) Лучше сразу под класс ПрямойЗапрос переделать тогда и на дбф и на скуле будет одинаково работать.
|
|||
174
Изучаю1С8
06.06.12
✎
16:49
|
(171) Я кстати если что тоже готов вписаться.
|
|||
175
Касандер72
06.06.12
✎
16:50
|
(170) это ты спецу можешь объяснить) я людей нулевых сажу на каждый автоматизируемый участок, которые комп издали видели ... все енто есть в 8-ке - но для них это слабо запоминается (ходють потом за тобой как утята за мамкой по каждому поводу)
|
|||
176
Mikeware
06.06.12
✎
16:51
|
(173) Только медленней будет. ощутимо медленней.
Либо перерабатывать надо слишком радикально. Хотя могу и ошибаться. Но мне лениво, тем более, ПрямойЗапрос я так до конца не осилил, а сейчас уже как бы не нужно... |
|||
177
Изучаю1С8
06.06.12
✎
16:53
|
Олег Садовников сказал что эти классы под dbf тоже работают..
|
|||
178
Касандер72
06.06.12
✎
16:53
|
(171,173) а базу с дбф на скуль перевести - не судьба?
|
|||
179
Mikeware
06.06.12
✎
16:54
|
(175) думаешь, у нас тут одни гении работают? Тоже "по объявлениям"
тебе ж Злоп объяснял - если на участке сидит мартышка - у нее не должно быть возможности сделать что-то "по-другому". |
|||
180
Mikeware
06.06.12
✎
16:55
|
(178) денег за сервер платить надо. а если у них методика работы позволяет достточно эффективно юзать файловую - "зачем платить больше?"?
|
|||
181
Злопчинский
06.06.12
✎
16:55
|
(178) легального способа на скуль пересесть сейчас затруднительно. не продают ужо такие бандлы. а куплено в дремучем году было 7.7 net
|
|||
182
Изучаю1С8
06.06.12
✎
16:55
|
(178) А нафига, меня и dbf устраивает.
|
|||
183
Касандер72
06.06.12
✎
16:55
|
(179) я енто боссу говорил, ответ: сделай - нехай удавяться - мазохизм у нас не запрещен
|
|||
184
Злопчинский
06.06.12
✎
16:57
|
(180) да вообщем и без прямых запросов крутится нормально 30 юзверей в пике. нагрузки все равно нет. Прямые запросы в парочке мест всего - исключительно для удобства - псевдожурнал заявок - ублюдочно павда выглядит.. ищу вот кто задешево - за тарелку супа - красиво сделает на ТП... ;-)
|
|||
185
Mikeware
06.06.12
✎
16:58
|
(184) Юзай не ТП, а ПоставщикДанных. Это уже практически готовый журнал...
|
|||
186
Злопчинский
06.06.12
✎
16:59
|
эх.. за седня надо терминальную обработку набацать и взаиморасчеты перекурочить в других разрезах... с ТСД хоть люди другие ходют.. а тут - все сам...
|
|||
187
Злопчинский
06.06.12
✎
16:59
|
(185) ну так я про это и имею в виду.. но сам - не спец...
|
|||
188
Злопчинский
06.06.12
✎
17:00
|
даже запрос есть прямой уже готовый.. который сейчас крутится...
|
|||
189
Касандер72
06.06.12
✎
17:00
|
(184) я пришел три года назад - тоже 30 было, сейчас ....
в общем рано или поздно ... лучше на ДБФ ничего не ставить, если это не локальная прога, имхо |
|||
190
Злопчинский
06.06.12
✎
17:07
|
(189) ну на что и как ставить - тут уж я соображу как... до этого 5 лет работало, сейчас уже более 4 лет попричеснао все гораздо лучше, упорядочено, шуршит... все определяется временем восстановления системы после сбоя.. ;-) а так, конечно - была бы возможность - легально на 7.7 скулевую перескочить - переехал бы... эх...
|
|||
191
Касандер72
06.06.12
✎
17:12
|
(190) ах ну да Россия, лицензии, легальность ... мы Скл-2005 с инета ипнули вместе с сервером - хер не берет)
|
|||
192
Злопчинский
06.06.12
✎
17:13
|
(191) ты не поверишь - это не Россия, это - бизнес, а не шарашкина контора как у вас.
|
|||
193
Злопчинский
06.06.12
✎
17:13
|
;-)
|
|||
194
Mikeware
06.06.12
✎
17:13
|
(187) да там ничего сложного нет.
http://s008.radikal.ru/i305/1206/94/0f9af0662c9d.jpg сделано за пару часов с перекурами (184) иэх... всего 30 юзверей. ляпота... а вот у меня проблемы непонятные. писал уже как-то про них... |
|||
195
Касандер72
06.06.12
✎
17:14
|
+(190) 8.0 вроде бы и закупали с талмудами, а новое внедряем на 8.2
|
|||
196
Mikeware
06.06.12
✎
17:15
|
(190)3*тьфу, "время восстановления после сбоя" проверяли только 1 раз. потеряли 4 часа работы людей. Хотя инструкции написаны, лежат в конвертике... лучше бы не понадобились...
|
|||
197
Mikeware
06.06.12
✎
17:16
|
(195) вам не с 8.2 начинать надо, а с наведения порядка...
|
|||
198
Касандер72
06.06.12
✎
17:18
|
(197) пробовали - ещё никому ентого не удавалось - а кому на госпредприятии он нужон? )
да 30 юзверей ... да в одном здании ... клево ... эх ... |
|||
199
Касандер72
06.06.12
✎
17:22
|
(194) там что отборы на закладки прикручены? зачем тогда прямые запросы?
|
|||
200
Mikeware
06.06.12
✎
17:24
|
(198) куроводству нужен. Все-таки, несмотря на ващи госпорядки, абсолютные дятлы в руководятлов не пролазят...
|
|||
201
Злопчинский
06.06.12
✎
17:25
|
(198) мне бы тваои заботы - никто никому ничем не обязан.. в такой конторе одно счастье работать. никакой ответсвенности... ;-)
|
|||
202
Касандер72
06.06.12
✎
17:27
|
(200) если порядок будеть - как жить тем же начальникам?
мы когда штрихкодирование внедряли - палки в колеса замест помощи летели одна за другой, а когда просекли что ничего слямзить нельзя - саботаж такой был ... да поздно опомнились) |
|||
203
Злопчинский
06.06.12
✎
17:28
|
(194) блин!!!! это же один-в один практически то что мне надо!!!
давай не жлобься - мыль на почту код/обработку, [email protected] удастся прикрутить относительно быстро - скину денежек! . а там можно отрабатывать клики по ячейкам - если жмакнуть например в статус заявки - выполнить код по изменению статуса..? |
|||
204
Mikeware
06.06.12
✎
17:28
|
(199) Отборов там значительно больше одного. документов тоже несколько.
Плюс внутри имеющихся отборов можно добавлять свои. Плюс настройка расположения колонок. Плюс драг-н-дроп (правда, вроде в других журналах). Плюс обработка бизнес-процессов. Итоги. Подцветка. короче, дофига чего. Снизу еще два поля, связанных. |
|||
205
Касандер72
06.06.12
✎
17:28
|
(201) а ЗП в 300 баксов тебя устроила бы? беззаботный ты наш))) нет денег - нет и забот)
|
|||
206
Mikeware
06.06.12
✎
17:28
|
(203) "у дураков и мысли сходятся"? :-)
|
|||
207
Злопчинский
06.06.12
✎
17:29
|
(202) если что-то внедряете - полномочия нужны.. ;-) я на этом ожогов тоже получил.. ;-)
|
|||
208
Злопчинский
06.06.12
✎
17:30
|
(205) ЗП в 300 баксов устраивает тех, кто готов за такую ЗП работать. на твоем месте за такую ЗП я бы даже неможечко вредил ;-)
|
|||
209
Mikeware
06.06.12
✎
17:31
|
(203) бизнес-процессы у меня сделаны по-другому. "Конечный автомат" переходов, завязанный на роли сотрудников.
Жмякаешь по документу, а он показывает действия, доступные только для этого статуса и тем ролям, которые играет данный пользователь... |
|||
210
Злопчинский
06.06.12
✎
17:31
|
блин! у меня пенсия почти 500 баксов!!!
|
|||
211
Mikeware
06.06.12
✎
17:32
|
(210) он в белоруссии, а они там все миллионеры, им баксы нафиг не вперлись...
зы. код от специфики почищу, и скину. |
|||
212
Злопчинский
06.06.12
✎
17:33
|
(209) здорово-то как! я об этом только мечтаю... приходится всякой хренью заниматься...
|
|||
213
Изучаю1С8
06.06.12
✎
17:35
|
(209) Крутяк..
|
|||
214
Касандер72
06.06.12
✎
17:41
|
(207) какие полномочия? сказали: вот Прядильная фабрика, Техотдел, Диспетчерская, Цеха, Лаборатория, Участки упаковки, Товарные склады - сделай систему штрихкодирования, как на трикотаже - руководи и показывай что делать, если брыкаются - звони - поможем встать на путь истинный ....
(208) дык стараемся: давеча сделали справочник ответственных лиц - и ни один зам. или начальник не может отгрузку разрешить, если копию приказа о разрешении к нам не принесут. Подулись, подулись - смирились ... но как они бедняжки мечутся, когда фуры стоят и срочно отпустить надо))) |
|||
215
Касандер72
06.06.12
✎
17:43
|
(210, 211) стопаньки, немного ошибся, 500 баксов по курсу - больше 4,000,0000 а у меня ЗП едва 1,500,000, а на руки - 1,000,000 и то не каждый раз)
|
|||
216
Касандер72
06.06.12
✎
17:44
|
(209) семерку под 8-ку гонишь?
|
|||
217
Mikeware
06.06.12
✎
17:45
|
(212) ога. а если про внедрение рассказывать - песТня... два выговорешника за "превышение полномочий, самоуправство". После привыкли, аж жить не могли (там же разные отчетики, типа http://s019.radikal.ru/i641/1206/7b/9a9005bc5403.jpg )
а теперь "ут- камно, патамушта в ней статусов нету..." :-)) вот как примерно это работает: http://s015.radikal.ru/i331/1206/ac/618734e94a99.jpg http://s019.radikal.ru/i600/1206/48/9c62f8f9e488.jpg В принципе, так же отрабатываются и сканирования ШК документов. Ну, и потом вижно полный цикл. Вот сейчас сижу, ломаю базу Ориона. Точнее, не саму базу, а принцип кодирования кода карточки при сохранениии в базу. |
|||
218
Злопчинский
06.06.12
✎
17:45
|
(211) ок!! а то у меня по функционалу - почти устраивает - но выглядит бяково...
ты специфику лучше комментарь!!! я из этой специфики возможно почерпну полезное!!! |
|||
219
Mikeware
06.06.12
✎
17:46
|
(218) Ну я ж не могу тебе весь мдшнег выслать :-)))
|
|||
220
Злопчинский
06.06.12
✎
17:46
|
||||
221
Mikeware
06.06.12
✎
17:50
|
(216) ну, во-первых, статусы - это не из снеговика, а из БЭСТа 1990-х годов. во-вторых, БП у меня появились по крайней мере независимо от снеговика (в 2006), да и настраиваются не кодированием, а параметрически. В третьих, роли - они какбэ "на поверхности" лежат (сделаны тоже давно, года 4 назад), и раздавать их в онлайне проще, чем раздавать права в пофигураторе.
|
|||
222
Злопчинский
06.06.12
✎
17:52
|
(217) у мну статусы цветом обозначаются - гораздо легче ориентироваться.
динамика - это не так интересно. гораздо интереснее планирование сборки. Я даже тутошнего человечка напряг и он даже вроде полезное сделал - тестовых данных запросил - я так и не выслал - висит теперь вот это тяжким грузом... разгребусь нафиг - доделаю! если чел не "утерял" еще инфу... ай, плохой я человек... |
|||
223
Касандер72
06.06.12
✎
17:52
|
(217) Как это за самоуправство? базой же ведущий прогер заправляет ... ну было, я тоже обложил половину начальников отделов пока внедряли - даже к генеральному вызывали - посмеялись ... главное силой начало вкачать - показать выгоду - они пробуют, привыкают, входят во вкус - и потом хавайся - как за мамкой бегают - хочу это, хочу - мы знаем ты можешь)
|
|||
224
Злопчинский
06.06.12
✎
17:53
|
(219) а у тебя что - канал узкий, не пролазит..?
|
|||
225
Злопчинский
06.06.12
✎
17:54
|
(223) опыт проказывает что если ГАЙКИ завернуть СРАЗУ - все устаканивается максимум за 2 недели.
|
|||
226
Изучаю1С8
06.06.12
✎
17:54
|
(224) =) ты еще базу попраси
|
|||
227
Mikeware
06.06.12
✎
17:55
|
(223) базой заправляет не прогер - прогер лишь реализует хотелки. а вот добавлением в базу (точнее, решением, что применять, а что не применять ) - руководитель более высокого уровня.
|
|||
228
Касандер72
06.06.12
✎
17:56
|
(220) я такую же байду малому в Автопарке сделал (раскраска - управляемая - он сам цвета может назначать - с Формексом - легко
|
|||
229
Злопчинский
06.06.12
✎
17:56
|
(223) у меня складские жаловались - что это тут У НАС !! НА СКЛАДЕ!! военные порядки вводятся! я сказал - если надо будет - организую утром подъем корпортаивного флага и исполнение гимна фирмы под барабанный бой.
. В итоге - практически весь старый персонал "выдавлен" нафиг. Остались нормальные работящие ребята. Еще бы им ЗП поднять немножко... |
|||
230
Mikeware
06.06.12
✎
17:56
|
(225) или резьбу срывает. Внедряли тут оценку работы склада - пришлось уйти 3 кладовщикам и нескольким комплектовщикам.
|
|||
231
Злопчинский
06.06.12
✎
17:58
|
(227) тут понимаешь - руководитель более выского уровня - и прогер - зачастую в одном лице ;-) садимся - перетираем с коммерцией - вот это надо бы - надо! а вот такое не хотите ли? О, хотим!
. в реальности все достатчоно "прсото". сильно замороченных задач нет. есть просто нудные. из-за раздолбайства - вместо того, чтобы делать самим что надо и отдавать клиенту - принимаем от клиента - и все .. жпс.. приходится свой учет под него подстраивать - вот это бесит больше всего... |
|||
232
Касандер72
06.06.12
✎
18:00
|
(229) вот енто грамотно)))
(230) странно, вы непрально внедряете) - сколько не внедряли - людей ещё больше нужно было, а не меньше - правда замутить лапшевый рассчет времени пришлось) |
|||
233
Злопчинский
06.06.12
✎
18:00
|
(230) про оценку работы склада - надо бы нам с тобой переговорить как -нить "очно". хочу посоветоваться/поучиться - если не пртив конечно. У себя сколько не прикидываю - все врем яполучается что оценка работы склада упирается в жесткую регламентацию и нормативы. а поднять все это один - не потяну... так что пока что "оценка" весьма приблизительная. Но уже лучше чем раньше когда вообще ничего не было.
|
|||
234
Mikeware
06.06.12
✎
18:00
|
(222) планирование сборки я тоже сделал. Единственное, чего не хватает времени сделать - это просчитать "задачу коммивояжера" на ограниченном множестве точек. А все время почему-то тратится на миздобольство в мизде.
Ну, собственно, как расковыряю шифрование ориона - возьмусь за коммивояжера. |
|||
235
Mikeware
06.06.12
✎
18:03
|
(233) у тебя же вроде скайп есть?
|
|||
236
Злопчинский
06.06.12
✎
18:03
|
(232) не.. на этапе внедрения автоматизации склада - возможно повышение количества персонала. потом - падает. я за счет "ползучей" автоматизации умудлрился сработать без повышения персонала (но растяжка по времени), сейчас у меня те же объемы обслуживают процентов на 40% персонала меньше чем было ранее и с качеством получше.
. в ближайшее время прикручу еще жосткую приемку и развозку - и будет ваще лепота... |
|||
237
Злопчинский
06.06.12
✎
18:05
|
(234) планирование сборки японимаю так: сваливается заявка на склад с we - отгрузка тогда-о - и склад СРАЗУ говорит - не влезет! или влезет, но надо некоторые отгрузки передвинуть например со среды на вторник...
|
|||
238
Злопчинский
06.06.12
✎
18:05
|
(235) у мну даже наушники с микрофоном есть!!! в тиме кстати тоже можно базарить!!
|
|||
239
Касандер72
06.06.12
✎
18:06
|
(231) сначала боссы тоже под себя гнули - я скромно предлагал свою версию, но реализовывал ихнюю - надоедал при ентом с распросами что да как - в результате они с косой логистикой в тупняк входили.
Вобщем сдались оне, сейчас тупо обрисовывают задачу в общем, а как я это реализую - это мои проблемы. Пример: эта ветка - это предложение босса производить расчет итогов после проведения каждой строки, в общем вы его опустили по-полной - всем ещё раз огромный спс - сказал: делай как знаешь) |
|||
240
Злопчинский
06.06.12
✎
18:07
|
т.е. это планирование - такая дышащая система получается.. в т.ч. которая хочется чтобы подсказывала с какого участка можно забрать людей если там ресурса избыток)... итд.. остапа несло...
|
|||
241
Злопчинский
06.06.12
✎
18:09
|
(239) какое дело босса -после каждой строки или не после каждой стролки? дело босса - нужен вот такой функционал. а как его сделать с требуемым качеством - уже проблемы звена пониже... как-то так я себе представляю...
|
|||
242
Касандер72
06.06.12
✎
18:20
|
(241) грамотно излагаешь, но я имел ввиду непосредственного босса УИТа - он на бухии 7,7 собаку съел - народа не хватает - приходиться и ему писать - пытаемся УРБД-ную базу разбить - чтобы подчистить, бухитоги он обожает до усеру, а вот регистры недолюбливает.
(236) у меня жесть по приемке есть - осталось только отгрузку и возвраты прописать для товарных складов, оборотку и реализацию .... правда потом на фабрику вернуться и по мере поступления техники все цеха по порядку - убивает только их стремление спихнуть свою работу на других |
|||
243
Касандер72
06.06.12
✎
18:25
|
на счет бизнес-процессов: спекульнуть на статусе дока можно, а почему не на подчиненке доков - поставить на контроль отмену прведения - я когда-то реализовывал такой вариант - он без необходимости изврата работает?
|
|||
244
Касандер72
06.06.12
✎
18:28
|
+(243) а на 8,2 я вообще в регистр сведений перемещение упаковок зарядил - они даже передать с объекта упаковку пряжи не смогут, если она туда не поступила
|
|||
245
kyrgyz
06.06.12
✎
19:15
|
(242)На счет "собаку съел" я был бы не очень тут распространялся бы.
И даже пусть по бухии. Если он что-то себе представляет он должен точно знать что запросы из базы в цикле это пацанский вариант. Этим грешать те кто начинает и еще пол года не кодили в 1С. |
|||
246
Злопчинский
06.06.12
✎
19:53
|
Кстати, на бухкомпоненте строить большой учет - оченнь аккуратненько надо...
|
|||
247
Mikeware
06.06.12
✎
20:04
|
(243) Не понял. кто на ком стоял?
|
|||
248
Злопчинский
06.06.12
✎
20:39
|
(243) измена статусов в доке мне не сильно нравится..
|
|||
249
Андрей_Андреич
naïve
07.06.12
✎
04:49
|
(212) "здорово-то как! я об этом только мечтаю... приходится всякой хренью заниматься..."
И что ты сутками на форуме трындишь и всякой хренью занимаешься, когда оно уже несколько лет как готовое в общем доступе лежит? :) |
|||
250
Касандер72
07.06.12
✎
08:36
|
(247) бизнес процесс можно построить на основе ввода на основании, а цепочку контролировать за счет проверок в модуле отены проведения документа: тогда не потребуется реквизит статуса документа.
плюс - без особых извратов, все доки будут иметь другой вид - легко фильтруются, нет необходимости в сохранении всей информации - можно обратиться к документу-основванию. минус - дублируется некая информация - увеличенный прирост базы |
|||
251
Зеленый Кот
07.06.12
✎
08:40
|
все ваши хотелки давно придуманы в SAP ;)
|
|||
252
Касандер72
07.06.12
✎
08:44
|
(251) а как же прекрасная возможность почувствовать себя изобретателем в 1С-ке ?)
|
|||
253
Mikeware
07.06.12
✎
08:53
|
(250) на каждый шаг БП плодить подчиненный документ? ты точно не из чуйской долины?
например: заявка имеет статусы - пустой, принята (т.е. подготовлена, больше изменяться не будет), передана на склад, отдана в сборку, собрана, подготовлена к отгрузке, отгружена, отменена, под разукомплектацию, разукомплектована... аналогичные пути для реализаций, поступлений, перемещений... |
|||
254
Андрей_Андреич
naïve
07.06.12
✎
09:08
|
(253) Нет - не из Чуйской. Смене статуса предшествовало какое-то действие (может, толпа кладовщиков 2 дня товар собирала). И это действие надо отразить документом, меняющим статус. Потому что у документа есть дата, время и автор. В системе, когда документ проходит множество рук/этапов, приходится фиксировать все действия. Иначе все будут валить друг на друга и идти с разборками у программисту - "посмотри, почему у этого документа галка снята, хотя я точно помню..."
В системах с большим количеством мозгоjобов больше бумаги - чище апож. Понятно, что все это не от хорошей жизни. |
|||
255
Касандер72
07.06.12
✎
09:09
|
(251) заявка передана на склад - это не чуйская? провели - значит получили, отменили - пометили на удаление, проще простого
достаточно цепочки: заявка - отборка - отгрузка |
|||
256
Касандер72
07.06.12
✎
09:10
|
сор (255) для (253) тем более цепочка должна легко расширяться и модернизироваться - иначе гемора не оберешься
|
|||
257
Касандер72
07.06.12
✎
09:16
|
+(251) что нужно собрать - в заявку, что собрали - в сборку (отборку), а что отгрузили - в накладную.
"отдана в сборку" - создали на основе документ "сборка", завершили - провели этот док "подготовлена к отгрузке" - создали накладную, отгрузили - провели накладную. Все проще простого, а то что у тебя - реал чуйский. хотя мазохизм - не запрещен) |
|||
258
Касандер72
07.06.12
✎
09:18
|
+(257) и расширять, и модерить (ветвить) такую цепочку значительно легче
|
|||
259
Касандер72
07.06.12
✎
09:21
|
(253) кроме того у меня при производстве пряжи партии смешиваются-перемешиваются - твоя линейная система тупенько ляжет
|
|||
260
Андрей_Андреич
naïve
07.06.12
✎
09:24
|
(259) Сильно-то не увлекайся критиканством. Мой код проверил или некогда работать?
|
|||
261
Касандер72
07.06.12
✎
09:26
|
а бизнес процесс по одной заявке отслеживать легко если кроме реквизита "ДокументОснование" ввести во все доки цепочки реквизит "НачалоОсновнания" - куда и лепить начальную заявку (вершину пирамидки).
Тогда неважно, сколько веток в бизнес процессе - документы цепочки легко собираются по этому признаку |
|||
262
Касандер72
07.06.12
✎
09:28
|
(260) я не увлекаюсь критиканством, просто предложил альтернативный тоже проверенный вариант, который более мобилен, эффективен на не линейных (разветвленных) бизнес-процесах.
Про чуйскую ты сам начал поминать, не разобравшись) |
|||
263
Mikeware
07.06.12
✎
09:29
|
(257) у меня бизнес-процессы настраиваются в рабочем режиме. Работают - в соответсвии с ролями пользователей. добавить новую ветвь процесса - дело 1 минуты. Отслеживаются состояния - в онлайне, кладовщиками, начальниками склада и т.п. Строятся отчеты типа (217). И, главное, видно, кто , где, когда сменил статус.
|
|||
264
Андрей_Андреич
naïve
07.06.12
✎
09:31
|
(263) Где изменения регистрируешь?
|
|||
265
Касандер72
07.06.12
✎
09:31
|
(263) тоже клево, а как насчет: "простота - залог успеха" ?)
сколько потребуется времени на подготовку сопроводителя твоей схемы? |
|||
266
Mikeware
07.06.12
✎
09:36
|
(265) что значит - "соповодителя схемы"?
человек, который может нарисовать бизнес-процесс на бумажке - способен создать его и в программе. Описание и инструкция занимают 1 печатный лист. |
|||
267
Касандер72
07.06.12
✎
09:36
|
(263) ещё для размышления: ты корректируешь исходный документ - промежуточный вид (для анализа) теряется - отслеживание усложняется - хорошо ли енто? особенно на этапе внедрения ...
а права доступа у отдельных доков - расставить не проблема. |
|||
268
Mikeware
07.06.12
✎
09:36
|
(264) Какие именно изменения?
|
|||
269
Касандер72
07.06.12
✎
09:37
|
(266) я имел ввиду программиста, который сможет эффективно модерить (в коде) твою схему
|
|||
270
Касандер72
07.06.12
✎
09:40
|
(266) инструкция - 1 лист ... утопия ... мы для своих мартышек книги создаем в картинках, где как оленю на скринах выделяется куда пальчиком тырнуть ... повезло тебе с исполнителями)
|
|||
271
Mikeware
07.06.12
✎
09:43
|
(267) у меня ничего не теряется. "история документов" - чуть не самая большая таблица в базе.
"права доступа расставить не проблема" - а если права пересекаются? а если пользователи уходят в отпуск? если сегодня кто-то "замещает"? если решили "попробовать сегодня сделать вот так"? (269) для сопровождения готового механизма программист не нужен. Механизм создан в 2007, и использовался практически без доработок 4 года. Добавлено с начала года одно дополнительное "предопределенное действие" - тупым копипастом 6 строк. можно было прописать его во всех шагах БП, но это сотня лищних действий. |
|||
272
Mikeware
07.06.12
✎
09:44
|
(270) это инструкция для пользователя уровня начальника отдела-зам.директора.
Там оленей не держат |
|||
273
Андрей_Андреич
naïve
07.06.12
✎
09:47
|
(271) Понял. Непростая в реализации альтернатива. Засим ветку покидаю, ибо автор уже забыл за чем пришел и ветка превратилась в разговор обо всем в узком кругу.
Работать надо (это я себе). |
|||
274
Mikeware
07.06.12
✎
09:49
|
(273) ты не поверишь Очень простая. Общий объем подсистемы - порядка 300 строк и 2 справочника. (отчеты не считаю)
|
|||
275
Касандер72
07.06.12
✎
09:50
|
(271) группы прав "товаровед", "сборщик", "кладовщик" и "насяльника" тебя спасут - пересечение допускается - здесь нет проблемы, создать сводную группу "универсал" для цепочки - тоже не проблема - и кстати на практике - самая эффективная, а отследить кто что с доком делал по журналу легко.
Насчет нет необходимости в модерации: не поверишь - каждая система со временем теряет эффективность (короче износ как у основных средств), да и бывает, что гром грянет. (273) то, что я спрашивал - уже давно работает - тестируется))) |
|||
276
Касандер72
07.06.12
✎
09:54
|
(273) сглазил паразит работу таки - токи что сервак трикотажки упал (
|
|||
277
Mikeware
07.06.12
✎
10:56
|
(275) сколько у тебя будет "сводных груп" для 3 ролей? 4. а для 4- 11? а для 5? :-) а для 12? :-)))
"остледить по журналу" - не особая проблема. С ПоставщикДанныхЖурналРегистрации - точно. только ве равно дольше и менее удобно. А вот получить сведения, сколько у тебя заявок собиралось на 8, 9, 10 11 часов - уже тяжелее.... впрочем, каждому - свое... |
|||
278
Попытка1С
09.06.12
✎
20:59
|
(171) Сегодня на dbf внедрил у себя в базу классы для обеспечение функционала который показан в (148), все работает и на файловой подтверждаю. Так что дерзай)
|
|||
279
Злопчинский
10.06.12
✎
02:33
|
(278) учел, спсб!
|
|||
280
Злопчинский
10.06.12
✎
02:35
|
(249) >.. когда оно уже несколько лет как готовое в общем доступе лежит?
- ссылку дайте! |
|||
281
Злопчинский
10.06.12
✎
02:44
|
Система вводан ан основании и выстраивание цепочек документов - явно придумана под легкими расслабляющими нарокотиками и весьма нежизненна в опр.случаях.
например: заявка покупателя - терки-корректировки-цены-длинная цепочка ОДНОТИПНЫХ ДОКУМЕНТОВ, в то время когда сточки зрения манагера - это одна ЗАЯВКА, хочется: чтобы при изменении данных заявки никаких новых доков не вводилось/не множилось... а регилось "унутре", типа удалили строку в заявке - она "осторнировалась" относительно предыдущего состояния заявки. Посмотреть историю заявки - разворачивается из "унутре". ну и самое главное - при "отмене проведения" - вся история развития заявки остается... как-то так... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |