Имя: Пароль:
1C
1С v8
Производительность остатки по табличной части УТ 11
0 Hans
 
08.01.12
12:10
в УТ 10.3 и со времен семерки был такой функционал: пользователь в заказе выделяет строку в документе - в надписи на форме пишется текущий остаток. нигде это не тормозило. на управляемых формах - тормозит. больше всего времени занимает насколько я понял вызов из процедуры которая &наКлиенте процедуры которая &наСервере. Причем сама процедура &насервере работает не так медленно как ее вызов.

Так же не понял куда засовывать процедуры показа остатков? ПриПолученнииДанных нет в управляемом приложении.
1 H A D G E H O G s
 
08.01.12
12:36
&НаСервереБезКонтекста

А всех посмотреть можно?
2 Hans
 
08.01.12
12:38
(1)>>А всех посмотреть можно?
не понял....
3 H A D G E H O G s
 
08.01.12
12:40
(2) Код покажи.
4 Hans
 
08.01.12
12:44
(3) чего именно? активизации строки и вызова серверной процедуры которая вычисляет остатки?

остатки в самой табличной части пока не реализовал, будет почти то же самое что и при активизации строки, только пока не знаю в какое событие засунуть.
5 Lamer1C
 
08.01.12
12:45
(0) как в 10.3 такой функционал увидеть - куда жать?
6 H A D G E H O G s
 
08.01.12
12:46
(4) И не найдешь. Надо произвольным запросом в динамическом списке реализовыввать.
7 H A D G E H O G s
 
08.01.12
12:46
(4)
чего именно? активизации строки и вызова серверной процедуры которая вычисляет остатки?

да, именно ее.
8 Hans
 
08.01.12
12:48
(5) такого функционала нет в типовой 10.3 все дописано.
9 Lamer1C
 
08.01.12
12:49
(8) а я ж испугался. нахрен я дописывал тогда, думаю..
10 Hans
 
08.01.12
12:51
(9) в семерке помоему информационная надпись при выделении строки была типовая =)
11 Hans
 
08.01.12
12:54
(7)вот что я написал

форма

&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)
   // Вставить содержимое обработчика.
   
   ТекущиеДанные = Элемент.ТекущиеДанные;
   Если НЕ ТекущиеДанные.Номенклатура.Пустая() Тогда
       СформироватьНадписьОстаткаТОваров(Объект.Организация, Объект.Склад, ТекущиеДанные.Номенклатура, ТекущиеДанные.Характеристика)
   Иначе
       ОстатокТОвара = "";
   КонецЕсли;
   
КонецПроцедуры

&НаСервере
Функция СформироватьНадписьОстаткаТОваров(Организация, Склад, Номенклатура, Характеристика)
   
   Склады = Новый Массив;
   Если Склад.Пустая() Тогда
       Склады = Дополнительно.ПолучитьМассивСкладов();    
   Иначе
       Склады.Добавить(Склад);
   КонецЕсли;
   
   СтруктураОстатков = Дополнительно.ПолучитьОстаткиТовара(Организация, Склады, Номенклатура, Характеристика, ТекущаяДата());
   ИнфНадпись = "" + Номенклатура;
   Если СтруктураОстатков.Свободно <= 0 ТОгда
       ИнфНадпись = ИнфНадпись + "(нет в наличии)";
   Иначе
       ИнфНадпись = ИнфНадпись + " (ост. орг. " + СтруктураОстатков.ВНаличииПоОрганизации + " " + Номенклатура.ЕдиницаИзмерения + " , ";
       ИнфНадпись = ИнфНадпись + "своб. ост " + СтруктураОстатков.Свободно + " " + Номенклатура.ЕдиницаИзмерения + ")";
   КонецЕсли;
   
   ОстатокТОвара = ИнфНадпись;
   
КонецФункции
//_

общий модуль

//====================Процедуры работы с товарными запасами====================
&НаСервере
Функция ПолучитьТекстЗапросаОстаткиНоменклатуры()
   
       //запрос с графиком тормозит
       //ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
       //               |    График.Номенклатура КАК Номенклатура,
       //               |    График.Характеристика КАК Характеристика,
       //               |    График.Склад КАК Склад,
       //               |    -МИНИМУМ(График.КоличествоКонечныйОстаток) КАК Количество
       //               |ПОМЕСТИТЬ ВтРезервыПоГрафику
       //               |ИЗ
       //               |    РегистрНакопления.ГрафикДвиженияТоваров.ОстаткиИОбороты(
       //               |            {(КОНЕЦПЕРИОДА(&ТекущаяДата, ДЕНЬ)) КАК Поле2},
       //               |            ,
       //               |            День,
       //               |            ДвиженияИГраницыПериода,
       //               |            Склад В (&Склады)
       //               |                И Номенклатура = &Номенклатура
       //               |                И Характеристика = &ХарактеристикаНоменклатуры {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад, (Характеристика).* КАК Характеристика}) КАК График
       //               |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкаКонтроляОстатков КАК НастройкаХарактеристика
       //               |        ПО График.Склад = НастройкаХарактеристика.Склад
       //               |            И График.Номенклатура = НастройкаХарактеристика.Номенклатура
       //               |            И График.Характеристика = НастройкаХарактеристика.Характеристика
       //               |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкаКонтроляОстатков КАК НастройкаНоменклатура
       //               |        ПО График.Склад = НастройкаНоменклатура.Склад
       //               |            И График.Номенклатура = НастройкаНоменклатура.Номенклатура
       //               |            И (НастройкаНоменклатура.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
       //               |            И (НастройкаХарактеристика.Склад ЕСТЬ NULL )
       //               |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкаКонтроляОстатков КАК НастройкаСклад
       //               |        ПО График.Склад = НастройкаСклад.Склад
       //               |            И (НастройкаСклад.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка))
       //               |            И (НастройкаСклад.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
       //               |            И (НастройкаХарактеристика.Склад ЕСТЬ NULL )
       //               |            И (НастройкаНоменклатура.Склад ЕСТЬ NULL )
       //               |ГДЕ
       //               |    ВЫБОР
       //               |            КОГДА ЕСТЬNULL(НастройкаХарактеристика.ВариантКонтроля, ЕСТЬNULL(НастройкаНоменклатура.ВариантКонтроля, НастройкаСклад.ВариантКонтроля)) = ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроля.ОстаткиСУчетомГрафика)
       //               |                ТОГДА ВЫБОР
       //               |                        КОГДА НЕ НастройкаХарактеристика.ВариантКонтроля ЕСТЬ NULL
       //               |                            ТОГДА ВЫБОР
       //               |                                    КОГДА НастройкаХарактеристика.ГраницаГрафикаДоступности >= &ТекущаяДата
       //               |                                        ТОГДА График.Период <= НастройкаХарактеристика.ГраницаГрафикаДоступности
       //               |                                    КОГДА НастройкаХарактеристика.СрокПоставки > 0
       //               |                                        ТОГДА График.Период <= ДОБАВИТЬКДАТЕ(&ТекущаяДата, ДЕНЬ, НастройкаХарактеристика.СрокПоставки)
       //               |                                    ИНАЧЕ ЛОЖЬ
       //               |                                КОНЕЦ
       //               |                        КОГДА НЕ НастройкаНоменклатура.ВариантКонтроля ЕСТЬ NULL
       //               |                            ТОГДА ВЫБОР
       //               |                                    КОГДА НастройкаНоменклатура.ГраницаГрафикаДоступности >= &ТекущаяДата
       //               |                                        ТОГДА График.Период <= НастройкаНоменклатура.ГраницаГрафикаДоступности
       //               |                                    КОГДА НастройкаНоменклатура.СрокПоставки > 0
       //               |                                        ТОГДА График.Период <= ДОБАВИТЬКДАТЕ(&ТекущаяДата, ДЕНЬ, НастройкаНоменклатура.СрокПоставки)
       //               |                                    ИНАЧЕ ЛОЖЬ
       //               |                                КОНЕЦ
       //               |                        ИНАЧЕ ВЫБОР
       //               |                                КОГДА НастройкаСклад.ГраницаГрафикаДоступности >= &ТекущаяДата
       //               |                                    ТОГДА График.Период <= НастройкаСклад.ГраницаГрафикаДоступности
       //               |                                КОГДА НастройкаСклад.СрокПоставки > 0
       //               |                                    ТОГДА График.Период <= ДОБАВИТЬКДАТЕ(&ТекущаяДата, ДЕНЬ, НастройкаСклад.СрокПоставки)
       //               |                                ИНАЧЕ ЛОЖЬ
       //               |                            КОНЕЦ
       //               |                    КОНЕЦ
       //               |            ИНАЧЕ ЛОЖЬ
       //               |        КОНЕЦ
       //               |    И График.КоличествоКонечныйОстаток < 0
       //               |
       //               |СГРУППИРОВАТЬ ПО
       //               |    График.Номенклатура,
       //               |    График.Характеристика,
       //               |    График.Склад
       //               |
       //               |ИНДЕКСИРОВАТЬ ПО
       //               |    Номенклатура,
       //               |    Характеристика,
       //               |    Склад
       //               |;
       //               |
       //               |////////////////////////////////////////////////////////////////////////////////
       //               |ВЫБРАТЬ РАЗРЕШЕННЫЕ
       //               |    ВложенныйЗапрос.Номенклатура,
       //               |    ВложенныйЗапрос.Характеристика,
       //               |    ВложенныйЗапрос.Склад,
       //               |    СУММА(ВложенныйЗапрос.ВНаличии) КАК ВНаличии,
       //               |    СУММА(ВложенныйЗапрос.Резерв) КАК Резерв,
       //               |    СУММА(ВложенныйЗапрос.Свободно) КАК Свободно,
       //               |    СУММА(ВложенныйЗапрос.ВНаличииПоОрганизации) КАК ВНаличииПоОрганизации
       //               |ИЗ
       //               |    (ВЫБРАТЬ
       //               |        СвободныеОстатки.Номенклатура КАК Номенклатура,
       //               |        СвободныеОстатки.Характеристика КАК Характеристика,
       //               |        СвободныеОстатки.Склад КАК Склад,
       //               |        СвободныеОстатки.ВНаличииОстаток КАК ВНаличии,
       //               |        ВЫБОР
       //               |            КОГДА ЕСТЬNULL(НастройкаХарактеристика.ВариантКонтроля, ЕСТЬNULL(НастройкаНоменклатура.ВариантКонтроля, НастройкаСклад.ВариантКонтроля)) = ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроля.ОстаткиСУчетомРезерва)
       //               |                ТОГДА СвободныеОстатки.ВРезервеОстаток
       //               |            КОГДА ЕСТЬNULL(НастройкаХарактеристика.ВариантКонтроля, ЕСТЬNULL(НастройкаНоменклатура.ВариантКонтроля, НастройкаСклад.ВариантКонтроля)) = ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроля.ОстаткиСУчетомГрафика)
       //               |                ТОГДА ЕСТЬNULL(РезервыПоГрафику.Количество, 0)
       //               |            ИНАЧЕ 0
       //               |        КОНЕЦ КАК Резерв,
       //               |        СвободныеОстатки.ВНаличииОстаток - ВЫБОР
       //               |            КОГДА ЕСТЬNULL(НастройкаХарактеристика.ВариантКонтроля, ЕСТЬNULL(НастройкаНоменклатура.ВариантКонтроля, НастройкаСклад.ВариантКонтроля)) = ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроля.ОстаткиСУчетомРезерва)
       //               |                ТОГДА СвободныеОстатки.ВРезервеОстаток
       //               |            КОГДА ЕСТЬNULL(НастройкаХарактеристика.ВариантКонтроля, ЕСТЬNULL(НастройкаНоменклатура.ВариантКонтроля, НастройкаСклад.ВариантКонтроля)) = ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроля.ОстаткиСУчетомГрафика)
       //               |                ТОГДА ЕСТЬNULL(РезервыПоГрафику.Количество, 0)
       //               |            ИНАЧЕ 0
       //               |        КОНЕЦ КАК Свободно,
       //               |        0 КАК ВНаличииПоОрганизации
       //               |    ИЗ
       //               |        РегистрНакопления.СвободныеОстатки.Остатки(
       //               |                &ТекущаяДата,
       //               |                Номенклатура = &Номенклатура
       //               |                    И Характеристика = &ХарактеристикаНоменклатуры
       //               |                    И Склад В (&Склады) {(Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика, (Склад).* КАК Склад}) КАК СвободныеОстатки
       //               |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкаКонтроляОстатков КАК НастройкаХарактеристика
       //               |            ПО СвободныеОстатки.Склад = НастройкаХарактеристика.Склад
       //               |                И СвободныеОстатки.Номенклатура = НастройкаХарактеристика.Номенклатура
       //               |                И СвободныеОстатки.Характеристика = НастройкаХарактеристика.Характеристика
       //               |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкаКонтроляОстатков КАК НастройкаНоменклатура
       //               |            ПО СвободныеОстатки.Склад = НастройкаНоменклатура.Склад
       //               |                И СвободныеОстатки.Номенклатура = НастройкаНоменклатура.Номенклатура
       //               |                И (НастройкаНоменклатура.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
       //               |                И (НастройкаХарактеристика.Склад ЕСТЬ NULL )
       //               |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкаКонтроляОстатков КАК НастройкаСклад
       //               |            ПО СвободныеОстатки.Склад = НастройкаСклад.Склад
       //               |                И (НастройкаСклад.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка))
       //               |                И (НастройкаСклад.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
       //               |                И (НастройкаХарактеристика.Склад ЕСТЬ NULL )
       //               |                И (НастройкаНоменклатура.Склад ЕСТЬ NULL )
       //               |            ЛЕВОЕ СОЕДИНЕНИЕ ВтРезервыПоГрафику КАК РезервыПоГрафику
       //               |            ПО СвободныеОстатки.Номенклатура = РезервыПоГрафику.Номенклатура
       //               |                И СвободныеОстатки.Характеристика = РезервыПоГрафику.Характеристика
       //               |                И СвободныеОстатки.Склад = РезервыПоГрафику.Склад
       //               |                И (ЕСТЬNULL(НастройкаХарактеристика.ВариантКонтроля, ЕСТЬNULL(НастройкаНоменклатура.ВариантКонтроля, НастройкаСклад.ВариантКонтроля)) = ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроля.ОстаткиСУчетомГрафика))
       //               |    ГДЕ
       //               |        (СвободныеОстатки.ВНаличииОстаток <> 0
       //               |                ИЛИ ВЫБОР
       //               |                    КОГДА ЕСТЬNULL(НастройкаХарактеристика.ВариантКонтроля, ЕСТЬNULL(НастройкаНоменклатура.ВариантКонтроля, НастройкаСклад.ВариантКонтроля)) = ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроля.ОстаткиСУчетомРезерва)
       //               |                        ТОГДА СвободныеОстатки.ВРезервеОстаток
       //               |                    КОГДА ЕСТЬNULL(НастройкаХарактеристика.ВариантКонтроля, ЕСТЬNULL(НастройкаНоменклатура.ВариантКонтроля, НастройкаСклад.ВариантКонтроля)) = ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроля.ОстаткиСУчетомГрафика)
       //               |                        ТОГДА ЕСТЬNULL(РезервыПоГрафику.Количество, 0)
       //               |                    ИНАЧЕ 0
       //               |                КОНЕЦ <> 0)
       //               |    
       //               |    ОБЪЕДИНИТЬ ВСЕ
       //               |    
       //               |    ВЫБРАТЬ
       //               |        ТоварыОрганизацийОстатки.Номенклатура,
       //               |        ТоварыОрганизацийОстатки.Характеристика,
       //               |        ТоварыОрганизацийОстатки.Склад,
       //               |        0,
       //               |        0,
       //               |        0,
       //               |        ТоварыОрганизацийОстатки.КоличествоОстаток
       //               |    ИЗ
       //               |        РегистрНакопления.ТоварыОрганизаций.Остатки(
       //               |                &ТекущаяДата,
       //               |                Номенклатура = &Номенклатура
       //               |                    И Характеристика = &ХарактеристикаНоменклатуры
       //               |                    И Склад В (&Склады)
       //               |                    И Организация = &Организация) КАК ТоварыОрганизацийОстатки) КАК ВложенныйЗапрос
       //               |
       //               |СГРУППИРОВАТЬ ПО
       //               |    ВложенныйЗапрос.Склад,
       //               |    ВложенныйЗапрос.Номенклатура,
       //               |    ВложенныйЗапрос.Характеристика";
                     
   ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                  |    ВложенныйЗапрос.Номенклатура,
                  |    ВложенныйЗапрос.Характеристика,
                  |    ВложенныйЗапрос.Склад,
                  |    СУММА(ВложенныйЗапрос.ВНаличии) КАК ВНаличии,
                  |    СУММА(ВложенныйЗапрос.Резерв) КАК Резерв,
                  |    СУММА(ВложенныйЗапрос.Свободно) КАК Свободно,
                  |    СУММА(ВложенныйЗапрос.ВНаличииПоОрганизации) КАК ВНаличииПоОрганизации
                  |ИЗ
                  |    (ВЫБРАТЬ
                  |        СвободныеОстатки.Номенклатура КАК Номенклатура,
                  |        СвободныеОстатки.Характеристика КАК Характеристика,
                  |        СвободныеОстатки.Склад КАК Склад,
                  |        СвободныеОстатки.ВНаличииОстаток КАК ВНаличии,
                  |        NULL КАК Резерв,
                  |        СвободныеОстатки.ВНаличииОстаток - СвободныеОстатки.ВРезервеОстаток КАК Свободно,
                  |        СвободныеОстатки.ВРезервеОстаток КАК ВНаличииПоОрганизации
                  |    ИЗ
                  |        РегистрНакопления.СвободныеОстатки.Остатки(
                  |                &ТекущаяДата,
                  |                Номенклатура = &Номенклатура
                  |                    И Характеристика = &ХарактеристикаНоменклатуры
                  |                    И Склад В (&Склады) {(Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика, (Склад).* КАК Склад}) КАК СвободныеОстатки
                  |    
                  |    ОБЪЕДИНИТЬ ВСЕ
                  |    
                  |    ВЫБРАТЬ
                  |        ТоварыОрганизацийОстатки.Номенклатура,
                  |        ТоварыОрганизацийОстатки.Характеристика,
                  |        ТоварыОрганизацийОстатки.Склад,
                  |        0,
                  |        0,
                  |        0,
                  |        ТоварыОрганизацийОстатки.КоличествоОстаток
                  |    ИЗ
                  |        РегистрНакопления.ТоварыОрганизаций.Остатки(
                  |                &ТекущаяДата,
                  |                Номенклатура = &Номенклатура
                  |                    И Характеристика = &ХарактеристикаНоменклатуры
                  |                    И Склад В (&Склады)
                  |                    И Организация = &Организация) КАК ТоварыОрганизацийОстатки) КАК ВложенныйЗапрос
                  |
                  |СГРУППИРОВАТЬ ПО
                  |    ВложенныйЗапрос.Склад,
                  |    ВложенныйЗапрос.Номенклатура,
                  |    ВложенныйЗапрос.Характеристика";
                     
   Возврат ТекстЗапроса;
           
КонецФункции

&НаСервере
Функция ПолучитьОстаткиТовара(Организация, Склады, Номенклатура, ХарактеристикаНОменклатуры, Период) Экспорт
   
   Запрос = Новый Запрос;
   Запрос.Текст = ПолучитьТекстЗапросаОстаткиНоменклатуры();
   
   Запрос.УстановитьПараметр("Организация", Организация);
   Запрос.УстановитьПараметр("Склады", Склады);
   Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
   Запрос.Установитьпараметр("ХарактеристикаНоменклатуры", ХарактеристикаНОменклатуры);
   Запрос.УстановитьПараметр("текущаяДата", Период);
   
   Остатки = Новый Структура;
   Остатки.Вставить("Организация", Организация);
   Остатки.Вставить("Склады", Склады);
   Остатки.Вставить("Номенклатура", Номенклатура);
   Остатки.Вставить("ХарактеристикаНоменклатуры", ХарактеристикаНоменклатуры);
   Остатки.Вставить("ВНаличии",0);
   Остатки.Вставить("Резерв", 0);
   Остатки.Вставить("Свободно", 0);
   Остатки.Вставить("ВНаличииПоОрганизации", 0);
   
   
   Выборка = Запрос.Выполнить().Выбрать();
   Если Выборка.Следующий() Тогда
       
       Остатки.ВНаличии = Выборка.ВНаличии;
       Остатки.Резерв = Выборка.Резерв;
       Остатки.Свободно = Выборка.Свободно;
       Остатки.ВНаличииПоОрганизации = Выборка.ВНаличииПоОрганизации;
       
   КонецЕсли;
   
   Возврат Остатки;    
   
КонецФункции

&наСервере
Функция ПолучитьМассивСкладов() Экспорт
   
   Склады = Новый Массив;
   
   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    Склады.Ссылка КАК Склад
                  |ИЗ
                  |    Справочник.Склады КАК Склады
                  |ГДЕ
                  |    Склады.ЭтоГруппа = ЛОЖЬ";
   Выборка = Запрос.Выполнить().Выбрать();
   Пока Выборка.Следующий() Цикл
       
       Склады.Добавить(Выборка.Склад);
               
   КонецЦикла;
   
   Возврат Склады;
   
   
КонецФункции

//-----------------------------------------------------------------------------
12 Reaper_1c
 
08.01.12
13:02
Что за кошмар? Зачем контекстный вызов сервера? Зачем в тексте запроса одновременно и прямые условия и конструкции построителя? Нафига сложение резерва с остатком по организации, которое завышает остатки?
13 Hans
 
08.01.12
13:07
(12)пока с контекстным и неконтекстным вызовом сервера не знаком. условия построителя остались из отчета, изначально запрос выдирал из отчета "анализ доступности товаров на складе". Остатки по складу не складываются с остатками по организации, идут отдельно.
14 Азат
 
08.01.12
13:19
(11) нафига ты сюда полмегабайта коментов запостил
15 Hans
 
08.01.12
13:24
(14) сначала думал это запрос тормозит, я его упростил. Оказалось не он. Этот закомментированный запрос может кому нибудь пригодится.
16 Reaper_1c
 
08.01.12
13:25
Да ну? А поле "ВНаличииПоОрганизации"?
17 Hans
 
08.01.12
13:28
(16) в структуре отдельно остаток по организации, отдельно остаток по складу, отдельно свободный остаток по складу.
18 Reaper_1c
 
08.01.12
13:33
(17) А в запросе? Сам то посмотри как оно считается.
19 Hans
 
08.01.12
13:40
(18) да что то напутал... спасибо.
20 Hans
 
08.01.12
14:57
(1) ура работает, спасибо!
21 H A D G E H O G s
 
08.01.12
15:21
(20) А че за канал - конфигурация - ПО, что такие мелочи тормозят то?
22 Hans
 
08.01.12
16:40
(21) незнаю почему тормозит, база дэмо, комп вроде нормальный. Сейчас уже после &НаСервереБезКонтекста не тормозит, все норм.
23 Hans
 
08.01.12
18:58
(6) помоему динамический список для остатков в табличной части документов не подойдет. Насколько я прочитал надо все прописывать в нескольких обработчиках.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший