Базовый курс. Финальное задание 33-го потока

Объявляем начало финала 33-го потока базового курса по программированию.

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.

Если не активировали токен — посмотрите видео-инструкцию (видео N5)

Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.

комментариев 8 на “Базовый курс. Финальное задание 33-го потока”

  1. Kolobokblinya 25.01.2015 в 23:53

    Доброго времени суток!
    Извините, предыдущий коммент был отправлен случайно!
    1. Обратная связь по пройденному курсу.
    Хвостова Анастасия, г. Воронеж.

    • Что нового Вы узнали из базового курса по программированию?
    3 и 4 блоки были абсолютно новые, но самым сложным был 2 блок. Полезное и новое было и в 1 блоке. Очень много маленьких нюансов работы с конфигуратором, которые очень ускоряют и упрощают процесс. Такое, что нигде не пишут, а зря. Сюда же относится и настройка объектов. Работа с регистрами, хранение их в БД интересные темы и очень актуальные. Если с РР работать не приходилось, то с проводками появляется осознанность в работе. Закрепила знания по запросам, очень интересной кажется эта тема. Еще я узнала, что страдаю прокрастинацией. Мне предстоит еще многое пересмотреть и просто посмотреть.
    • От каких заблуждений избавились?
    Что я ответственный человек)) Заблуждения из-за недостатка знаний механизмов работы платформы. Делала, чтобы работало, потому что по-другому не умела. Сейчас же уделяю время на какой-никакой анализ, как лучше сделать.
    • Если Вы работаете на практике с платформой «1С:Предприятие 8», то, каким образом вам удалось применить новые навыки (какие результаты были достигнуты);
    Длительное время работаю над проектом, внедряем/сопровождаем его. Часто приходится что-то дорабатывать или исправлять. И, когда появляется возможность, исправляю на более оптимальные алгоритмы. Например, записи в регистры в цикле, запросы в циклах. Сам рабочий процесс заметно ускорился. Даже если не знаешь как делать, то знаешь, где посмотреть.
    • Насколько удобен, оказался формат обучения в сравнении с очным форматом?
    Главное преимущество: время, делаешь где угодно, когда угодно, не тратишь на дорогу и пр. Если что-то непонятно, всегда можно пересмотреть урок или ДЗ.
    2. Выполнение практической задачи.
    Было сделано чуть раньше.
    3. Помощь начинающим в конфигурировании платформы.
    Фотографии вышлю на указанный адрес.

    Большое спасибо за то, что Вы делаете!

    • Dobrenko Oleg 26.01.2015 в 20:28

      Здравствуйте, Анастасия!
      Вы с Владиславом работаете в одном коллективе? :)
      Благодарим вас за обратную связь по курсу! Практическая часть тоже принята :)
      Поздравляем с окончанием базового курса по программированию!

      • Kolobokblinya 27.01.2015 в 08:36

        Да, приходится :D
        Уже нашла пару ошибок при поиске ошибок у себя))

  2. Антонина 25.01.2015 в 17:48

    Шаг1
    Знакомство с 1С началось в 2014 году с изучения бесплатных видеоуроков и учебника. Возник интерес и желание продолжить обучение на профессиональном уровне. В сравнении с полученными ранее поверхностными сведениями по 1С программированию любая тема вашего курса была для меня содержательной и интересной. Очные курсы не могут предоставить такой объем знаний за короткое время, а возможность выбора удобного времени и регулирования темпа восприятия вообще на очных курсах отсутствует. Очень ценно, что предложенный материал имеет связь с реальной практикой и может применяться в профессиональной деятельности. В связи с ограниченным временем ощутила нехватку печатных материалов с листингами и комментариями: они дали бы возможность осмысливать и запоминать материал в любое время, а не только за компьютером. Считаю, вы дали хорошую основу для начала профессиональной деятельности, что подразумевает дальнейшее совершенствование и углубление полученных знаний. Анализ всех моментов показывает, что я не ошиблась, выбрав ваши курсы. Спасибо!
    (Городюшко Антонина, город Витебск, Беларусь)

    Шаг2.Практическое задание.
    1) Настраиваем параметры запуска 1С (Сервис- параметры): Приложение выбирать автоматически.

    2) В общем модуле ПроверкаДокументовСервер поставила флажок Вызов Сервера.

    3) В модуле формы документа ПокупкаТоваров для заполнения предопределенного элемента к клиентской процедуре добавила серверную,

    &НаКлиенте
    Процедура ЗаполнитьКлиента(Команда)
    ЗаполнитьКлиентаНаСервере();
    КонецПроцедуры
    &НаСервере
    Процедура ЗаполнитьКлиентаНаСервере()
       Объект.Клиент = Справочники.Клиенты.ОсновнойПоставщик;
    КонецПроцедуры

    4) Документ ПокупкаТоваров: При нажатии на кнопку «Заполнить клиента» программа ищет ОсновногоПокупателя, а не поставщика. Решение: изменить Покупатель на Поставщик в процедуре модуля формы документа: Объект.Клиент = Справочники.Клиенты.ОсновнойПоставщик; (см.п3)

    5) Не проводится по регистру документ ПокупкаТоваров. Решение: в процедуре ОбработкаПроведения модуля объекта документа добавила строку

    Движения.ТоварыНаСкладе.Записывать = Истина;

    6) Не проводится по регистру документ ПродажаТоваров. Решение: в процедуре ОбработкаПроведения модуля объекта документа перенесла в конец процедуры строку Движения.ТоварыНаСкладе.Записывать = Истина.
    Для документа ПродажаТоваров на закладке Движения указала регистр ТоварыНаСкладе.

    7) Для учета новых записей регистра добавила параметр Момент для виртуальной таблицы РегистрНакопления.ТоварыНаСкладе.Остатки и добавила после запроса: Граница = Новый Граница(МоментВремени(), ВидГраницы.Включая);
    Запрос.УстановитьПараметр(“Момент”, Граница).

    8) Для исключения дублей запрос в параметрах виртуальной таблицы РегистрНакопления.ТоварыНаСкладе.Остатки ( ВЫБРАТЬ РАЗЛИЧНЫЕ ПродажаТоваровТовары.Товар…)

    9) Документ проводится несмотря на нехватку товара на складе. Решение: в процедуре ОбработкаПроведения добавила Отказ = Истина;

    10) Проверка на неотрицательность количества в документе ПродажаТоваров не имеет смысла, т.к. в свойствах реквизита Количество стоит флажок «Неотрицательное».

    11) Документ ПокупкаТоваров: У реквизита ТЧ Количество указан тип Строка. Заменила тип на Число(15/3).

    12) Документ ПродажаТоваров: в свойствах реквизита Серии установила Связи параметров выбора- Отбор.Владелец(Товары.Товар). Теперь выбирается только серия данного товара.

    13) Кнопка «Заполнить товары» нужна для документа ПродажаТоваров, а не для документа ПокупкаТоваров. Поэтому перенесла процедуры ЗаполнитьТовары(Команда) и ЗаполнитьТоварыНаСервере(ТекущийДокумент, ДокументОснование) в модуль формы документа ПродажаТоваров.

    14) Кнопка «Заполнить товары» не работает. Решение: в процедуре модуля формы ЗаполнитьТовары(Команда) добавила слово Ссылка в строку ВвестиЗначение(Основание, “Выберите документ-основание”, Тип (“ДокументСсылка.ПокупкаТоваров”)),
    На форме не работает тип данных ДокументОбъект: в процедуре ЗаполнитьТоварыНаСервере нужно выполнить преобразование ДокОбъект= РеквизитФормыВЗначение(«Объект») и обратно после выполнения операции ЗначениеВРеквизитФормы(ДокОбъект, «Объект»)

    15) Для просмотра Регистра установила его видимость на рабочем столе.

    Задание Виолы Григорьевны – сделать обязательным для заполнения поле НомерСерии справочника: в модуле объекта справочника создана процедура:

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

    Шаг3.Помощь миру. В качестве помощи начинающим я предложила материал по рассмотренной на курсах теме с необходимыми комментариями в том виде, в котором сама хотела бы его видеть при изучении:
    http://infostart.ru/public/325478/

    • Dobrenko Oleg 25.01.2015 в 20:15

      Антонина, благодарим вас за обратную связь!
      Финальное задание принято, поздравляем вас с успешным окончанием базового курса по программированию!

  3. Kolobokblinya 24.01.2015 в 23:48

    Доброго времени суток!
    Начну со 2 части:
    2. Выполнение практической задачи.

    1. Неверно имя предопределенного элемента справочника Клиенты “ОсновнойПоставщик”. Обращение к нему осуществляется через название “ОсновнойПокупатель”. Изменила только имя, но не синоним – для пользователя не изменится.
    2. Обращение к предопределенным элементам справочника с клиента в тонком клиенте не работает. Добавила безконтекстную серверную функцию в модуле формы:

    &НаКлиенте
    Процедура ЗаполнитьКлиента(Команда)
        Объект.Клиент = ПолучитьОсновногоПокупателя();  
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПолучитьОсновногоПокупателя()
        Возврат Справочники.Клиенты.ОсновнойПокупатель; 
    КонецФункции

    3. Для общего модуля ПроверкаДокументовСервер не было установлено свойство Вызов сервера.
    4. У реквизита Количество ТЧ Товары документов Покупки и продажи и РН ТоварыНаСкладе были разные типы. Установила везде Число(15,3) (свойство “неотрицательный” сохранила какое было у всех).
    5. В процедуре ПроверитьДокумент используется Предупреждение, которая не применима на сервере. Вообще при существующем функционале результат запроса всегда будет пустым, так как у реквизита Количество стоит свойство неотрицательный. Необходимо снять это свойство и использовать Сообщить() или СообщениеПользователю. Есть еще две проблемы:
    а. сейчас, если документ не записан, то передается пустая ссылка, соответственно процедура не отработает;
    б. если документ записан, но был изменен, то проверяется ТЧ сохраненного документа. То есть проверка бессмысленна.
    Решение: убираем свойство неотрицательный, проверку делаем на клиенте в модуле формы обходом ТЧ:

    &НаКлиенте
    Функция ПроверкаТЧДокумента()
       
        ОшибкиЕсть = Ложь;   
        Для каждого Строка Из Объект.Товары Цикл
           
            Если Строка.Количество < 0 Тогда
               
                Сообщение = Новый СообщениеПользователю;
                Сообщение.Текст = "Количество не может быть отрицательным!";
                Сообщение.Поле = "Объект.Товары["+(Строка.НомерСтроки-1)+"].Количество";
                Сообщение.УстановитьДанные(Объект);
                Сообщение.Сообщить();
                ОшибкиЕсть = Истина;
            КонецЕсли;
           
        КонецЦикла;  
        Возврат ОшибкиЕсть;
       
    КонецФункции

    Второе, более координальное решение, устанавливаем свойство “неотрицательный” у реквизита Количество ТЧ Товары документов, тогда Проверка совсем не нужна, что немного противоречит описанию, в котором, с другой стороны, не сказано, какая именно проверка выполняется. Но если мы снимаем флаг “Неотрицательный”, то это тоже немного всему противоречит.
    6.Документ ПродажаТоваров не был указан в качестве регистратора РН.
    7. У реквизита Серия ТЧ Товары документа ПродажаТоваров не установлено свойство Связи параметров выбора Отбор по владельцу.
    8. Не ошибка, но длина наименования справочников Товары и Клиенты установлена 25 и кажется, что это мало.
    9. При использовании ВвестиЗначение неверно указан параметр Тип. Необходимо:

    ВвестиЗначение(Основание, "Выберите документ-основание", Тип("ДокументСсылка.ПокупкаТоваров"));

    10. При проведении документа ПродажаТоваров не хватает установки свойства:

     Движения.ТоварыНаСкладе.Записывать = Истина.

    11. Проведение документа ПродажаТоваров реализовано неверно, а именно:
    а. Движения не удаляются при перепроведении, необходимо либо удалять явно, либо установить свойство “Удалять автоматически”.
    б. Соединение должно быть левым, товар может быть новым, отсюда и нет учета NULL для остатков.
    в. необходимо строки сгруппировать по товару прежде, чем проводить, при выводе сообщения пользователю неверно указано поле. Возможно деление на 0.
    Таким образом, обработка проведения должна быть следующей:

    Запрос = Новый Запрос;
        Запрос.Текст =  
        "ВЫБРАТЬ
        |   ВЗ_ТоварыДок.НомерСтроки,
        |   ВЗ_ТоварыДок.Товар,
        |   ВЗ_ТоварыДок.Серия,
        |   ВЗ_ТоварыДок.КолДок,
        |   ВЗ_ТоварыДок.Сумма,
        |   ЕСТЬNULL(ТоварыНаСкладеОстатки.КоличествоОстаток, 0) КАК КолОст,
        |   ЕСТЬNULL(ТоварыНаСкладеОстатки.СуммаОстаток, 0) КАК СумОст
        |ИЗ
        |   (ВЫБРАТЬ
        |       МИНИМУМ(ПродажаТоваровТовары.НомерСтроки) КАК НомерСтроки,
        |       ПродажаТоваровТовары.Товар КАК Товар,
        |       ПродажаТоваровТовары.Серия КАК Серия,
        |       СУММА(ПродажаТоваровТовары.Количество) КАК КолДок,
        |       СУММА(ПродажаТоваровТовары.Сумма) КАК Сумма
        |   ИЗ
        |       Документ.ПродажаТоваров.Товары КАК ПродажаТоваровТовары
        |   ГДЕ
        |       ПродажаТоваровТовары.Ссылка = &Ссылка
        |  
        |   СГРУППИРОВАТЬ ПО
        |       ПродажаТоваровТовары.Товар,
        |       ПродажаТоваровТовары.Серия) КАК ВЗ_ТоварыДок
        |       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладе.Остатки КАК ТоварыНаСкладеОстатки
        |       ПО ВЗ_ТоварыДок.Товар = ТоварыНаСкладеОстатки.Товар
        |           И ВЗ_ТоварыДок.Серия = ТоварыНаСкладеОстатки.Серия";
       
        Запрос.УстановитьПараметр("Ссылка", Ссылка);   
        Результат = Запрос.Выполнить();
       
        ВыборкаТовары = Результат.Выбрать();
       
        Пока ВыборкаТовары.Следующий() Цикл
           
            Недостача = ВыборкаТовары.КолДок - ВыборкаТовары.КолОст;
           
            Если Недостача > 0 Тогда
               
                Сообщение = Новый СообщениеПользователю;
                Сообщение.Текст = "Недостаточно товара "+ВыборкаТовары.Товар+" в количестве "+Недостача;
                Сообщение.Поле = "Товары["+(ВыборкаТовары.НомерСтроки -1)+"].Количество";
                Сообщение.УстановитьДанные(ЭтотОбъект);
                Сообщение.Сообщить();
                Отказ = Истина;
               
            Иначе
               
                Запись = Движения.ТоварыНаСкладе.ДобавитьРасход();
                Запись.Период = Дата;
                Запись.Товар = ВыборкаТовары.Товар;
                Запись.Серия = ВыборкаТовары.Серия;
                Запись.Количество = ВыборкаТовары.КолДок;
                Запись.Сумма = ?(ВыборкаТовары.КолОст = 0, 0, ВыборкаТовары.СумОст*Запись.Количество/ВыборкаТовары.КолОст);
               
            КонецЕсли;
           
        КонецЦикла;
       
        Движения.ТоварыНаСкладе.Записывать = НЕ Отказ;

    Здесь есть еще один нюанс. Если оставить возможность указывать неотрицательное количество, то перед проведением нужно вызывать ПроверкуДокумента, сделать это можно в обработчике формы ПередЗаписью:

    &НаКлиенте
    Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
       
        Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
           
            Отказ = ПроверкаТЧДокумента();
           
        КонецЕсли;
       
    КонецПроцедуры

    Документ с отриц кол-вом записаться может, а провести его невозможно. Только потом уже подумала, что при проведении из формы списка, такие документы можно провести. Как вариант, устанавливать условие:

    &НаКлиенте
    Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
       
        Если Объект.Проведен ИЛИ ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
           
            Отказ = ПроверкаТЧДокумента();
           
        КонецЕсли;
       
    КонецПроцедуры

    В этом случае документ даже не запишется, пока ошибка не будет исправлена. В этом случае это компромисс с первоначальными настройками и описанием функционала: сохранить док с отриц кол-вом мы не может (равносильно св-ву “Неотрицательный”), при этом ПроверкаДокумента имеет смысл.
    2 вариант решения: сделать проверку в модуле объекта и вызывать ее при проведении тоже.
    12. В модуле формы документа “ПокупкаТоваров” неправильно реализована заполнение ТЧ Товары из документа основания. ДанныеФормы не изменяются.
    Решение: передаем в процедуру, уже серверную, только основание, затем в помощью РеквизитФормыВЗначение/ЗначениеВРеквизитФормы вызываем процедуру экспортную из модуля объекта ЗаполнитьНаОсновании, где и загружаем Товары. В этом случае не будет ошибки, если документ не записан. Если в качестве основания выбрать сам документ, то все отработает корректно, загрузятся последние сохраненные данные.
    13. При заполнении на основании нужно проверять, что

    Если НЕ Основание = Неопределено Тогда

    Иначе, если закрыть окно без выбора документа при проверки на пустоту возникает ошибка.
    14. Крайне неудобно, что РН не выведен на рабочий стол.
    15. При проведении документа ПродажаТоваров стоит использовать запрос к ТЧ для устранения дублей строк, уже потом делать движения.

    Для запрета записи серии в модуле объекта в обработчике “Перед записью” установила

    Отказ = НЕ ЗначениеЗаполнено(Код);
  4. Николай 23.01.2015 в 11:27

    Тюрин Николай Викторович, г. Челябинск, Системный администратор ООО “ЮжУралБТИ”
    ШАГ 1
    1. Что нового Вы узнали из базового курса по программированию?
    Работаю системным администратором и с программированием 1с не так часто сталкивался. Так что, во всех темах было что-то новое и интересное
    – работа с управляемыми формами, СКД;
    – работа с регистрами;
    – принципы БУ и периодических расчетов.
    – работа с отладчиком;
    – просмотр данных в табло;
    – работа с запросами;
    – автоматизация управленческого учета;
    – особенности проведения документов;
    – контроль корректности введенных данных;…
    2. От каких заблуждений избавились?
    Конфигурить на платформе 1С Предприятие 8 это очень сложно.
    3. Если Вы работаете на практике с платформой «1С:Предприятие 8», то, каким образом вам удалось применить новые навыки (какие результаты были достигнуты);
    Пока не работаю.
    4. Если Вы пока не работаете реальных проектах по внедрению решений на “1С:Предприятии 8”, то, что оказалось неожиданным из материалов курса?
    Все было новое и можно сказать неожиданное.
    5. Насколько удобен, оказался формат обучения в сравнении с очным форматом?
    Формат обучения просто замечательный:
    – удобный график, можно выбирать время для просмотра видео уроков;
    – занятия без отрыва от производства;
    – возможность сделать паузу и выпить чашечку кофе; )
    – возможность повторного прохождения плохо понятных тем;
    – остаются видео уроки и к ним всегда можно вернуться. Со временем что-то забывается, а так можно освежить знания;
    – раскрытие тем более полное и систематизированное;
    – затраты на обучение меньше, а эффективность больше…
    Курс очень хороший! Спасибо!

    ШАГ 2
    /// Документ ПродажаТоваров ///
    1. Документ ПродажаТоваров не был указан регистратором. Выставил в свойствах объекта на вкладке Движения;
    2. В табличной части документа ПродажаТоваров при выборе Серия открывается окно выбора со всеми сериями и с теми, которые не относятся к данному товару, т.е не было привязки Серии к Товарам. Выход: у реквизита Серия табличной части ПродажаТоваров — Связи параметров выбора: Отбор.Владелец(Товары.Товар);
    3. ОбработкаПроведения:
    3.1 В запросе поменять «Внутреннее соединение» на «Левое соединение»;
    3.2 Для КолОст и СумОст нет проверки ЕСТЬNULL;
    3.3 В запросе надо сделать условие на документ ПродажаТоваровТовары.Ссылка = &Ссылка;
    3.4 В запросе указать параметр «МоментВремени»;
    3.5 Чтобы документ «Продажа товаров» не проводился при нехватке товаров, надо ставить отказ = Истина;
    3.6 Нет привязки к полю Количества для вывода сообщения о нехватке товара;
    3.7 При расчете Суммы в формуле нет проверки деления на 0;
    3.8 Для того, чтобы при повторном проведении не учитывались движения при повторном проведении по данному документу нужно: Движения.ТоварыНаСкладе.Очистить();
    Движения.ТоварыНаСкладе.Записать();

    /// Документ ПокупкаТоваров ///
    4. Документ ПокупкаТоваров не формирует движения. В МО Процедура ОбработкаПроведения дописал

    Движения.ТоварыНаСкладе.Записывать = Истина;
    5. Команда ЗаполнитьКлиента, процедура написана НаКлиенте (необходимо использовать серверный вызов) и в Справочнике Клиенты нет предопределенного элемента ОсновнойПокупатель. В справочник добавил предопределнный элемент ОсновнойПокупатель и в МФ документа ПокупкаТоваров поправил код

    &НаКлиенте
    Процедура ЗаполнитьКлиента(Команда)
    КлиентНаСервере();
    КонецПроцедуры

    &НаСервере
    Процедура КлиентНаСервере()
    Объект.Клиент = Справочники.Клиенты.ОсновнойПокупатель;
    КонецПроцедуры
    6. В процедуре МФ «ЗаполнитьТовары(Команда)» не правильно указан Тип(«Документ.ПокупкаТоваров») — должен быть Тип(«ДокументСсылка.ПокупкаТоваров»);
    7. Процедура «ЗаполнитьТовары(Команда)», не правильная проверка на Основание в функции «ВвестиЗначение». При отказе от выбора переменная Основание — Неопределено, что приведет к ошибке. Надо функцию «ВвестиЗначение» вставить в блок «Если», т.е. Заменил «НЕ Основание.Пустая()» на «ВвестиЗначение(Основание, «Выберите документ-основание», Тип(«ДокументСсылка.ПокупкаТоваров»))»
    8. «ЗаполнитьТоварыНаСервере(ДокументОснование)» изменил компиляцию с &НаСервереБезКонтекста на &НаСервере, т.к. при компиляции &НаСервереБезКонтекста – при вызове этих методов не выполняется передача данных формы. И не нужно передавать «Объект».
    Было раньше

    &НаСервереБезКонтекста
    Процедура ЗаполнитьТоварыНаСервере(ТекущийДокумент, ДокументОснование)
    Объект = ТекущийДокумент.ПолучитьОбъект();
    Объект.Товары.Загрузить(ДокументОснование.Товары);
    ТекущийДокумент.Товары.Загрузить(ДокументОснование.Товары);
    КонецПроцедуры // ЗаполнитьТоварыНаСервере()
    Изменил на

    &НаСервере
    Процедура ЗаполнитьТоварыНаСервере(ДокументОснование)
    Объект.Товары.Загрузить(ДокументОснование.Товары.ВЫГРУЗИТЬ())
    КонецПроцедуры
    9. В табличной части документа ПокупкаТоваров у реквизита «Количество» тип данных «Строка», с длиной 10. Изменил тип на «Число», длина 15, точность 3;

    /// Общий модуль ПроверкаДокументовСервер ///
    10. У общего модуля ПроверкаДокументовСервер не установлен флажок «Вызов сервера»;
    11. В процедуре общего серверного модуля использовано «Предупреждение», доступное в контексте клиента. Заменил его на «Сообщить»;

    /// Справочник Серии ///
    12. По просьбе Виолы Григорьвны сделал поле «Номер серии» обязательным для заполнения. В стандартных реквизитах у данного справочника, реквизит «Код» (Синоним — «Номер серии») установил свойство проверки заполнения — «Выдавать ошибку»;

    /// Регистр накопления ТоварыНаСкладе ///
    13. Ресурс «Количество» Тип — Число, Длина — 15, Точность — 2. Привёл к общей размерности, т.е. изменил Точность на — 3

    Шаг 3
    Отправил фото-отчет по мини-семинару. Не знаю подойдет? Штат в нашем IT отделе не большой, да и по времени не уложился. Продолжительность 35-40 минут — были дискуссии. :)

    • Dobrenko Oleg 25.01.2015 в 20:13

      Николай, благодарим вас за развернутый отзыв!
      Финальное задание принято. Поздравляем, вы в галерее финалистов!