Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
20 Янв 2018, 08:12
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Проблема с циклом  (Прочитано 730 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн grey0895

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-01-29
  • Сайт: 
  • Профессия: Ученик 1С
У меня тема аптека. есть перечень лекарств,, которые можно продать людям и купить у поставщика. есть виды измерения товара(граммы, упаковки и штуки).Есть количество упаковок, мы можем выбрать, сколько в упаковке пластинок с лекарствами и таблетками (например, 1:10 означает 1 пластинка по 10 таблеток). При выборе измерения товара(упаковки), программа умножает 1*10 * количество упаковок, т.е. мы получаем общее количество таблеток. на основании общего количества мы формируем цену и т.д.  Итак, сама проблема: у некоторых лекарств при заполнении всех данных и выборе измерения (упаковка) у некоторых лекарств ничего не происходит, т.е. не происходит умножения   1*10 * количество упаковок. при анализе даннной странности я пришел к циклу
   ОбТов = Элемент.Родитель.ТекущиеДанные;    
    Сер=     ОбТов.Серия;
   ЕдИзм = ОбТов.ЕдиницыИзмерения;
   Если ЕдИзм =  ЕдИзмер("Упаковка") Тогда
       Сообщить(Сер);//здесь у всех лекарств выводит сообщение
       Если Сер = Серии("1:10") Тогда
          Сообщить(Сер);//здесь у некоторых лекарств выводит сообщение
      КонецЕсли;
КонецЕсли;
Функция Серии(Строк)
   Возврат Справочники.Серии.НайтиПоНаименованию(Строк);
КонецФункции
если вы зайтете в конфигурацию, там в документе поступление товаров есть документ, в котором 2 лекарства. с одним все отлично, со вторым беда.


Оффлайн LexaK

  • *****
  • Сообщений: 1280
  • РЕПУТАЦИЯ: 352
  • КПД: 28%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
бред какой-то! зачем такого урода изобретать?
есть же уже в УТ отработанный механизм
в номенклатуре есть реквизит
ЕдиницаХраненияОстатков

во всех других единицах измерения связанных(подчиненных) этой номенклатуре задан Коэффициент пересчета, и все отлично в УТ работает, перетащите от туда этот функционал и не канифольте мозги себе (и другим)

пример:
товар1, ед.хранения остатков кг(коэф=1)
есть еще ед.изм
тн(тонна)(коэф =1000)
гр(грамм)(коэф =0.001)


поступило,    количество,     ед.из.
товар1,  100, кг   - в регистр пишем приход, товар1,кг,100 * кг.коэф(1) = 100
товар1,  1,  тн -  приход,  товар1,кг,1 * тн.коэф(1000) = 1000
расход
товар1, 50000, гр - расход, товар1,кг,50000 * гр.коэф(0.001) = 50

остаток Товар1,кг,1050
и зная коэф. у других ед.измерений, легко получить остаток и в граммах и в тоннах!

тоже самое можете завести для своих пилюлек и микстурок,
и не надо разбирать текстовые строки типа Серии("1:10")
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн grey0895

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-01-29
  • Сайт: 
  • Профессия: Ученик 1С
бред какой-то! зачем такого урода изобретать?
есть же уже в УТ отработанный механизм
в номенклатуре есть реквизит
ЕдиницаХраненияОстатков

во всех других единицах измерения связанных(подчиненных) этой номенклатуре задан Коэффициент пересчета, и все отлично в УТ работает, перетащите от туда этот функционал и не канифольте мозги себе (и другим)

пример:
товар1, ед.хранения остатков кг(коэф=1)
есть еще ед.изм
тн(тонна)(коэф =1000)
гр(грамм)(коэф =0.001)


поступило,    количество,     ед.из.
товар1,  100, кг   - в регистр пишем приход, товар1,кг,100 * кг.коэф(1) = 100
товар1,  1,  тн -  приход,  товар1,кг,1 * тн.коэф(1000) = 1000
расход
товар1, 50000, гр - расход, товар1,кг,50000 * гр.коэф(0.001) = 50

остаток Товар1,кг,1050
и зная коэф. у других ед.измерений, легко получить остаток и в граммах и в тоннах!

тоже самое можете завести для своих пилюлек и микстурок,
и не надо разбирать текстовые строки типа Серии("1:10")
конечно круто что есть специальная 1с, но мне курсовую уже завтра сдавать, а все переделывать не хочется

Оффлайн LexaK

  • *****
  • Сообщений: 1280
  • РЕПУТАЦИЯ: 352
  • КПД: 28%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
если препод увидит такой код, точно влепит толстый кол!!!
почти в рифму :zebzdr:

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

извините, но тут трудно как либо помочь, :dfbbdrfb:
&НаКлиенте
Процедура ТоварыЕдиницыИзмеренияПриИзменении(Элемент)
ОбТов = Элемент.Родитель.ТекущиеДанные;
ЕдИзм = ОбТов.ЕдиницыИзмерения;
Сер=     ОбТов.Серия;
Если ОбТов.Количество = 0 Тогда
ОбТов.Количество = 1;
ОбТов.ОбщееКоличество = 10;
КонецЕсли;

Кол = ОбТов.Количество;

Если ЕдИзм = ЕдИзмер("Шт") Тогда
ОбТов.ОбщееКоличество  = Кол*Число(10);
КонецЕсли;

Если ЕдИзм = ЕдИзмер("Грамм") Тогда
ОбТов.ОбщееКоличество  = Кол*Число(1);
КонецЕсли;

Если ЕдИзм =  ЕдИзмер("Упаковка") Тогда
Сообщить(Сер);
Если Сер = Серии("1:10") Тогда
Сообщить(Сер);
//ИЛИ Сер=Серии("0,2:20") Тогда
// ОбТов.ОбщееКоличество  = Кол*Число(10);
//
// ИначеЕсли Сер=Серии("2:10") ИЛИ Сер=Серии("1:20") Тогда
// ОбТов.ОбщееКоличество  = Кол*Число(20);
//
// ИначеЕсли Сер=Серии("4:10") ИЛИ Сер=Серии("2:20") Тогда
// ОбТов.ОбщееКоличество  = Кол*Число(40);
//
// ИначеЕсли Сер=Серии("0,2:10") ИЛИ Сер=Серии("0,3:15") Тогда
// ОбТов.ОбщееКоличество  = Кол*Число(5);
//
// ИначеЕсли Сер=Серии("1:15")Тогда
// ОбТов.ОбщееКоличество  = Кол*Число(15);
// ИначеЕсли Сер=Серии("3:15")Тогда
// ОбТов.ОбщееКоличество  = Кол*Число(45);
// ИначеЕсли Сер=Серии("3:10") ИЛИ Сер=Серии("2:15") Тогда
// ОбТов.ОбщееКоличество  = Кол*Число(30);
КонецЕсли;
КонецЕсли;

ОбТов.Количество = Кол;
ТоварыКоличествоПриИзменении(Элемент);
КонецПроцедуры
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн grey0895

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-01-29
  • Сайт: 
  • Профессия: Ученик 1С
Как подсказал мне хороший человек, дело было в справочнике Серии. там я просто убрал владельца, и дело пошло :P + сам виноват, не смог донести нормально свой вопрос :^454^:


Теги:  аптека 
 

Проблема с выгрузкой НН в "Звит" Не найдено соответствие для схемы "J1201008"

Автор AldemaHРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 1244
Последний ответ 06 Июл 2016, 09:19
от AldemaH
проблема с "ЗагрузкаДанныхИзТабличногоДокумента"

Автор bratmaratРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4868
Последний ответ 08 Янв 2014, 14:30
от LordWizard
Проблема с развертыванием окон и сохранением окон

Автор SokresРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 2642
Последний ответ 09 Дек 2015, 14:09
от pavl_vs
Проблема с отчетом "Перемещение товаров"

Автор sailРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3445
Последний ответ 14 Дек 2010, 20:27
от progmikon
1C 8.2 УПП проблема с отчетом "Задолженость по контрагентам"

Автор LeonidLeonidРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3704
Последний ответ 26 Сен 2011, 20:42
от Dethmontt

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
96 Сообщений
AIFrame
71 Сообщений
alex0402
32 Сообщений
kiksi
27 Сообщений
pavl_vs
24 Сообщений
alexandr_ll
17 Сообщений
andron81_81
16 Сообщений
Norfolk
15 Сообщений
KOI8-R
14 Сообщений
MuI_I_Ika MuI_I_Ika
13 Сообщений

* Кто онлайн

  • Точка Гостей: 199
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal