[ОБУЧАЛОВКА] Про сети (Ашан, Метро) и их заморочки...

30.06.09

Учетные задачи - Розничная торговля

Демонстрируется подход к относительно безболезненному исправлению конфигурации ТиС для реализации сетевых заморочек (код сети в печатной форме ТОРГ12)
ВНИМАНИЕ!!! Данный материал носит спорный характер (читайте комментарии!) и не может служить непреложным руководстовм к действию. Рассматривается всего лишь один (не самый лучший) вариант решения задачи...
 
Клиент попросил в ТОРГ12 в графу "Код" вставлять для определенных клиентов определенный код. "Определенными клиентами" является ряд сетей: Ашан, Перекресток, Мосмарт и т.д. "Определенным кодом" является артикул товара в учете этих сетей, т.е. у Ашана - свой артикул для нашего товара, у Мосмарта - свой и т.д.

Итак, задача ясна. Как говорил Петька: "Чапай думать будет!"
По хорошему, конечно, надо навернуть кучу изменений для реализации ввода в карточку номенклатуры артикулов для сетей. Возможных вариантов три (если по быстрому):
1. для номенклатуры артикул сети пихаем в подчиненный справочник Аналоги;
2. артикулы пишем в свойства номенклатуры;
3. аналоги делаем доп.реквизитами в карточке товара.

Вариант 1 - самый "правильный", но неудобный для ручного ввода (товаров не сильно много, клиент согласился вводить ручками), + к этому - достаточно "непрозрачное" решение для клиента, особенно когда понадобится отображать артикулы в карточке клиента (доп.код придется писать) и в формах накладных(тоже придется писать доп.код) - уже будет труднее с обновлениями в последующем;
Вариант 2 - похуже, чем вариант 1, но тоже можно использовать. Трудности - аналогичные предыдущему варианту, + нужна дисциплина "манипуляции" с такими свойствами (что выльется в дополнительный код работы со свойствами);
Вариант 3 - самый легкий, конечно, но... негламурненький... ;-) основная проблема - необходимость править структуру данных конфигурации при появлении новых "сетей", + не забывать при обновлениях.

Подумали - и выбрали вариант 3. С учетом того, что это ПРОЩЕ всего, займет минимум времени у меня и недорого обойдется клиенту. Итак, делаем - как в варианте 3 (т.е. добавляем под каждую сеть отдельный реквизит для артикула сети, благо сетей немного - у клиента их всего 4 штуки...).
Тем более, что внятных 1Сников, которые умеют НОРМАЛЬНО РАБОТАТЬ на программном и идейном уровне со справочниками свойств и аналогов - я давненько не встречал... (плюс к этому попутно: франч, обновлявший конфигу клиенту, умудрился "потерять" внесенный по другой доработке новый код в глобальный модуль - хотя ему был перед добавлением выдан "протокол" изменений - что уж тут говорить о более серьезных доработках кода... - при очередном обновлении - все рухнет... франчи - они такие...)

Для тех, кто начал уже плевать в мою сторону - отвечаю просто - на себя посмотри, собака бешенная! ;-)

Под каждыую сеть сделаем отдельный реквизит для артикула сети. Реквизит будем именовать по такому шаблону: ПРЕФИКС_АртикулNN, где
ПРЕФИКС - отличительный признак добавленного реквизита;
NN - числовой код клиента в справочнике контрагентов.


Для тех, кто начал плевать в мою сторону во второй раз - отвечаю просто - ничего не знаю, клиент - мой, как хочу - так и делаю! ;-)

Итак получились следующие реквизиты (строка, 10):
БВК_Артикул19, БВК_Артикул35, БВК_Артикул58...

Да, привязываться к коду контрагента в наименованиях реквизитов конфигуратора может показаться на первый взгляд некомильфово... Но тут есть ряд соображений, которые мне помогут обойти матюги так называемых "специалистов 1С" в мой адрес:
1. Это всяко лучше, чем называть БВК_АртикулАшан или БВК_АртикулМосмарт (такие названия - исключительно для удобства специалистов с короткой памятью, более никакого функционала полезного такие наименования В ДАННОМ СЛУЧАЕ не несут... а я, не то чтобы злопамятный, просто я злой и память у меня хорошая.. ;-) ...тем более что оправданность наименования реквизитов в ивде БВК_АртикулNN будет показана дальше).
2. Что произойдет, например, если коды клиентов в справочнике изменятся? А ничего страшного не произойдет - при первой же сделке на сеть - отсутствие(или неверный артикул) в колонке "код" в ТОРГ12 нужного артикула будет отловлен сразу же... Если не самим продавцом (моим клиентом), то как минимум - сеть заругается... А если сеть не заругается - так ничего страшного, значит, и не произошло... А если какой-то код В ТОРГ12 будет печататься для совершенно другого покупателя - тоже ничего страшного... даже полезно, так покупателю и скажем - мы тут вам заодно еще артикулы сети печатаем, чтоб вам в своем городе легче с сетями работать было... $-)

Итак, выше показано совершенно оправданное применение для каждой сети отдельного реквизита с наименованием по особому правилу. Сортировку и отбор на артикулы сетей ставить не будем - неактуально.

Теперича сделаем интерфейс для ввода артикулов в карточки товаров. С учетом того, что карточка товара и так уже забита под завязку всякой инфой - вынесем все добавленные артикулы на отдельную закладку - обойдется нам это в одну строчку кода в модуле формы элемента номенклатуры.

Итак, в форму добавляем один слой с идентификатором "ДопАртикулы", в модуль элемента добавляем следующую строчку кода:
Форма.ИспользоватьЗакладки(1);
Форма.Закладки.ДобавитьЗначение("Общий, Основной, Кнопки", "Основные");
Форма.Закладки.ДобавитьЗначение("Общий, Дополнительный, Кнопки", "Дополнительные");
//ДОБАВЛЕНО НЕТИПОВОЕ
Форма.Закладки.ДобавитьЗначение("Общий, ДопАртикулы, Кнопки", "Артикулы сетей");	
//КОНЕЦ ДОБАВЛЕНО НЕТИПОВОЕ

На форме на слой "ДопАртикулы" кидаем наши дополнительные реквизиты (артикулы сетей) как поля ввода с соответствующими текстовыми заголовками - что тривиально, так что обойдемся без картинки...

Теперь лезем во все печатные формы ТОРГ12 (а их у нас может быть несколько - встроенная таблица, внешние печатные формы) и в колонку код (под номером 3 в типовой форме) вписываем ПечКод (тип = Выражение).

В модуле печати ищем где у нас определяется ПечЕдиница и вставляем там определение выводимой на печать переменной ПечКод:
ПечЕдиница = СокрЛП(Докум.Единица.ОКЕИ.Наименование);
ПечОКЕИ = СокрЛП(Докум.Единица.ОКЕИ.Код);
//ДОБАВЛЕНО НЕТИПОВОЕ
Попытка 	ПечКод = Докум.Номенклатура.ПолучитьАтрибут("БВК_Артикул"+Число(Докум.Контрагент));
Исключение 	ПечКод = "";
КонецПопытки;
//КОНЕЦ ДОБАВЛЕНО НЕТИПОВОЕ

Вот, собственно, и вся доработка (для встроенной печатной формы префикс докум. должен быть опущен в приведенном выше программном коде). Вся фишка - в имени реквизита для артикула сети и использовании конструкции ПОПЫТКА. При этом - мы нигде не привязываемся ни к каким наименованиям, никаких доп.проверок и всякого ненужного программно-мусорного кода...
По времени заняло порядка 20 минут, клиент - удовлетворен...

Кому сия история понравилась - плюсуем рейтинг и оставляем комменты, а то обижусь!
На очереди - сага о быстром подсчете мест и коробок в ТОРГ12 у "замороченных" клиентов - оставляйте в комментах заявки!

См. также

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Система управления запасами для 1С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом.

28500 руб.

21.04.2017    90831    108    40    

197

АИС: Онлайн-кассы для 1С 7.7 (с поддержкой маркировки ЕГАИС, ТАБАКА, ОБУВИ, ЛЕКАРСТВ, ШИН, ОДЕЖДЫ, МОЛОКА, ВОДЫ и пр.) и Обмен с 1С 7.7 "Честный ЗНАК" (ГИСМТ, ЦРПТ, ЭДО)

Оптовая торговля Розничная торговля ККМ ЭДО и ОФД Обмен с ГосИС Оперативный учет 7.7 Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

Подключение фискального регистратора к 1С 7.7 в режиме онлайн-кассы (в соответствии с 54-ФЗ). Поддержка крайних версий драйверов ККТ: ДТО 10 и ДТО 8 для Атол, 4.15, 5.16 для Штрих-М. Поддержка протоколов ФФД 1.0, 1.05, 1.1 и 1.2, развитые настройки для применения частичных оплат и авансов в оптовой и розничной торговле. Поддержка чеков коррекции всех версий. Поддержка розничной продажи маркированной продукции (ЕГАИС, табак, обувь, лекарства, шины, одежда, белье, парфюмерия, молочная продукция, вода и пр.). Вывод электронного чека (на е-майл, телефон) по требованию покупателя, поддерживаются комбинированные типы оплаты, режим эмуляции печати чека на ФР. **** Полный цикл работы из 1С 7.7 с маркировкой "Честный ЗНАК" (ГИСМТ, ЦРПТ) из 1С 7.7. ЭДО (табак, обувь, шины, одежда, молочная продукция, вода и прочие группы товаров) для розницы и опта (приемка и оптовая отгрузка маркированной продукции). Поддерживается как объемно-сортовой учет (ОСУ) так и поштучный (поэкземплярный) учет.

2000 руб.

28.03.2017    460167    4285    3461    

2431

АИС: Обмен с ФГИС Меркурий (Ветис.API) для всех* конфигураций 1С 7.7

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Обмен с ГосИС Оперативный учет 7.7 Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 1С:Упрощенное налогообложение 7.7 Сельское хозяйство и рыболовство Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Пищевая промышленность Россия Бухгалтерский учет Управленческий учет Платные (руб)

Полностью автоматизированный обмен между конфигурациями 1С 7.7 и ФГИС Меркурий через Ветис.API для всех видов деятельности (Опт, Розница, Производство). Для организации обмена с ФГИС Меркурий требуется минимальная доработка конфигураций (поддерживается "из коробки" 1С: "Торговля и склад ред. 9.2", 1С: "Комплексная ред. 4.5", 1С: "Бухгалтерия 7.7", 1С: "УСН 7.7", 1С Предприниматель, другие конфигурации по заказу, включая нетиповые и самописные). Модуль разработан таким образом, чтобы минимизировать затраты по внедрению в произвольную конфигурацию на базе 1С 7.7. Вы можете БЕСПЛАТНО скачать демо-версию без ограничения по функционалу и опробовать решение в полном объеме перед покупкой. В данном программном продукте реализованы все технические требования Россельхознадзора по обмену в формате 2.0 и 2.1. Решение прошло опытную эксплуатацию и тестирование на крупных объектах всех видов деятельности: Производство, Опт, Розница.

10000 руб.

21.11.2018    52814    139    105    

67

АИС: Обмен с ЕГАИС 4.0 для конфигураций 1С 7.7

Оптовая торговля Розничная торговля Обмен с ГосИС Оперативный учет 7.7 Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полностью автоматизированный обмен между конфигурациями 1С 7.7 и универсальным транспортным модулем (УТМ) ЕГАИС для всех видов деятельности (Опт, Розница, Производство, Импорт). Для организации обмена с ЕГАИС требуется минимальная доработка конфигураций (поддерживается 1С: "Торговля и склад ред. 9.2", 1С: "Бухгалтерия 7.7", 1С: "УСН 7.7", другие конфигурации по заказу, включая нетиповые). В данном программном продукте реализованы все технические требования ФСРАР по обмену с УТМ ЕГАИС (включая отправку чеков розничных продаж в ЕГАИС - требование с 01.07.16). Поддержана фиксация чеков ЕГАИС на онлайн-кассах (в соответствии с 54-ФЗ). Поддержана версия 3 документооборота и поштучный (помарочный) учет. Поддержан эксперимент Татарстана по маркировке нефасованного (кегового) пива.

3000 руб.

13.12.2015    134865    159    400    

146

Конфигурация "Информационный киоск". Обработки выгрузки товаров для ТиС 9.2, УТ 10.3, УТ 11 (обмен данными с любой конфигурацией 1С 7.7, 8.х)

Оптовая торговля Розничная торговля Обмен между базами 1C Сканер штрих-кода Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Управленческий учет Платные (руб)

Конфигурация предназначена для организации offline доступа клиента (покупателя) к информации о товарах, услугах или дисконтных картах посредством сканирования штрих-кода. Основная цель – мгновенно предоставить наиболее актуальную информацию о цене, остатках, наименовании товара (услуги) или накоплениях, держателе, состоянии дисконтной карты.

1800 руб.

21.12.2014    59307    8    21    

20

Обмен с ЕГАИС из 1С V7.7

Оптовая торговля Розничная торговля Обмен с ГосИС Оперативный учет 7.7 1С:Торговля и склад 7.7 Бухгалтерский учет Акцизы Платные (руб)

Дорогие друзья! Предлагаю Вашему вниманию обработку, предназначенную для обмена данными из Вашей учетной системы с ЕГАИС, через универсальный транспортный модуль (УТМ). В обработке реализован весь функционал обмена: - загрузка справочных данных по контрагентам, производителям, импортерам алкогольной продукции; - загрузка справочных данных по номенклатуре алкогольной продукции; - загрузка остатков; - помощник сопоставления справочных данных и запись их в базу данных; - загрузка приходных ТТН и справок Б от поставщиков, отправка по ним актов всех типов, создание по ним приходных документов; - выгрузка расходных ТТН покупателям; - управление Марками и ведение Регистра 3; Обработку возможно использовать автономно, не внося изменений в Вашу Учетную систему. Код открыт.

6000 руб.

13.11.2015    121681    169    2528    

232

Выгрузка товаров из 1С:Предприятия 7.7 "Торговля и Склад 9.2" в файл CSV для онлайн кассы МТС

Кассовые операции Оптовая торговля Розничная торговля Загрузка и выгрузка в Excel Оперативный учет 7.7 1С:Торговля и склад 7.7 Бухгалтерский учет Управленческий учет Абонемент ($m)

Данная обработка предназначена для выгрузки файла из программы 1С: Предприятие 7.7 Конфигурации «Торговля и Склад 9.2» в файл CSV для загрузки в кассу МТС. Тестирование проводилось на релизах 937 и 998. В теории должна работать на всех типовых релизах конфигурации «Торговля и Склад 9.2».

1 стартмани

07.02.2021    9963    5    Kuzya_brаtsk    1    

7
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. CheBurator 3119 21.06.07 14:40 Сейчас в теме
2. d.snissarenko 152 21.06.07 21:34 Сейчас в теме
прикольно, 570 бачей за 20 минут, ай малаца
26. poppy 02.07.07 04:05 Сейчас в теме
> Да, привязываться к коду контрагента в наименованиях реквизитов
> конфигуратора может показаться на первый взгляд некомильфово

Продожение.

Я бы предложила другое решение:
В справочнике контрагентов добавить реквизит: "КодСети" (типа строка(2)). В справочнике Номенклатура, нужно добавить реквизиты "БВК_АртикулХХ", где ХХ = от 00 до 15 (или 20, или другое число).

В коде пишем:

Код
ПечКод = "";
ИмяРеквизита = "БВК_Артикул"+Докум.Контрагент.КодСети;
Если глЕстьРеквизитШапки(ИмяРеквизита, Докум.Вид()) = 1 Тогда ПечКод = Докум.Номенклатура.ПолучитьАтрибут(ИмяРеквизита);
КонецЕсли;
Показать полностью

В рассмотренном варианте мы можем "привязать" несколько контрагентов к одному коду номенклатуры.
3. d.snissarenko 152 21.06.07 21:35 Сейчас в теме
4. CheBurator 3119 21.06.07 23:25 Сейчас в теме
Тьфу, блин... 1500 руб.. конечно...
5. alexdum12 22.06.07 09:42 Сейчас в теме
Я думаю продуктивность сотрудничества между твоим клиентом и его клиентами значительно бы возросла, предложи ты им обмен данными в электронном виде - это первое. Второе - а что будет когда количество подобных клиентов станет расти? Итог - решение на коленке долго не проживет, грамотный подход принес бы тебе больше презренных бумажек, а клиентам больше сервиса
6. Snus71 233 22.06.07 12:16 Сейчас в теме
Че, ты чему народ учишь ? Исходно был выбран идеолгически неверный путь в данной задаче. Завтра появится 5, 6, 7 я сетка у клиента и что ?
Низачод короче
7. Snus71 233 22.06.07 12:17 Сейчас в теме
"NN - числовой код клиента в справочнике контрагентов"

ужас !!! ужас !!!!
kachestvod; +1 Ответить
8. CheBurator 3119 22.06.07 12:47 Сейчас в теме
Тьфу на вас всех, собаки бешеные! ;-)
Вероятность появления у клиента новых сетей в течение года - весьма мала... так что
NN - числовой код клиента в справочнике контрагентов - В ДАННОМ СЛУЧАЕ - практически оптимальное решение... особенно, если клиенту завтра припрет вставить колонку артикула Ашана в ТЧ документа реализации - это я смогу и по телефону разрулить... а вот при выборе идеологически верного Варианта 1 - придется телепаться на другой конец москвы...
Естественно, к выбору варианта решения надо подходить обоснованно... Ясен пень, что при первой же возможности следует переделать под Вариант 1, но работы там будет - раз в пять больше... потому что внешне для клиента - все должно быть максимально просто...
.
> а что будет когда количество подобных клиентов станет расти?
сразу видно, что народу лень думать... БОЛЬШИНСТВО клиентов, которые работают с сетями - имеют СВОЕГО программиста 1С. Поэтому - ничего не будет...
..
> решение на коленке долго не проживет
Согласен... Только предложенное выше как выразились "решение на коленке" - встраивается в систему за 15 минут... и уж поверьте - грамотные "коленчатые" решения - живут вполне себе успешно...
9. CheBurator 3119 22.06.07 12:51 Сейчас в теме
> продуктивность сотрудничества между твоим клиентом и его клиентами значительно бы возросла, предложи ты им обмен данными в электронном виде...
Сапсем больной, да? ;-)
Обмен в электронном виде не исключает необходимости предоставления твердых копий документов. Пока я еще не встречал, чтобы налоговая принимала для проверки логи/электронные документы.
Низачот.
-1
10. imaster 7 22.06.07 14:37 Сейчас в теме
Ужос н@х... Такого изврата я ещё не видел.
Особенно "необходимость править структуру данных конфигурации при появлении новых "сетей", + не забывать при обновлениях."
kachestvod; +1 Ответить
11. CheBurator 3119 22.06.07 14:49 Сейчас в теме
Ок, Специалисты.
Ставим задачу:
- решить сабж
- уложиться в общем случае в 10 строк кода.
- избежать программирования при вставке артикула сети в табличную часть документа.
...
критиканские высказывания без обоснования будут приравниваться к флуду... ;-)

imaster'у: а ты, что, никогда структуру данных конфиги не модифицировал?
42. CheBurator 3119 24.07.07 19:10 Сейчас в теме
Кстати, задача, изложенная в (11) все еще актуальна...
12. Вадимко 214 23.06.07 02:28 Сейчас в теме
>>обойти матюги так называемых "специалистов 1С"
Бугоганах, ну-ну, пиши еще!
13. support 4485 23.06.07 12:17 Сейчас в теме
Не обжайте Чебурашку, он хороший. И его решение, более чем грамотное.
Сам работал с сетями, и знаю, что это такое, более придирчивого покупателя не найти, но это сеть, и она диктует условия.
Добавления нового реквизита в карточку номенклатуры самое простое и грамотное решение. Многие программисты не понимают, что 1С дала прекрасный инструмент, чтобы решать именно такие задачи. Создал реквизит, добавил на форму и все. Больше ничего делать не надо. А создание сложных систем по вводу дополнительных артикулов только усложняет процесс ввода, вывода и т.д. Потом научить оператора создавать такой артикул сложнее, чем научить создавать дополнительный реквизит в справочнике. :)
И еще, сетей, которые кодируют сами, в России можно пересчитать по пальцам, все остальные используют коды поставщиков. Создавать сложную систему для максимум десяти клиентов просто глупо.
Плюсы данное решения.
- Дополнительный артикул легко выводится в форму списка справочника (опять же заложено 1С), соответственно оператор может искать по нему.
- В любом универсальном отчете можно легко вывести код сети, т.к. это просто реквизит справочника.
- Добавить реквизит в табличную часть документа так же просто, как в форму списка.
- Можно осуществлять упорядочивание 1С запроса по данному реквизиту.
- Можно осуществлять поиск по реквизиту, отбор и т.д.
14. poppy 24.06.07 01:47 Сейчас в теме
Я бы обошлась без попытки:

Код
ПечКод = "";
Если глЕстьРеквизитШапки("БВК_Артикул"+Число(Докум.Контрагент.Код), Докум.Вид()) = 1 Тогда   
   ПечКод = Докум.Номенклатура.ПолучитьАтрибут("БВК_Артикул"+Число(Докум.Контрагент.Код));
КонецЕсли;
Показать полностью
15. Ioann 47 27.06.07 11:32 Сейчас в теме
Что-то много всего намутил. Конфа, насколько я понимаю имеет типовой функционал с аналогами и каталогами. в этом случае вообще ничего не надо в структуре менять. У меня код (артикул) покупателя хранится в реквизите "ИдентификаторВКаталоге" справочника "Аналоги". При печати документов используется глобальная функция, которая возвращает код покупателя, в случае наличия аналога из каталога данного контрагента. В некоторых случаях используется не только код, но наименование товара, принятое у клиента (хранится в реквизите "Наименование" справочника "Аналоги") - есть и такие клиенты...
16. artbear 1518 27.06.07 13:03 Сейчас в теме
При условиях, которые заданы в задаче
Цитата
"(плюс к этому попутно: франч, обновлявший конфигу клиенту, умудрился "потерять" внесенный по другой доработке новый код в глобальный модуль - хотя ему был перед добавлением выдан "протокол" изменений - что уж тут говорить о более серьезных доработках кода... - при очередном обновлении - все рухнет... франчи - они такие...)"
ни один из способов не является оптимальным.

Реализованный вариант 3 при подобном обновлении пострадает также, как и остальные варианты!!

Наиболее правилен все-таки вариант 1, пусть он клиенту и обойдется дороже :)
Только я бы не использовал встроенный справочник Аналоги, а сделал бы спец. подчиненный справочник, который не пострадает. Объем клиентского кода, в принципе, примерно тот же :) Необходимо только написать пару методов для работы с подчиненным справочником :)

При "плохом" обновлении/объединении в этом случае по крайней мере данные клиента (коды) не будут потеряны, как при использовании варианта 3 :(

Также 100% твой доп. слой будет потерян :)

ЗЫ а вообще подобная схема у меня лично давно реализована с помощью классов 1С++.
И подобные фичи легко добавляются в спец. подчиненный справочник, в котором соответствие один-один к справочнику-хозяину.
Для клиентского кода все прозрачно, только вместо
Спр = СоздатьОбъект("Справочник.Номенклатура");
используется
Спр = СоздатьОбъект("Общие.СправочникСДополнительнымиРеквизитами");
Спр.НазначитьВид("Номенклатура");
17. Ioann 47 28.06.07 11:47 Сейчас в теме
Про франча... С какой стати он обновляет конфу, которой занимается сторонний спец? Я бы на его месте не стал её сопровождать. Сопровождение типовой или не типовой совсем разные вещи, деньги и специалисты. Да и сопровождать то, за что ты отвечать не можешь на кой фиг?
18. CheBurator 3119 28.06.07 12:55 Сейчас в теме
2 artbear: > Только я бы не использовал встроенный справочник Аналоги, а сделал бы спец. подчиненный справочник,
Хотелось бы узнать - чем неустроил справочник "Аналоги" - чисто интересно.
То, что при обновлении потеряется доп.слой - это да... но его по тлф. "внедрить" легче, чем большой кусок программного кода по вар.1. Понятно, что по варианту 3 код тоже потеряется - но его всего вообщем-то 3 строчки ;-)
...
> При "плохом" обновлении/объединении в этом случае по крайней мере данные клиента (коды) не будут потеряны,
// ну это надо так постараться, чтобы доп.реквизиты убить - это только если загрузить обновление.... ;-) хотя и такое могут отчудить... ;-)
..
> с помощью классов 1С++.
... отдавая дань возможностям 1С++ на широкое масштабное применение 1С++ не иду ввиду отсутствия внятной целной документации - и не надо давать ссылки на "обрывки", которые лежат на известных ресурсах... - это нельзя назвать документацией... ну и не надо экскаватором копать ямки для заборныз столбиков... ;-)
19. CheBurator 3119 28.06.07 12:59 Сейчас в теме
2 Ioann: совершенно верно, согласен. у сеьбя в конторе сделано так же. Но при "внедрении" к клиенту требуется соотноситься с "возможностями" клиента. Как я писал ниже - такой вариант ДЛЯ КЛИЕНТА непрозрачен. Для нормальной работы требуется "прописать" фишку для заполнения аналогов. Вариант типовой работы с заполнением подчиненого справочника - весьма неудобен с практической точки зрения...
20. CheBurator 3119 28.06.07 12:59 Сейчас в теме
2 poppy: ок. код только длиннее получается ;-)
21. Sancha 184 01.07.07 14:29 Сейчас в теме
Я, все сделал бы на свойствах номенклатуры. Сделал бы сервисную обработку на подобии обработки группового изменения св-в справочника, это для тех, кто должен отслеживать артикулы сетей. И внешнюю печ.форму torg12.ert подправил бы по своему усмотрению.
Нет геммора с обновлением и с печ.формой.
22. CheBurator 3119 01.07.07 16:32 Сейчас в теме
Угум.. а a бы сделал на аналогах, ибо по сути это и есть аналоги...
23. poppy 02.07.07 02:48 Сейчас в теме
> 2 poppy: ок. код только длиннее получается ;-)

Букавак больше, но строчек = меньше. ;)

Использование конструкции "Попытка" для определения наличия атрибута смахивает на почерк программистов из Раруса. Не буду разводить здесь антирекламу, но такой почерк вызывает у меня рвотные рефлексы.

Ты сам утверждал, что учился кодить у одноэсовых программистов ( http://infostart.ru/forum/read.php?25,4076,5928,ref=4246#msg-5928 ). Видать, плохо учился...
24. poppy 02.07.07 03:41 Сейчас в теме
Не хочу обсуждать, на сколько решение = обосновано. Считаю, что Саппорт его обосновал.

Немного покритикую.
По вопросу обновления и франчей.
Не думаю, что мы доживем до 950 релиза. Если и доживем, то не скоро.
ИМХО очередные релизы пишут какие-то "студенты". Они вносят больше ошибок, чем исправляют. Поэтому, новый релиз + неумелый франч = взрывная смесь.

Если уж "решение" создает Че, то клиенту выгоднее обратиться к нему же за обновлением. Другое дело, что мотаться по Москве, выпоняя обновления = неблагодарное дело.
Как вариант: автор решения готовит очередное обновление, но обновление конкретной базы выполняет ближайший франч.
25. poppy 02.07.07 03:52 Сейчас в теме
> Да, привязываться к коду контрагента в наименованиях реквизитов
> конфигуратора может показаться на первый взгляд некомильфово

Не то слово. Очень большое ФИ по этому вопросу.

В восьмерке, например, есть преопределенные элементы, но в серемерке, иногда, приходится принимать непопулярные решения.
27. CheBurator 3119 03.07.07 02:42 Сейчас в теме
> нужно добавить реквизиты "БВК_АртикулХХ", где ХХ = от 00 до 15 (или 20, или другое число).
ну это - ваще отстой...
лучше уж как сделано в статье.. или на налогах/свойствах...
а вот почему Попытка - рвет на родину - непонятно...
Я считаю использование такой конструкции РАЗУМНО ТАМ где срабатывание по ветке "исключение" - не приводит к каким-либо траблам - как в примере вывода печатной формы... Другое дело, что при вычислительном каком-нить алгоритме применение Попытки не есть хорошо - так как БЕЗ ДОЛЖНОЙ ОТРАБОТКИ ИСКЛЮЧЕНИЯ приводит к иллюзии что все есть гуд...
28. CheBurator 3119 03.07.07 02:44 Сейчас в теме
В любом случае - все предложенные решения (кроме описанного в статье) являются существенно БОЛЕЕ ЗАТРАТНЫМИ.. имхо...
А то, что 950 релиза ххз когда дождемся - это да... я у себя в конторе до сих пор на 933 сижу (книги продаж/покупок только из 941 подтянулл в всое время...)
29. topasha 23 03.07.07 07:54 Сейчас в теме
Автор видимо мало работал с крупными розничными сетями. Многие из них еще требуют, чтобы в Торг-12 были ИХ НАЗВАНИЯ ТОВАРОВ, их артикул, их отпускные цены, их цены для промоакций , их штрих код. (Остальное добавьте после внимательного прочтения договора) Помимо Торг-12 могут потребовать еще кучу документов типа протокола согласования цен, разные формы для ввода новых товаров и прочее. Плюс практически все сети требуют отдельно ведения списка товаров, поставляемых им. Некоторые трепетно относятся даже к порядку следования строк с товарами! Добавление новых товаров в их базу почти всегда платное (от 50 до 300 евриков за строку). Рекомендую очень внимательно читать договор с торговыми сетями. Я бы сделал справочник "Товарная матрица", подчиненный справочнику "Контрагенты", в котором для каждой розничной сети вёл бы свой список товаров с их названиями, артикулами, возможно ценами и проч. реквизитами. Решение автора простое, в лоб, но не универсальное.
30. angro 03.07.07 08:12 Сейчас в теме
ИМХО: такое публиковать нельзя, решение простое и работающее, но ничего из себя не представляет.
31. topasha 23 03.07.07 08:22 Сейчас в теме
Подход к решению задачи в корне не правильный! Все три предложенных варианта - не правильные!
32. CheBurator 3119 03.07.07 11:40 Сейчас в теме
2 topasha: все верно. в данной конторе, которая описана выше - необходимости в реализации полной схемы "работы с сетями" как описано тобой ниже - необходимости нет... в другой конторе - там, все посложнее и по полной программе, как грится...
> решение автора простое, но не универсальное...
именно, речь ведь не шла о написании мегаконфиги для работы с сетями...
> Я бы сделал справочник "Товарная матрица", подчиненный справочнику "Контрагенты", в котором для каждой розничной сети вёл бы свой список товаров с их названиями, артикулами, возможно ценами и проч. реквизитами.
я бы не стал плодить излишеств и по максимум воспользовался бы "Аналогами" - тем боле что туда вполне можно впихнуть и артикул, и наименования, цены для каждой сети свои - тоже нормально реализуется штатными возможностями... доп.реквизиты - в свойства - все это, конечно, если работа с сетями не составляет ОСНОВНОЙ доли деятельности. Тогда имхо точить конфигу надо именно под автоматизацию работы с сетями...
33. CheBurator 3119 03.07.07 11:41 Сейчас в теме
2 angro: т.е. лучше публиковать навороченное решение с кучей ошибок...? ;-)
смысл именно такой и был - прсо, без заморочек... суть уловлена верно.
34. wolfsoft 2421 03.07.07 13:21 Сейчас в теме
Вот, блин, тоже сейчас начну статьи писать, как я разным клиентам реквизиты добавлял! Вот статьей-то наваяю... ;)
зы: Но минусовать не буду, потому что принципиально против минусов :)
35. topasha 23 03.07.07 14:22 Сейчас в теме
В моём решении как раз заморочек меньше всего, а наворотов нет вообще. Можно даже и интерфейсов не мутиит никаких. достаточно показать клиенту, как штатно открыть форму списка подчинённого справочника и всё! Можно даже типовые обновления ствить без боязни что-либо утерять. Просто предложенные решения задачи методологически не верны в принципе, даже для маленькой конторы!
36. poppy 05.07.07 02:23 Сейчас в теме
> > нужно добавить реквизиты "БВК_АртикулХХ", где ХХ = от 00 до 15 (или 20, или другое число).
> ну это - ваще отстой...

Не отстойнее, чем исходное решение... ИМХО ;)
Я даже не осуждаю то, что автор в своей статье многочисленно оправдывается за принятое решение.

> В любом случае - все предложенные решения (кроме описанного в статье) являются
> существенно БОЛЕЕ ЗАТРАТНЫМИ.. имхо...

Не существенно и не БОЛЕЕ.
Бюджет моего решения соизмерим с исходным. А если учесть перспективу "разруливания" ситуации по телефону, то значительно ниже как для заказчика так и для исполнителя.

Мое решение является более универсальным. В частности:
- у разных магазинов одной сети могут быть разные реквизиты. В этом случае разным контрагентам можно назначить одинаковые коды товаров;
- при появлении новых магазинов (сетей) пользователь добавляет данные в привычном для него интефейсе в т.ч. и без консультации по телефону.

В развитии решения можно добавить следующее.
Создать справочник "Сети". Тип реквизита КодСети справочника Контргаенты установить этот справочник. В форме элемента справочника Номенклатура показывать только те реквизиты, ХХ которых совпадает с кодом одного из элементов справочника Сети. Надписи для них брать из нового справочника.

