Доброго времени суток господа. У меня 1с 7.70.027 Торговля и Склад для Украины 7.70.048 и всё же назрел(а точнее накапали на мозг) вопрос может кто сталкивался и это элементарно решается но я увы так и не додумался( Собственно суть: есть чек/приходка/расходка ТЗ в которых имеет вид ШтрихКод-Артикул_Товар. Если пикать Штрих код всё гуд вставляется и артикул и товар и т.д. но вот проблема дальше если шк нет продавцы вводят артикул и он вставляет данные игнорируя столбец ШтрихКод, если и его нет и ищут по названию вводя в столбец товар то при вставке пропускаются столбцы и ШтрихКод и Артикул. Прошу помощи в решении данного вопроса или он вообще нерешаем? Спасибо всем за советы и подсказки
Группа: Местный
Сообщений: 471
Из: Украина
Спасибо сказали: 154 раз
Рейтинг: 155.8
kayfatuch @ Сегодня, 1:08
, Добрий день! тобто ви довыднику не знаходите товар по ШК? Треба створити цей товар - заповнити всі поля в товарі, а потім додати його в ТЗ. В ТЗ "товар" це елемент довідника повинен бути, а ШК і артикул це реквізити товара
Добрий день! тобто ви довыднику не знаходите товар по ШК? Треба створити цей товар - заповнити всі поля в товарі, а потім додати його в ТЗ. В ТЗ "товар" це елемент довідника повинен бути, а ШК і артикул це реквізити товара
Нет вы немного не поняли вопроса. В справочника есть и товар и штрихКод и артикул. Проблема именно в ТЗ документов описанных. Повторюсь в ТЗ документов есть Поля именно в таком порядке ШтрихКод Артикул Товар. Вставляя ШтрихКод заполняются остальные поля таблицы. но стоит пропустить один столбец и все предыдущий не заполняется. Пример ситуации у товара нет ценника и штрих код повреждён. продавцы ищут его по наименованию через столбец товар. Находят подтягивается цена остатки т.п. но артикул и ШтрихКод из справочника не тянутся в поля которые идут до столбца товар. В этом основная проблема
Группа: Местный
Сообщений: 471
Из: Украина
Спасибо сказали: 154 раз
Рейтинг: 155.8
kayfatuch @ Сегодня, 10:31
, ТЗ - це таблиця значеь чи таблична часть документу? бо це "трохи" різне. Якщо ТЧ, то там на полі Штрих стоїть напевно процедура з допомогою якої і заповнюються всі поля документу. аналогічні функції треба прописати і при зміні артикула ...
но артикул и ШтрихКод из справочника не тянутся в поля которые идут до столбца товар.
Если ТЗ это табличная часть документа ( не таблица значений), то у Формы на этих колонках прописаны формулы, и вероятно формула не обрабатывает ( заполняет ) нужные вам колонки; Это легко проверить - найти формулу - включить отладчик и в табло отслеживать изменения реквизитов строки ( Артикул - ШтрихКод) Если я конечно Вас правильно понял
Пока Спр.ПолучитьЭлемент() = 1 Цикл Если ПустоеЗначение(Склад) = 0 Тогда ВремКолво = ОстТоваров.СводныйОстаток(Фирма, Спр.ТекущийЭлемент(), Склад, "ОстатокТовара"); Иначе ВремКолво = ОстТоваров.СводныйОстаток(Фирма, Спр.ТекущийЭлемент(),, "ОстатокТовара"); КонецЕсли;
ТЗК.НоваяСтрока(); ТЗК.Товар = Спр.ТекущийЭлемент(); ШтрихКодТекущегоТовара = Спр.ТекущийЭлемент().ШтрихКод; Если ШтрихКодТекущегоТовара <> 0 Тогда ТЗК.ШтрихКод = Строка(ШтрихКодТекущегоТовара); Иначе Сообщить("Штрих-код пустой для товара с артикулом: " + Спр.ТекущийЭлемент().Артикул); КонецЕсли;
Если ТЗК.КоличествоСтрок() = 0 Тогда Сообщить("Товар с артикулом " + СокрЛП(Артикул) + " не найден"); Возврат; КонецЕсли;
ВыбрЭлем = 0; Если ТЗК.КоличествоСтрок() > 1 Тогда Если ТЗК.ВыбратьСтроку(0, "Выберите нужный товар") = 1 Тогда ТЗК.ПолучитьСтрокуПоНомеру(0); ВыбрЭлем = 1; КонецЕсли; Иначе ВыбрЭлем = 1; КонецЕсли;
Если ВыбрЭлем = 1 Тогда Товар = ТЗК.Товар; глПриИзмененииТовара(Контекст); КонецЕсли; КонецПроцедуры
Причём я ставил отладочное сообщение дополнительное в этом блоке:
ШтрихКодТекущегоТовара = Спр.ТекущийЭлемент().ШтрихКод; Если ШтрихКодТекущегоТовара <> 0 Тогда ТЗК.ШтрихКод = Строка(ШтрихКодТекущегоТовара); Иначе Сообщить("Штрих-код пустой для товара с артикулом: " + Спр.ТекущийЭлемент().Артикул); КонецЕсли;
и 1С мне выдавала что да она видит Штрих Код в базе и он такой то. но по итогу ячейка таблицы(многострочной части) с названием ШтрихКод просто тупо пустая. Может я кривой или смотрю не туда, Всё таки я самоучка и многого могу не знать. в чём причина? Спасибо всем за советы.
Группа: Местный
Сообщений: 301
Спасибо сказали: 99 раз
Рейтинг: 100.1
kayfatuch @ Сегодня, 2:31
, Спробуйте таким чином:
//Если ТЗК.КоличествоСтрок() = 0 Тогда // Сообщить("Товар с артикулом " + СокрЛП(Артикул) + " не найден"); // Возврат; //КонецЕсли; // //ВыбрЭлем = 0; //Если ТЗК.КоличествоСтрок() > 1 Тогда // Если ТЗК.ВыбратьСтроку(0, "Выберите нужный товар") = 1 Тогда // ТЗК.ПолучитьСтрокуПоНомеру(0); // ВыбрЭлем = 1; // КонецЕсли; //Иначе // ВыбрЭлем = 1; //КонецЕсли; // //Если ВыбрЭлем = 1 Тогда // Товар = ТЗК.Товар; // глПриИзмененииТовара(Контекст); //КонецЕсли;
НомСтроки = ТЗК.КоличествоСтрок(); Если НомСтроки = 0 Тогда Сообщить("Товар с артикулом " + СокрЛП(Артикул) + " не найден"); Возврат; ИначеЕсли НомСтроки > 1 Тогда Если ТЗК.ВыбратьСтроку(НомСтроки, "Выберите нужный товар") = 0 Тогда Возврат; КонецЕсли; КонецЕсли;
ТЗК.ПолучитьСтрокуПоНомеру(НомСтроки);
Товар = ТЗК.Товар; ШтрихКод = ТЗК.ШтрихКод; //ШтрихКод - реквізит табличної частини (Може називається по іншому) глПриИзмененииТовара(Контекст);
Примітка: Заповнення додаткових полів табличної частини у Вас мабуть криється в глПриИзмененииТовара(Контекст). Але, якщо Ваше поле ШтрихКод це дійсно реквізит, то варто було б розглянути варіант щоб воно було Табличним полем з формулою Товар.ШтрихКод.
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)
Примітка: Заповнення додаткових полів табличної частини у Вас мабуть криється в глПриИзмененииТовара(Контекст).
Велике дякую! Дійсно там було. я ще дивувався чому якщо шукаю по ШтрихКод Артикул то заповнюется без додаткових налаштувань. вніс зміни в головному модулі і все спрацювало.
Группа: Пользователи
Сообщений: 9
Спасибо сказали: 2 раз
Рейтинг: 2
kayfatuch @ Сегодня, 2:31
, Вот этот кусок кода по идее должен вываливаться с ошибкой
ТЗК.ПолучитьСтрокуПоНомеру(0);
И в такой конструкции
Спр.ТекущийЭлемент().Артикул
ТекущийЭлемент() можно опустить, просто пишите
Спр.Артикул
Ну и при создании колонки можно сразу установить параметры(и ширину тоже), поэтому УстановитьПараметрыКолонки тоже можно опустить
И Вы заполняете тз, которое создаете через СоздатьОбъект, а штрих-код не видите в многострочной части документе. Я просто не вижу в Вашем коде, как он туда попадает из ТЗК
Вот этот кусок кода по идее должен вываливаться с ошибкой ТЗК.ПолучитьСтрокуПоНомеру(0);
На удивление этот момент это из стандартного решения 1с. Ну тобишь это то что сами компания 1с написала не я. Я уже модифицировал готовую процедуру в решениях типа вставки ШтрихКода.
Цитата(tibank @ 08.11.24, 11:20)
И в такой конструкции
Спр.ТекущийЭлемент().Артикул
ТекущийЭлемент() можно опустить, просто пишите
Спр.Артикул
Спасибо за информацию поправлю. Как писал я самоучка какие видел в инете решения те и пробовал. Просто
Спр.ТекущийЭлемент().Артикул
рабочая конструкция потому и не задумывался об другом виде.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!