INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Макаров Дмитрий | Руководитель проектного отдела | ООО "Информационные Технологии"

«Poka-yoke. Оператор производственной линии - пользователь 1С, кто сказал что 1С только для финансов»

Опыт автоматизации непосредственно на производственной линии или складе. В докладе поделимся опытом разработки и запуска Poka-yoke систем. 1. Что такое Poka-yoke системы и зачем они нужны. Как меняется работа на предприятии при внедрении подобных систем. 2. Почему используем 1С. 2. Чем отличается запуск системы классического учета от Poka-yoke систем. 3. "Подводные камни". На что необходимо обратить внимание при проектировании/внедрении и чем грозят ошибки, примеры из опыта. 4. Возможности интеграции. Arduino, Мобильный клиент 1С, MobileLogistics, технология штрих кодирования. Как все это применить для своего проекта, как связать "кучу" оборудования и тех. процессов в единую систему, какие проблемы встречаются, какие плюсы для предприятия - об этом мой доклад.

0. yurii_host 1790 02.10.16 21:18 Сейчас в теме

Несколько шаблонов для доработки типовых конфигураций

Предлагаю несколько каркасов для создания новых объектов в типовых конфигурациях. Это выжимка из кода нескольких конфигураций, которая позволит быстро и красиво создавать и дорабатывать объекты метаданных с соблюдением идеологии исходной системы

Перейти к публикации

Комментарии
Сортировка: Древо
1. TODD22 17 03.10.16 09:33 Сейчас в теме
Я проанализировал различные объекты типовых конфигураций и создал заготовки для :

Всё это описано на ИТС. Можно ничего не анализировать, а просто почитать ИТС. Что то же мало кто делает....
2. Светлый ум 233 03.10.16 11:15 Сейчас в теме
(1) TODD22, чтобы ИТС почитать к нему доступ нужен
hromovanton; +1 Ответить
3. yurii_host 1790 03.10.16 11:27 Сейчас в теме
(1) TODD22,
хотелось бы узнать с какой страницей ИТС вы сравниваете и насколько материал представленный в данной статье совпадает с описанным там. Приведите ссылку на конкретный текст.
Пока предполагаю, что вы путаете шаблон с примером. На ИТС приводятся примеры и методические рекомендации, то есть теория. Я привожу шаблоны, то есть кусочки кода из практики, которые можно вставить при разработке копипастом, изменив несколько деталей. Разница между шаблоном и примером в том, что в примере нужно думать, а в шаблоне вы берете код уже продуманный кем-то другим
toltec; Erase22; Somebody1; Gang031; Maxis; Новиков; +6 Ответить
4. TODD22 17 03.10.16 11:31 Сейчас в теме
(3)
хотелось бы узнать с какой страницей ИТС вы сравниваете и насколько материал представленный в данной статье совпадает с описанным там. Приведите ссылку на конкретный текст.

Про структуру модулей
https://its.1c.ru/db/v8std#content:2149184104:hdoc
Igor_K_; the1; +2 Ответить
5. yurii_host 1790 03.10.16 11:40 Сейчас в теме
(4) TODD22, на текущий момент у меня нет доступа к указанному вами разделу.
Планирую посмотреть позже, если совпадение действительно существенное, то заменю первый раздел в текущей статье на что-нибудь другое, т.к. не хочу повторять информацию, описанную в других источниках
6. TODD22 17 03.10.16 11:45 Сейчас в теме
(5)
о заменю первый раздел в текущей статье на что-нибудь другое

Лучше тогда не заменить, а дополнить описанием какие разделы в модулях и для чего. Для тех у кого доступа к ИТС нет.
h00k; yurii_host; +2 Ответить
22. webester 28 11.06.18 14:06 Сейчас в теме
(5)Вот вам то, что написано(смотрите вложение) если хотите иметь доступ к ИТС легально спросите меня как
Прикрепленные файлы:
456.pdf
20. unichkin 988 11.01.17 17:17 Сейчас в теме
(1)(2)В ИТС уже несколько лет работает тест-драйв.
Хорошая статья, такие нужны - и как можно больше. Чтобы наконец донести свет в массы:) По моему опыту - 6 из 10 программистов о ИТС тупо не знают. А из оставшихся трое - кладут на все это со словами "мне некогда", и тратят в 10 раз больше времени в попытках разобраться со своим-же кодом...
7. pbazeliuk 1450 03.10.16 14:33 Сейчас в теме
(0) В "модуле менеджера объекта" забыли про директивы компиляции, это очень важно для работы конструктора запросов в "Управляемом приложении (Толстый клиент)", а так же для ЦУП.
JohnyDeath; h00k; artbear; +3 Ответить
8. yurii_host 1790 03.10.16 23:09 Сейчас в теме
(7) pbazeliuk, замечание справедливо. Исправил в статье
pbazeliuk; +1 Ответить
9. klinval 260 05.10.16 11:33 Сейчас в теме
Вопрос про "3. Шаблон управляемой формы документа, в котором перед проведением требуется задавать вопросы пользователю с запретом модальных вызовов":
1. Для какой конфигурации у вас примеры? Например ОбщегоНазначения.ОбработатьЗаписьОбъектаВФорме например в БП 3.0.44.124 нет.

Замечания:
1. Не обработана ситуация, когда пользователь нажимает крестик. Он нажимает крестик задаётся 3 вопроса (1 стандартный - платформенный), пользователь ожидает, что документ закроется, но он остаётся. У меня есть статься по данной теме Как использовать ПоказатьВопрос в обработчике формы ПередЗаписью там эта ситуация разбирается.
2. Лучше как нибудь по-другому назвать переменную НеВыполнятьПроверкуПередЗаписью. Тоже когда-то называли переменные с НЕ в начале. Потом появлялись конструкции вида:
Если Не НеВыполнятьПроверкуПередЗаписью Тогда

, которые ломали мозг при прочтении... Долго приходится соображать что делать если НеВыполнятьПроверкуПередЗаписью = Ложь. Плюс где-то на ИТС видел рекомендации 1С, что так называть не стоит.
Думаю заменить НеВыполнятьПроверкуПередЗаписью на ОтключитьПроверкуПередЗаписью будет правильней. Логику менять не придётся, только название переменной.
10. TODD22 17 05.10.16 11:38 Сейчас в теме
(9) klinval,
НеВыполнятьПроверкуПередЗаписью

Да есть такая рекомендация на ИТС.
Мне тут то же досталась самописная конфигурация там таких "Не НеЗагружено" и тд по 10 штук в одном модуле... сиди мозг ломай....
11. yurii_host 1790 05.10.16 11:58 Сейчас в теме
(9) klinval, данный пример из ерпи. Модуль в оригинале называется ОбщегоНазначенияУТКлиент.
Мое мнение такое: если я дорабатываю типовую конфигурацию, то стараюсь максимально следовать принципам, которые в ней используются. Если переменная называется так, и я с этим немного не согласен, то все равно использую подход принятый в системе.
Это совершенно нормально, что не все согласны абсолютно со всеми именами переменных, процедур и т.д.
Если каждый начнет применять собственный подходы (как обычно и происходит), то начинается каша.

По поводу БП - я посмотрю чуть позже, как там реализовано, может быть имеет смысл дополнить статью, подумаю
13. klinval 260 05.10.16 12:44 Сейчас в теме
(11)
Если переменная называется так, и я с этим немного не согласен, то все равно использую подход принятый в системе.

Согласен, что делать то. Но я же не знал, что это вынужденное название из типовой конфы. Вот только получается 1С-ники не следуют своим же правилам...
14. TODD22 17 05.10.16 12:47 Сейчас в теме
(13) klinval,
Вот только получается 1С-ники не следуют своим же правилам...

Когда разбирался в стандартах разработки, я сразу смотрел в типовых(УТ 11 и БП 3). часто встречалось отличие от соглашения по написанию кода.
Там то же люди пишут :)
21. unichkin 988 11.01.17 19:26 Сейчас в теме
(14)
Когда разбирался в стандартах разработки, я сразу смотрел в типовых(УТ 11 и БП 3). часто встречалось отличие от соглашения по написанию кода.

Смотреть надо в БСП. Я думаю эти огрехи в типовых из-за старого кода - который писался еще в те времена, когда этот момент не был проработан.

(19) По идее, все подобные области должны быть отнесены к разделу "СлужебныеПроцедурыИФункции". Основные разделы модуля регламентированы - именно к ним что-то добавлять не надо. Вот внутри разделов уже можно помещать свое. Скажем, если сложная форма и есть куча обработчиков элементов формы, их можно как-то логически разнести - по страницам например
12. yurii_host 1790 05.10.16 12:27 Сейчас в теме
(9) klinval, не согласен с высказанным замечанием, что покрываются не все случаи. Ваше предположение не соответствует действительности. В моем примере кнопка "Х" не доступна.
15. klinval 260 05.10.16 12:48 Сейчас в теме
(12) я скачал ваш CF-ник. Развернул на пустую базу и крестик доступен (см. приложенный файл).
Но допустим туда куда вы разворачивали крестик недоступен почему-то стал. Вы предлагаете другим тоже делать недоступным "Х" на всех стандартных или новых документах, чтобы предложенный функционал покрывал все случаи?
Прикрепленные файлы:
16. yurii_host 1790 05.10.16 12:59 Сейчас в теме
(15) klinval, я невнимательно прочитал замечание. Ваша правда.
Чуть позже посмотрю как это обходят в типовых. Исправлю в статье также.
17. klinval 260 05.10.16 13:25 Сейчас в теме
(16) мне Сергей Ожерельев (Поручик) сказал, что
В форме контрагента в бухгалтерии 3.0 последних релизов тоже используется вопрос перед записью примерно по описанной методике.

На тот момент (03.07.2015) так и было, сейчас же не смотрел. Я оттуда код и взял, т.к. сам до этого не мог обойти эту ситуацию. У меня способ изложен в п.5 статьи.

По поводу покрытия на 100% когда "перед проведением требуется задавать вопросы ": к сожалению это невозможно. В той-же типовой БП вот с чем я столкнулся:
В обработчик формы «ПередЗаписью» программа не заходит, если: 1) пользователь нажал на кнопку «Пометить на удаление / снять пометку»; 2) если пользователь нажал на не проведённом документе кнопку «ДТ/КТ». И это не всё: если вы на форме документа создали всё, как я написал, и пользователь из формы списка перепроведёт документ – то никаких вопросов программа ему не задаст. Необходимо все интересующие вас кнопки на форме списка заменять на свои и отслеживать действия пользователя. Ещё у документа может быть не одна форма документа, а несколько (например, документ ПоступлениеТоваровУслуг в БП 3.0, где 3 формы: общая, товары и услуги). В каждой форме документа надо написать много кода…

+ Можно провести документ с формы обработки (внешней или внутренней)... Некоторые моменты ещё можно обойти, но слишком трудозатратно. Да на 100% покрытия обычно и не требуется.
18. yurii_host 1790 05.10.16 21:31 Сейчас в теме
(17) klinval, спасибо за подробное описание. Замечание абсолютно справедливо. Посмотрел решение в типовой.
Добавил вот такой код:
&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
	
	ПринудительноЗакрытьФорму = Истина;

КонецПроцедуры

Теперь поведение корректное. Обновил в тексте публикации и в примере
19. vandalsvq 982 17.11.16 09:26 Сейчас в теме
Я бы в структуру областей модуля формы добавил еще немного областей

#Область УправлениеФормой - здесь сконцентрированы все методы управления свойствами элементов формы (в спойлере пример процедур)
Методы управления свойствами элементов формы

#Область ЗавершениеНемодальныхВызовов - хотя это спорный момент, кому то нравится по коду распиханные экспорты, мне лично собранные в одном месте
#Область СлужебныеПроцедурыИФункции_БСП - здесь все методы для подсистем БСП которые находятся в форме, причем выделенные в отдельные области вроде Печать, Свойства и т.д.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
Полный день

Удаленный программист 1С (от 800 до 1200 руб в час)
Санкт-Петербург
По совместительству

Программист 1С
Ростов-на-Дону
Полный день

Программист 1С
Москва
зарплата от 65 000 руб.
Полный день

Бизнес-аналитик 1С
Санкт-Петербург
Полный день