"Коленчатые" решения действительно иногда жывут "успешно" и долго. Но в большинстве случаев из-за того, что уйти от них бывает дороже, чем выполнять разовые доработки.

Складывется впечатление, что заказчик и автор решения не знакомы с известным правилом: Я не настолько богат, что-бы покупать дешевые вещи.

Единственный плюс исходного решения отмечаю использование иднтификаторов реквизитов ПРЕФИКС_АртикулNN вместо БВК_АртикулАшан.
mdzen; support; +2 Ответить
37. poppy 05.07.07 02:25 Сейчас в теме
> а вот почему Попытка - рвет на родину - непонятно...

Потому что в аналогичных ситуациях эту конструкцию используют программисты из известной большой франчайзинговой фирмы.
Конфигурации от них у меня ассоциируются с неработающими поделками.

Складывается впечатление, что свои решения они создают на "коленках", распостраняя их потом на всю страну. Вот и рвет на родину.

Я не против использования конструкции Попытка в целом и в рассматриваемой ситуации в частности.

Кстати, если бы такое решение (Вариант 3) предложил какой-нибудь новичок, что Чебур первый бы его зачморил ИМХО.
38. Трактор 1247 07.07.07 13:16 Сейчас в теме
Ух! :-)
Как я понял автор хочет защититься от дурака-обновляльщика.
Думаю что добавленный реквизит с точки зрения обновляльщика мало отличается от добавленного справочника.
Можно использовать префиксы для добавляемых объектов матаданных. Например, реквизит назвать ЧЕБУР_КодыСетей или назвать справочник ЧЕБУР_АналогиСетей.
Вариант2 наиболее защищён от дурака-обновляльщика, поскольку на первый взгляд требует меньше изменений в коде.

Вариант1 vs Вариант3
Трудоёмкость написания кода для разбора строк не меньше чем трудоёмкость написания кода для работы с подчинённым справочником. Кроме того для облегчения обновления форму элемента лучше трогать поменьше. Я бы навесил на неё только кнопку с вызовом справочника аналогов или формы обработки по заполнению аналогов. Получается что разница в объёме кода между первым и третьим вариантом исчезающе мала, а вот разница в ссылочной целостности и лёгкости доработки - значительная.

Вариант2 vs Вариант3 vs Вариант1
До сраки как сделать, главное чтобы работало и чтобы пришедший после тебя не сильно матюкался.

Любителям универсальных решений - в сад. Лучше неуниверсально и просто, чем универсально на сложно и с множественными переломами мозгов при попытке использовать где-то ещё.

Касательно комментариев. Лучше писатьтак
а так
//(( Чебурашка 07.07.2007
//)) Чебурашка 07.07.2007

Автору плюс за поднятую тему.
39. CheBurator 3119 08.07.07 00:36 Сейчас в теме
спасибо Трактору за комент. единственное с чем не соглашусь
> то разница в объёме кода между первым и третьим вариантом исчезающе мала,
- на мой взгляд разница в коде - весьма существенна... хотя кто как считает...
> ЧЕБУР_КодыСетей
ну так и названо - БВК_Артикул...
40. GROOVY 2506 10.07.07 03:13 Сейчас в теме
Зачетная статейка. Конечно про "правильность" подхода мы тут говорить не будем, ведь для определенного решения это есть гуд.
das; support; +2 Ответить
41. CheBurator 3119 10.07.07 03:16 Сейчас в теме
Вот слова истинного Дао!
das; support; +2 Ответить
43. Alesya 25.07.07 12:53 Сейчас в теме
Программистам может и не нравится, что ж их мнение...
Но ведь нравится пользователю. Мне как пользователю - это удобно. Это комфортно.
Мало того, я знаю, что если вдруг возникнет проблема, мне её сразу решат. Серёжа, спасибо, с тобой очень комфортно работать!
44. das 232 22.09.07 04:47 Сейчас в теме
43) Полностью присоединяюсь!
Спасибо за статью - ваше зерно опыта в нашу копилку!!!
45. XLstarter 08.07.08 15:49 Сейчас в теме
в комментах товара ввел для клиента правило на заполнение первых символов типа !М3253!А5643! и создал отдельные печатные формы расходных, счетов, ттн (пришлось повозиться с группировкой товара по их единому коду), от !Мдо! - Метро, от !А до ! Ашан ... в печ.форм. подставлял кода - печ.ф. М - метро, А - ашан..
46. v.l. 434 26.08.09 16:32 Сейчас в теме
МЕТРОимся и АШАНимся... захитали... особенно МЕТРО...
+
47. Иваныч 23 19.04.21 17:07 Сейчас в теме
Хоть и старая публикация, у меня похожий подчиненный справочник номенклатуры КодПоставщика, в котором 2 поля: Поставщик и Код. Сделана проверка на дублирование кода и все прекрасно работает примерно 10 лет.
Оставьте свое сообщение